环境情况
[root@k8s-master-1 flannel]# kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master-1 Ready control-plane 168m v1.24.1 172.16.16.108 <none> CentOS Linux 7 (Core) 5.19.8-1.el7.elrepo.x86_64 containerd://1.6.8
k8s-node-1 Ready <none> 168m v1.24.1 172.16.16.109 <none> CentOS Linux 7 (Core) 5.19.8-1.el7.elrepo.x86_64 containerd://1.6.8
k8s-node-2 Ready <none> 168m v1.24.1 172.16.16.110 <none> CentOS Linux 7 (Core) 5.19.8-1.el7.elrepo.x86_64 containerd://1.6.8
# 修改 flannel
cd /data/yaml/kube-flannel/
cp kube-flannel.yml kube-flannel.yml.ori
kubectl delete -f kube-flannel.yml
vi kube-flannel.yml
把 "Network": "192.168.0.0/16",
改成 "Network": "10.244.0.0/16",
kubectl apply -f kube-flannel.yml
# 修改 kubeadm-config
kubectl -n kube-system edit cm kubeadm-config
把 podSubnet: 192.168.0.0/16
改成 podSubnet: 10.244.0.0/16
# 修改 kube-controller-manager
vi /etc/kubernetes/manifests/kube-controller-manager.yaml
把 - --cluster-cidr=192.168.0.0/16
改成 - --cluster-cidr=10.244.0.0/16
# 修改 kube-proxy
kubectl edit cm kube-proxy -n kube-system
把 clusterCIDR: 192.168.0.0/16
改成 clusterCIDR: 10.244.0.0/16
# 导出 node 配置,并修改
kubectl get nodes k8s-master-1 -o yaml > k8s-master-1.yaml
kubectl get nodes k8s-node-1 -o yaml > k8s-node-1.yaml
kubectl get nodes k8s-node-2 -o yaml > k8s-node-2.yaml
sed -i 's#192.168#10.244#g' k8s-master-1.yaml
sed -i 's#192.168#10.244#g' k8s-node-1.yaml
sed -i 's#192.168#10.244#g' k8s-node-2.yaml
kubectl delete nodes k8s-master-1
kubectl delete nodes k8s-node-1
kubectl delete nodes k8s-node-2
kubectl apply -f k8s-master-1.yaml -f k8s-node-1.yaml -f k8s-node-2.yaml
# 重启所有节点的 kubelet
systemctl restart kubelet