K8S fannel 修改 Pod 地址范围

环境情况

[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
posted @ 2023-05-18 18:01  klvchen  阅读(170)  评论(0)    收藏  举报