ユーザー クラスタのサイズ変更

このページでは、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 アドレスがあることを確認します。サイズ変更後にクラスタに存在するノードの数よりも 1 つ以上多くの IP アドレスを指定する必要があります。

静的 IP

クラスタで静的 IP が使用されている場合は、まず gkectl update cluster を実行して、そのクラスタに十分な IP アドレスが割り振られていることを確認します。そうしない場合は、必要な追加 IP アドレスの数は、エラー メッセージで確認できます。

ユーザー クラスタに IP アドレスを追加する必要がある場合は、次の手順を行います。

  1. ユーザー クラスタの IP ブロック ファイルを開いて編集します。

  2. ユーザー クラスタに使用するすべての IP アドレスが IP ブロック ファイルに含まれていることを確認します。IP ブロック ファイルには、サイズ変更後にクラスタに存在するノードの数よりも 1 つ以上多い 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 を実行します。

4 つの 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 つ以上の 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: サイズを変更したノードプールの名前。

トラブルシューティング

クラスタの作成とアップグレードに対するトラブルシューティングをご覧ください。