k8s集群初始化后修改 pod cidr 支持 CNI 组件
集群初始化时如果没有指定--pod-network-cidr参数,之后又要安装CNI,就需要修改pod的cidr。错误信息具体表现为:kubectl apply -f flannal.yaml之后,发现flannal的pod一直失败重启,退出的日志为:Error registering network: failed to acquire lease: node "vb-n2" pod cidr
·
集群初始化时如果没有指定--pod-network-cidr参数,之后又要安装CNI,就需要修改pod的cidr。
错误信息具体表现为:
kubectl apply -f flannal.yaml 之后,发现flannal的pod一直失败重启,退出的日志为:
Error registering network: failed to acquire lease: node "vb-n2" pod cidr not assigned
这是因为flannal的编排中会指定分配给pod使用的cidr,而如果集群设置与之不符,则会报错。
flannal编排设置如下:
解决方案:
1、修改集群配置
kubectl edit cm kubeadm-config -n kube-system
在networking下添加配置 podSubnet: cidr 此处cidr需要与插件内指定的网段一致。
2、修改静态pod kube-controller-manager配置
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
添加启动参数如下:
- --allocate-node-cidrs=true
- --cluster-cidr=10.244.0.0/16
此处指定后,controller-manger会为集群下的每一个node分配一个子网段,体现在 kubectl get node node1-cluster -o yaml | grep -i cidr
3、如果有安装kube-proxy,需要修改其配置:
kube-proxy --cluster-cidr
更多推荐
已为社区贡献1条内容
所有评论(0)