阿里云CentOS7安装K8S
2022/3/27 7:25:48
本文主要是介绍阿里云CentOS7安装K8S,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 在阿里云山申请三台云服务器
1.1 环境准备
完成配置后的信息
服务器IP | 操作系统 | CPU | 内存 | 硬盘 | 主机名 | 节点角色 |
---|---|---|---|---|---|---|
172.18.119.145 | centos7 | 2 | 4G | 50G | k8s-master | master |
172.18.119.150 | centos7 | 2 | 4G | 50G | k8s-node-01 | node |
172.18.119.151 | centos7 | 2 | 4G | 50G | k8s-node-02 | node |
1.2 设置主机名称
#master hostnamectl set-hostname k8s-master #node01 hostnamectl set-hostname k8s-node01 #node02 hostnamectl set-hostname k8s-node02
1.3 关闭防火墙
systemctl disable firewalled systemctl stop firewalled
1.4 关闭Selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
1.5 关闭交换空间
swapoff -a cp /etc/fstab /etc/fstab_bak cat /etc/fstab_bak |grep -v swap > /etc/fstab
1.6 配置 sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" >>/etc/sysctl.conf echo "net.bridge.bridge-nf-call-iptables = 1" >>/etc/sysctl.conf echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf echo "net.ipv4.ip_nonlocal_bind = 1" >>/etc/sysctl.conf sysctl -p
2. 安装docker
所有节点都必须安装docker
2.1 配置aliyun的 docker yum源
yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.2 开始安装
yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7 systemctl enable docker systemctl start docker docker -v // 输出 Docker version 18.09.7, build 2d0083d
3. 安装Kubelet Kubeadm Kubectl
所有节点都要安装 Kubelet 、Kubeadm、Kubectl
3.1 配置 Kubernetes yum 源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
3.2 开始安装
yum remove -y kubelet kubeadm kubectl // 阿里镜像当前是这个版本 yum install -y kebulet--1.17.2 kubeadm-1.17.2 kubectl-1.17.2
4. 部署K8S集群
4.1 部署master节点
4.1.1 配置kubeadm-config.yaml
cat <<EOF > /root/kubeadm-config.yaml apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration kubernetesVersion: v1.17.2 imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers controlPlaneEndpoint: "172.18.119.145:6443" networking: serviceSubnet: "10.96.0.0/16" podSubnet: "10.100.0.0/20" dnsDomain: "cluster.local" EOF
4.1.2 拉取镜像
kubeadmin config images pull --config /root/kubeadm-config.yaml
4.1.3 初始化Master, 并记录日志,里面的token很重要
kubeadm init --config=kubeadm-config.yaml |tee kubeadm_init.log
4.1.4 配置Master认证权限
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
4.1.5 安装 CNI 插件 Calico
cd /root rm -f calico.yaml wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml sed -i 's/192.168.0.0/16/10.100.0.0/20/g' calico.yaml kubectl apply -f calico.yaml # 这里是配置CALICO_IPV4POOL_CIDR,即Pods 所在的 IP 段
4.2 部署 Node 节点
4.2.1 拉取镜像
# 在master节点执行 复制 master 节点的 kubeadm-config.yaml 到所有 node 节点 rsync -avP /root/kubeadm-config.yaml 172.18.119.150:/root/ rsync -avP /root/kubeadm-config.yaml 172.18.119.151:/root/ # 在Node 节点执行,拉取镜像 kubeadmin config images pull --config /root/kubeadm-config.yaml
4.3.2 初始化Node
在子节点执行以下命令(从master节点里的 kubeadm_init.log中复制出最后一行)
kubeadm join 172.18.119.145:6443 --token vb2046.9zcbi5g1cxbwb0zx --discovery-token-ca-cert-hash sha256:da2f4b5c4ed8586c3ea7ad3a8054f0be6ccc328ceccc91aba3860b007394c666
4.3.2 补充
如果初始化master时创建的token已经过期,需要重新创建token和获取ca证书sha256编码hash值,然后再初始化node节点
# 先在 Master 节点执行 kubeadm token create --print-join-command // 输出 kubeadm join 172.18.119.145:6443 --token xofceq.lqdfk5rt65tvgnqg --discovery-token-ca-cert-hash sha256:da2f4b5c4ed8586c3ea7ad3a8054f0be6ccc328ceccc91aba3860b007394c666 # 然后到Node节点中执行上述的输出 kubeadm join 172.18.119.145:6443 --token xofceq.lqdfk5rt65tvgnqg --discovery-token-ca-cert-hash sha256:da2f4b5c4ed8586c3ea7ad3a8054f0be6ccc328ceccc91aba3860b007394c666
4.4 查看集群状态,当STATUS都为Ready时,集群搭建完成
kubectl get nodes # 输出 NAME STATUS ROLES AGE VERSION k8s-master Ready master 5d20h v1.17.2 k8s-node-01 Ready <none> 5d20h v1.17.2 k8s-node-02 Ready <none> 5d20h v1.17.2
这篇关于阿里云CentOS7安装K8S的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23云原生周刊:利用 eBPF 增强 K8s
- 2024-12-20/kubernetes 1.32版本更新解读:新特性和变化一目了然
- 2024-12-19拒绝 Helm? 如何在 K8s 上部署 KRaft 模式 Kafka 集群?
- 2024-12-16云原生周刊:Kubernetes v1.32 正式发布
- 2024-12-13Kubernetes上运行Minecraft:打造开发者平台的例子
- 2024-12-12深入 Kubernetes 的健康奥秘:探针(Probe)究竟有多强?
- 2024-12-10运维实战:K8s 上的 Doris 高可用集群最佳实践
- 2024-12-022024年最好用的十大Kubernetes工具
- 2024-12-02OPA守门人:Kubernetes集群策略编写指南
- 2024-11-26云原生周刊:K8s 严重漏洞