调整用户集群的大小

10

本页面介绍如何调整 Anthos Clusters on VMware (GKE On-Prem) 用户集群的大小。调整用户集群的大小意味着需要添加或移除节点。如果添加节点,则需要具有可用于新节点的 IP 地址。

您可以通过以下方式调整用户集群的大小:更改集群配置文件的 nodePools 部分中的 replicas 字段,然后运行 gkectl update cluster

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

如需了解如何使用 gkectl update cluster 管理节点池,请参阅创建和管理节点池

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

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

验证您是否有足够的 IP 地址。验证方法取决于集群使用的是 DHCP 服务器还是静态 IP 地址。

DHCP

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

静态 IP

如果集群使用静态 IP 地址,则运行 gkectl update cluster 时,系统会首先验证您是否在该集群中分配了足够的 IP 地址。如果没有分配足够的 IP 地址,您可以在错误消息中找到所需的额外 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

调整集群大小

用户集群配置文件中,更新一个或多个 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:您调整大小的节点池的名称。

问题排查

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