首页 > 解决方案 > 如何更改 Kubernetes 节点 cidr?

问题描述

集群的 CIDR 为 10.100.32.0/22,但主节点和工作节点的 CIDR 为 172.168.0.0/24

我尝试用 更改每个节点的 CIDR kubectl edit node node_name,但 vim 只保存一个临时 YAML 文件。

我也尝试过申请,但似乎没有用。

我也尝试使用 kubectl patch 命令,但这似乎也不起作用,返回:

节点“node_name”无效:spec.podCIDRs:禁止:节点更新可能不会将 podCIDR 从“”更改为有效

当我检查kube-controller-manager日志(具有 CrashLoopBackOff 状态)时,它们显示:

错误启动“nodeipam”错误启动控制器:未能将 idx [0] 处的 cidr[172.168.10.0/24] 标记为节点占用:node_name: cidr 172.168.10.0/24 超出集群 cidr 10.100.32.0/22 的范围

任何建议都会有所帮助,谢谢。

标签: kubernetescidr

解决方案


是的,出于安全目的,该字段是只读的。您必须从头开始重新初始化节点。一般来说,即时更改节点 IP 非常冒险,我只会创建一个新的。


推荐阅读