是否可以更改service-cluster-ip-range?

时间:2019-06-17 12:09:43

标签: kubernetes

我已经用尽了免费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)都已保留。即使在重新启动完整集群后(无论尝试如何),新旧服务都可以工作。

2 个答案:

答案 0 :(得分:0)

是的,可以为服务CIDR设置自定义IP范围。您完成的步骤是正确的。我知道很少有人尝试过这些选项,并且正在使用自定义IP范围。

答案 1 :(得分:0)

基于此github issue和其他我可以找到的资源。另一个来自Calico documentation。这是Docker EE的detailed instruction,但我认为它会有所帮助。

所以是可能的,真正的问题是什么将停止工作(持续多长时间?)以及您可以承受多少停机时间。 Internet上有关重新创建群集的建议中有很多答案,如果可能,我可能会听取该建议。似乎要添加新的CIDR然后停用旧的CIDR。

如果这不可能,那么您可以尝试创建另一个测试集群,然后尝试在其中进行此更改,以查看可能出了什么问题。还要记住要重新创建群集中存在的节点(缩小为0,以便重新创建计算机)。