【问题标题】:Is it possible to change service-cluster-ip-range?是否可以更改 service-cluster-ip-range?
【发布时间】:2019-10-31 00:43:35
【问题描述】:

我的测试集群中的服务的免费 IP 用完了,我想将 service-cluster-ip-range 更改为新的 CIDR。我想知道它是否受支持以及如何做到这一点。

运行 K8s 1.12.3、CoreDNS 和 Calico

在我调查这个问题的过程中,我没有发现可以提供任何帮助的官方文档。

我为 kube-apiserver 和 kube-controller-manager 修改了 --service-cluster-ip-range 以匹配新范围。

然后我在所有 master 上重新启动 kube-apiserver kube-controller-manager kube-scheduler 并添加了一个新服务

似乎新服务是使用新范围创建的,所有旧服务,包括集群 IP 都被保留了。新旧服务都可以正常工作,即使在 att 全集群重启后(只是为了尝试)。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

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

    【讨论】:

    • 您好,您知道他们是在集群投入生产之后还是之前这样做的?我已经有 254 个服务在使用旧的 CIDR,我需要一个更大的新 CIDR,但由于冲突,我无法扩展当前的 CIDR。谢谢你的回复
    【解决方案2】:

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

    所以是的,有可能,真正的问题是什么会停止工作(多久?)以及你能承受多少停机时间。互联网上有很多关于重新创建集群的建议的答案,如果可能的话,我可能会听取这些建议。似乎添加新的 CIDR 然后停用旧的 CIDR 是可行的方法。

    如果这不可行,您可以尝试创建另一个测试集群并在其中尝试这些更改,看看可能会出现什么问题。还要记住重新创建集群中存在的节点(缩小到 0,以便重新创建机器)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 2016-06-20
      • 2016-10-19
      • 2016-09-22
      相关资源
      最近更新 更多