ユーザー クラスタのサイズ変更とは、ノードを追加または削除することです。ノードを追加するには、新しいノードで IP アドレスを使用できるようにする必要があります。ノードプール内のレプリカの数を変更することで、ユーザー クラスタのサイズを変更します。
ユーザー クラスタの上限と下限については、スケーラビリティの上限をご覧ください。
ノードプールの管理の詳細については、ノードプールの作成と管理をご覧ください。
十分な IP アドレスが使用可能であることを確認する
サイズ変更後に N 個のノードが必要な場合は、N + 1 個の IP アドレスが使用可能である必要があります。
クラスタのサイズを変更する前に、IP アドレスが十分にあることを確認します。確認方法は、クラスタが DHCP サーバーと静的 IP アドレスのどちらを使用しているかによって異なります。
DHCP
クラスタが DHCP を使用している場合、DHCP サーバーに十分な IP アドレスがあることを確認します。サイズ変更後にクラスタに存在するノードの数よりも 1 つ以上多くの 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 を追加する
クラスタが GKE On-Prem API によって管理されている場合は、コンソールを使用してさらに IP アドレスを追加します。その API によって管理されていない場合は、管理ワークステーションでコマンドラインを使用します。
コンソール
コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。
ユーザー クラスタが存在する Google Cloud プロジェクトを選択します。
クラスタリストでクラスタの名前をクリックし、[詳細] パネルの [詳細を表示] をクリックします。
[ネットワーキング] セクションで
編集をクリックします。[静的 IP を追加する] ダイアログ ボックスで、[IP を追加する] をクリックします。IP アドレスと、必要に応じてホスト名を入力します。以上の手順を必要なだけ繰り返してください。終了したら、[完了] をクリックます。
コマンドライン
ユーザー クラスタの IP ブロック ファイルを開いて編集します。
ユーザー クラスタに使用するすべての IP アドレスが IP ブロック ファイルに含まれていることを確認します。IP ブロック ファイルには、サイズ変更後にクラスタに存在するノードの数よりも 1 つ以上多い IP アドレスが必要です。
ユーザー クラスタ用に予約されたアドレスを表示するには:
kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml
次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG
: 管理クラスタの kubeconfig ファイルのパスUSER_CLUSTER_NAME
: ユーザー クラスタの名前。
対応するブロックに静的 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
クラスタのサイズを変更する
コンソール
コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。
ユーザー クラスタが存在する Google Cloud プロジェクトを選択します。
クラスタリストでクラスタの名前をクリックし、[詳細] パネルの [詳細を表示] をクリックします。
[ノード] タブをクリックします。
サイズ変更するノードプールの名前をクリックします。
[サイズ変更] をクリックします。
[ノード] フィールドに、ノードプールに入れるノードの数を入力し、[完了] をクリックします。
をクリックして前のページに戻ります。
コンソールに [クラスタのステータス: 変更処理中] と表示されます。[詳細を表示] をクリックすると、[リソース ステータス条件] と [ステータス メッセージ] が表示されます。
コマンドライン
ユーザー クラスタの構成ファイルで、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
: サイズを変更したノードプールの名前。
トラブルシューティング
クラスタの作成とアップグレードに対するトラブルシューティングをご覧ください。