このドキュメントでは、Google Distributed Cloud(GDC)のエアギャップ Kubernetes クラスタで実行されている既存のステートレス ワークロードをスケーリングする方法について説明します。コンテナ ワークロードの要件の進化に合わせて、ステートレス ワークロードで実行されている Pod をスケーリングする必要があります。
このドキュメントは、組織のアプリケーション ワークロードの管理を担当するアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。
始める前に
Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。
まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して
KUBERNETES_CLUSTER_KUBECONFIGを置き換えます。
ステートレス ワークロードをスケーリングするために必要な権限を取得するには、組織の IAM 管理者に、プロジェクトの Namespace で Namespace 管理者ロール(namespace-admin)を付与するよう依頼してください。
Deployment をスケールする
Kubernetes のスケーリング機能を利用して、デプロイで実行されている Pod の量を適切にスケーリングします。
Deployment の Pod を自動スケーリングする
Kubernetes は自動スケーリングを提供し、需要の変化に応じてデプロイを手動で更新する必要をなくします。この機能を有効にするには、デプロイで水平 Pod 自動スケーラーを設定します。
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
autoscale deployment DEPLOYMENT_NAME \
--cpu-percent=CPU_PERCENT \
--min=MIN_NUMBER_REPLICAS \
--max=MAX_NUMBER_REPLICAS
次のように置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: プロジェクトの Namespace。DEPLOYMENT_NAME: 自動スケーリングするデプロイの名前。CPU_PERCENT: すべての Pod でリクエストする平均 CPU 使用率の目標値(パーセント)。MIN_NUMBER_REPLICAS: オートスケーラーがプロビジョニングできる Pod 数の下限。MAX_NUMBER_REPLICAS: オートスケーラーがプロビジョニングできる Pod 数の上限。
新しく作成された水平 Pod 自動スケーラーの現在のステータスを確認するには、次のコマンドを実行します。
kubectl get hpa
出力は次のようになります。
NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE
DEPLOYMENT_NAME Deployment/DEPLOYMENT_NAME/scale 0% / 50% 1 10 1 18s
Deployment の Pod を手動でスケーリングする
デプロイを手動でスケーリングする場合は、次のコマンドを実行します。
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
次のように置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: プロジェクトの Namespace。DEPLOYMENT_NAME: 自動スケーリングするデプロイの名前。DEPLOYMENT_NAME: デプロイ内の複製されたPodオブジェクトの目的の数。