我已经用尽了免费IP,无法在测试群集中使用服务,并且我想将service-cluster-ip-range更改为新的CIDR。我想知道它是否受支持以及如何执行。
运行K8s 1.12.3,CoreDNS和Calico
在调查此问题期间,我发现没有任何官方文档可以提供帮助。
我为kube-apiserver和kube-controller-manager修改了--service-cluster-ip-range,以匹配新范围。
然后我在所有主服务器上重新启动了kube-apiserver kube-controller-manager kube-scheduler并添加了新服务
似乎新服务是使用新范围创建的,并且所有旧服务(包括群集IP)都已保留。即使在重新启动完整集群后(无论尝试如何),新旧服务都可以工作。
答案 0 :(得分:0)
是的,可以为服务CIDR设置自定义IP范围。您完成的步骤是正确的。我知道很少有人尝试过这些选项,并且正在使用自定义IP范围。
答案 1 :(得分:0)
基于此github issue和其他我可以找到的资源。另一个来自Calico documentation。这是Docker EE的detailed instruction,但我认为它会有所帮助。
所以是可能的,真正的问题是什么将停止工作(持续多长时间?)以及您可以承受多少停机时间。 Internet上有关重新创建群集的建议中有很多答案,如果可能,我可能会听取该建议。似乎要添加新的CIDR然后停用旧的CIDR。
如果这不可能,那么您可以尝试创建另一个测试集群,然后尝试在其中进行此更改,以查看可能出了什么问题。还要记住要重新创建群集中存在的节点(缩小为0,以便重新创建计算机)。