文章目录
实验环境
完成集群初始化的集群1、集群2
集群1:
(vms21)192.168.26.21——master1
(vms22)192.168.26.22——worker1-1
(vms23)192.168.26.23——worker1-2
集群2:
(vms61)192.168.26.61——master2
(vms62)192.168.26.62——worker2-1
一、查看集群配置信息
老版本中可以使用kubeadm config view
查看,但是现在已经废弃了
现版本中查看集群配置信息
kubectl get cm kubeadm-config -o yaml -n kube-system
podSubnet——pod网段
serviceSubnet——service-svc网段
imageRepository——镜像源
kubernetesVersion——k8s版本号
…
二、查看各节点所使用的runtime是什么
kubectl get nodes -o wide
三、集群缩容
集群中删除某个worker节点
#先清除这个节点上的pod(安全驱逐节点上面所有的 pod)
kubectl drain [节点名] --ignore-daemonsets
#执行后节点STATUS变为Ready,SchedulingDisabled
#删除节点
kubectl delete nodes [节点名]
四、集群扩容
新增节点到集群
#1.获取加入集群的命令
kubeadm token create --print-join-command
#2.将生成类似如下命令,复制并输入执行
kubeadm join 192.168.26.21:6443 --token [xxx...]\--discovery-token-ca-cert-hash sha256:[xxx...]
#若命令执行过程中遇到某个报错了(例如对于曾经加入过集群的节点,现已经删除了,再次加入集群会报错),将报错解决后,这时直接执行加入集群的命令会报错,需要输入kubeadm reset恢复出厂设置(只需在当前节点机器上reset),然后再重新输入命令加入集群
kubeadm reset
五、恢复出厂设置reset、重新初始化集群
kubeadm reset
注意点:
1.各个worker节点在加入集群时报错,可以在该节点机器上reset一下,再去加入集群
2.master上reset后,需要重新初始化集群、重新安装calico
若master上执行了reset操作,进行重新初始化集群,初始化好之后,查看各节点STATUS虽然为Ready,但是也需要重新安装calico(正常情况下,没有安装calico时,STATUS为NotReady)
——因为master上reset之后,整个calico环境也被重置了,但是calico的历史文件并没有被删除,仍保留在 /etc/cni/net.d/*
若将 /etc/cni/net.d/下的文件删除(只删除里面的文件,不删除该目录)rm -rf /etc/cni/net.d/*
,STATUS就会变为NotReady,重新安装calico后,会再次生成这些文件
实验:删除集群中所有节点,并重新初始化集群
#1.对所有节点drain操作
kubectl drain vms21.rhce.cc --ignore-daemonsets
kubectl drain vms22.rhce.cc --ignore-daemonsets
kubectl drain vms23.rhce.cc --ignore-daemonsets
#2.删除所有节点
kubectl delete nodes vms21.rhce.cc
kubectl delete nodes vms22.rhce.cc
kubectl delete nodes vms23.rhce.cc
#3.此时,若直接初始化会报错,需要先在master上reset
kubeadm reset
#4.删除旧的/root/.kube/config文件
rm -rf /root/.kube/config
#5.master上初始化集群,设置pod网段为10.244.0.0/16
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.24.2 --pod-network-cidr=10.244.0.0/16
#6.创建.kube/config认证文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
#7.各worker节点上reset之后,再加入集群
kubeadm reset
kubeadm join 192.168.26.21:64