我使用kubeadm
初始化我的K8主设备。但是,我错过了与绒布一起使用的--pod-network-cidr=10.244.0.0/16
标志。有没有一种方法(或配置文件)可以修改以反映该子网,而无需再次执行重新初始化过程?
使用IP源范围10.244.0.0/16
覆盖所有k8s节点资源上的PodCIDR参数>
$ kubectl edit nodes nodename
用新的网络IP范围替换相关Flannel ConfigMap中net-conf.json标头下的“ Network”字段:
$ kubectl edit cm kube-flannel-cfg -n kube-system net-conf.json: | { "Network": "10.244.0.0/16", "Backend": { "Type": "vxlan" } }
擦除当前的CNI网络接口以保留旧的网络池:
$ sudo ip link del cni0; sudo ip link del flannel.1
分别重新生成Flannel和CoreDNS Pod:
$ kubectl delete pod --selector=app=flannel -n kube-system $ kubectl delete pod --selector=k8s-app=kube-dns -n kube-system
等待,直到CoreDNS Pod从新的网络池获取IP地址。请记住,除非您也手动重新创建它们,否则自定义Pod仍将旧IP地址保留在容器中]