このドキュメントでは、Google Distributed Cloud(GDC)のエアギャップ Kubernetes クラスタで実行されている既存のステートフル ワークロードをスケーリングする方法について説明します。コンテナ ワークロードの要件の進化に合わせて、ステートフル ワークロードで実行されている Pod をスケーリングする必要があります。
このドキュメントは、組織のアプリケーション ワークロードの管理を担当するアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。
始める前に
このドキュメントのタスクを完了するには、次のリソースとロールが必要です。
Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者グループのメンバーにクラスタ名を確認します。
まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順で
KUBERNETES_CLUSTER_KUBECONFIGを置き換えるには、Kubernetes クラスタの kubeconfig パスを使用します。
共有クラスタでステートフル ワークロードをスケーリングするために必要な権限を取得するには、組織の IAM 管理者に、プロジェクトの Namespace で Namespace 管理者ロール(
namespace-admin)を付与するよう依頼してください。標準クラスタでステートフル ワークロードをスケーリングするために必要な権限を取得するには、組織の IAM 管理者に標準クラスタのクラスタ デベロッパー ロール(
cluster-developer)を付与するよう依頼してください。
StatefulSet リソースをスケーリングする
Kubernetes のスケーリング機能を使用して、StatefulSet リソースで実行されている Pod の量を適切にスケーリングします。
StatefulSet リソースの Pod を手動でスケーリングする
StatefulSet リソースを手動でスケーリングするには、次のコマンドを実行します。
kubectl --kubeconfig KUBERNETES__CLUSTER_KUBECONFIG -n NAMESPACE \
scale statefulset STATEFULSET_NAME \
--replicas NUMBER_OF_REPLICAS
次のように置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。STATEFULSET_NAME: スケールするStatefulSetオブジェクトの名前。NUMBER_OF_REPLICAS:StatefulSetオブジェクト内の複製されたPodオブジェクトの数。
インプレース更新を行って Pod をスケーリングする
マニフェスト ファイルで StatefulSet リソースの Pod を直接スケーリングするには、次のコマンドを実行します。
kubectl --kubeconfig KUBERNETES__CLUSTER_KUBECONFIG -n NAMESPACE \
patch statefulsets STATEFULSET_NAME \
-p '{"spec":{"replicas":NUMBER_OF_REPLICAS}}'
次のように置き換えます。
KUBERNETES__CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。STATEFULSET_NAME: スケールするStatefulSetオブジェクトの名前。NUMBER_OF_REPLICAS:StatefulSetオブジェクト内の複製されたPodオブジェクトの数。