背景:master主节点IP地址发生变化时,需要进行kubernetes集群环境重置

一、基础环境调整
1. 环境部署总览

以前

ip地址 类型 操作系统 服务配置
192.168.122.132 Master Centos7.6 2核CPU 2G内存 20G硬盘
192.168.122.133 node1 Centos7.6 2核CPU 2G内存 20G硬盘
192.168.122.134 node2 Centos7.6 2核CPU 2G内存 20G硬盘

现在

ip地址 类型 操作系统 服务配置
192.168.122.135 Master Centos7.6 2核CPU 2G内存 20G硬盘
192.168.122.133 node1 Centos7.6 2核CPU 2G内存 20G硬盘
192.168.122.134 node2 Centos7.6 2核CPU 2G内存 20G硬盘
2. 修改hosts文件
vi /etc/hosts
192.168.122.135  master
192.168.122.133  node1
192.168.122.134  node2

在这里插入图片描述

3. 执行重置

.需要在每台节点执行 kubeadm reset

kubeadm reset

在这里插入图片描述

4. 删除$HOME/.kube

在主节点 执行 rm -rf $HOME/.kube

rm -rf $HOME/.kube

在这里插入图片描述

二、集群初始化
2.1. 配置初始化

只需要在master节点上执行即可

kubeadm init \
--kubernetes-version=v1.17.4 \
--pod-network-cidr=10.244.0.0/16 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.96.0.0/12 \
--apiserver-advertise-address=192.168.122.135

在这里插入图片描述

注意:–image-repository 需要更改为阿里云加速镜像
–apiserver-advertise-address=192.168.122.132 修改为自己的 master的ip。
初始化大概需要花费1分钟左右
查看日志

journalctl -xeu kubelet

备份等会用:

kubeadm join 192.168.122.135:6443 --token qyntd9.mqxmjvwlzg0nsxo6 \
    --discovery-token-ca-cert-hash sha256:aed10b6c2d2b05e50f7f3b71232e1f4b9595fb547dea53fb3c1c5ff2a8be9f94
2.2. 创建必要文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

在这里插入图片描述

2.3. 加入集群

拷贝该到其他两个节点执行 加入 k8s集群环境
只需要在node1和node2二哥工作节点依次执行,master

kubeadm join 192.168.122.135:6443 --token qyntd9.mqxmjvwlzg0nsxo6 \
    --discovery-token-ca-cert-hash sha256:aed10b6c2d2b05e50f7f3b71232e1f4b9595fb547dea53fb3c1c5ff2a8be9f94

node1
在这里插入图片描述

node2
在这里插入图片描述

2.4. 执行获取节点信息

kubectl get nodes
master节点执行以下命令(其他工作节点没有安装此命令)

kubectl get nodes

在这里插入图片描述

如果还是都是为 notready状态
则需要修改 每台节点的/var/lib/kubelet/kubeadm-flags.env文件删除--network-plugin=cni属性

vi /var/lib/kubelet/kubeadm-flags.env

删除前
在这里插入图片描述
删除后
在这里插入图片描述

2.5. 重新启动

则需要修改 每台节点的

systemctl daemon-reload
systemctl restart kubelet

在这里插入图片描述

2.6. 验证状态

查看状态 是否为 ready状态

kubectl get nodes

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐