【问题标题】:Increase IP space of existing GKE cluster增加现有 GKE 集群的 IP 空间
【发布时间】:2019-10-01 01:38:46
【问题描述】:

我有一个现有的 GKE 集群,它是根据 Terraform 中的一些配置创建的,这些配置是从 GitHub 中的教程中获得的。

集群有一个包含 3 个节点的默认节点池。

我尝试通过 GKE 控制台添加另一个具有 3 个节点的节点池,
但是当我做kubectl get nodes 时,我只看到 4 个节点,而不是 6 个。

当我通过gcloud 命令行尝试相同时,
我记得由于 IP 空间而看到一条消息。

由于 IP 空间,我好像不能有 6 个节点。
如何更改现有集群的 IP 空间?
我对此进行了一些研究,似乎无法针对 GKE 中的现有集群进行更改?
那么如何以及在哪里可以为新集群设置此 IP 空间?

更新
我在 GCP 的通知中发现了错误消息:

(1) 部署错误:并非所有实例都在 19.314823406 秒后在 IGM 中运行。预期 1. 当前错误:[IP_SPACE_EXHAUSTED]:实例“--6fa3ebb6-cw6t”创建失败:“projects//regions/us-east4/subnetworks/-pods-4851bf1518184e60”的 IP 空间已用尽。 (2) 部署错误:并非所有实例都在 19.783096708s 之后在 IGM 中运行。预期 1. 当前错误:[IP_SPACE_EXHAUSTED]:实例“-spec--bf111c8e-h8mm”创建失败:“projects//regions/us-east4/subnetworks/-pods-4851bf1518184e60”的 IP 空间已用尽。

【问题讨论】:

    标签: google-kubernetes-engine


    【解决方案1】:

    我已经解决了这个问题。
    问题背景可以详细阅读here.
    具体来说,部分:

    "...如果您将每个节点的最大 Pods 设置为 30,那么根据上表,使用 /26 CIDR 范围,每个节点分配 64 个 IP 地址。如果不配置每个 Pod 的最大数量 节点,使用 /24 CIDR 范围,每个节点分配 256 个 IP 地址...”

    我已经通过 Terraform 演示部署了这个集群,所以我不确定如何通过 GCP 控制台或命令行进行更改。
    我已经对 Terraform 中的配置进行了更改,从而解决了这个问题。

    名为 kubernetes_pods_ipv4_cidr 的变量的 Terraform 配置为 10.1.92.0/22。
    这意味着 10.1.92.0 – 10.1.95.255 的范围被分配给 Pod 的集群节点。
    根据 GCP 文档,默认情况下,一个节点最多有 110 个 Pod,并被分配 256 个 IP 地址。
    因此,对于每个节点的默认最大 Pod 计数,我的集群上只能有 4 个节点,因为每个节点将被分配 256 个 Pod 的 IP 地址。

    我在 Terraform 配置中添加了一个新字段 default_max_pods_per_node,以将此最大值从默认值 110 减少到 55:

    resource "google_container_cluster" "my-cluster" {
      provider = "google-beta"
    
      name    = "my-cluster"
      project = "${local.my-cluster_project_id}"
      location  = "${var.region}"
      default_max_pods_per_node = 55
    

    之后,我的集群能够支持更多节点。
    或者,您也可以更改分配给 kubernetes_pods_ipv4_cidr 的 IP 范围。

    【讨论】:

      【解决方案2】:

      您看到的错误消息不是您的 GKE 集群的 IP 空间不足(如果您为 pod IP 创建一个具有较小 CIDR 范围的集群,就会发生这种情况),而是集群所在的底层 GCP 网络存在空间不足。如果您查看集群正在运行的子网(根据您的错误消息,它看起来被称为-pods-4851bf1518184e60),您应该会看到它没有足够的空间来添加其他节点。

      您可以通过删除新节点池并尝试将原始节点池从 3 个节点扩展到 6 个节点来确认这是问题所在。

      我不记得是否有办法动态扩展子网的大小。如果是这样,那么您可以将 IP 空间添加到子网以添加节点。如果没有,您将需要在更大的子网中创建一个新集群。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-15
        • 2020-10-23
        • 1970-01-01
        • 2020-12-26
        • 2021-11-03
        • 2020-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多