调整用户集群的大小

调整用户集群的大小意味着需要添加或移除节点。如果添加节点,则需要具有可用于新节点的 IP 地址。 您可以通过更改节点池中副本数来调整用户集群的大小。

如需了解用户集群数量的上限和下限,请参阅配额和限制

如需了解如何管理节点池,请参阅创建和管理节点池

验证是否有足够的可用 IP 地址

如果您打算在调整大小后拥有 N 个节点,则必须具有 N+1 个 IP 地址可用。

在调整集群大小之前,请验证您是否有足够的 IP 地址。验证方法取决于集群使用的是 DHCP 服务器还是静态 IP 地址。

DHCP

如果集群使用 DHCP,请检查 DHCP 服务器是否可以提供足够的 IP 地址。它所提供的 IP 地址数量必须至少比调整大小后的集群中的节点数量多一个。

静态 IP

验证是否具有足够的静态 IP 地址的方式取决于集群是否已在 GKE On-Prem API 中注册。如果满足以下任一条件,则表明用户集群已在 GKE On-Prem API 中注册:

  • 集群是使用 Google Cloud 控制台、Google Cloud CLI (gcloud CLI) 或 Terraform 创建的,后者会自动在 GKE On-Prem API 中注册集群。这些标准应用统称为 GKE On-Prem API 客户端。

  • 在用户集群上运行命令 gkectl enroll cluster,该命令将其配置为由 GKE On-Prem API 管理

如果 GKE On-Prem API 管理用户集群,请使用控制台计算 IP 数量并根据需要添加更多 IP。如果用户集群不是由 GKE On-Prem API 管理,则可以先运行 gkectl update cluster,验证是否在集群中分配了足够的 IP 地址。如果没有分配足够的 IP 地址,您可以在错误消息中找到所需的额外 IP 地址数量。

添加静态 IP

如果集群由 GKE On-Prem API 管理,请使用控制台添加更多 IP 地址。否则,请在管理员工作站上使用命令行。

控制台

  1. 在控制台中,前往 Google Kubernetes Engine 集群概览页面。

    转到 GKE 集群

  2. 选择用户集群所在的 Google Cloud 项目。

  3. 在集群列表中,点击集群的名称,然后点击详细信息面板中的更多详情

  4. 网络部分中,点击 修改

  5. 添加其他静态 IP 地址 (Add additional static IP addresses) 对话框中,点击添加 IP 地址。输入 IP 地址和(可选)主机名。根据需要重复上述步骤。 完成后,请点击完成

命令行

  1. 打开用户集群的 IP 地址块文件进行修改。

  2. 确认您要用于用户集群的所有 IP 地址都包含在 IP 块文件中。IP 地址块文件中的 IP 地址数量至少应该比调整大小后的集群中的节点数量多一个。

  3. 要查看为用户集群预留的地址,请运行以下命令:

    kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml

    替换以下内容:

    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
    • USER_CLUSTER_NAME:用户集群的名称
  4. 将所需数量的额外静态 IP 地址添加到相应的块中,然后运行 gkectl update cluster

以下是具有四个 IP 地址和相应主机名的 IP 地址块文件的示例:

hostconfig:
dns: 172.16.255.1
tod: 216.239.35.0
blocks:
- netmask: 255.255.248.0
  gateway: 21.0.135.254
  ips:
  - ip: 21.0.133.41
    hostname: user-node-1
  - ip: 21.0.133.50
    hostname: user-node-2
  - ip: 21.0.133.56
    hostname: user-node-3
  - ip: 21.0.133.47
    hostname: user-node-4

调整集群大小

控制台

  1. 在控制台中,前往 Google Kubernetes Engine 集群概览页面。

    转到 GKE 集群

  2. 选择用户集群所在的 Google Cloud 项目。

  3. 在集群列表中,点击集群的名称,然后点击详细信息面板中的更多详情

  4. 点击节点标签页。

  5. 点击要调整其大小的节点池的名称。

  6. 点击 调整大小

  7. 节点字段中,输入节点池中所需的节点数,然后点击完成

  8. 点击 以返回到上一页。

  9. 控制台会显示“集群状态:正在更改”。点击显示详情,以查看资源状态条件状态消息

命令行

用户集群配置文件中,更新一个或多个 nodePools 元素中 replicas 字段的值。

调整集群大小:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

替换以下内容:

  • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径

  • USER_CLUSTER_CONFIG:用户集群配置文件的路径

验证调整大小是否成功:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas

替换以下内容:

  • USER_CLUSTER_KUBECONFIG:用户集群 kubeconfig 文件的路径

  • NODE_POOL_NAME:您调整大小的节点池的名称。

问题排查

请参阅排查集群创建和升级问题