進化するコンテナ ワークロードの要件に合わせてステートレス ワークロードをスケーリングします。
始める前に
事前構成されたベアメタル Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。
まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して
CLUSTER_KUBECONFIGを置き換えます。
ステートレス ワークロードをスケーリングするために必要な権限を取得するには、組織の IAM 管理者に、プロジェクトの Namespace で Namespace 管理者ロール(namespace-admin)を付与するよう依頼してください。
Deployment をスケールする
Kubernetes のスケーリング機能を利用して、デプロイで実行されている Pod の量を適切にスケーリングします。
Deployment の Pod を自動スケーリングする
Kubernetes は自動スケーリングを提供し、需要の変化に応じてデプロイを手動で更新する必要をなくします。この機能を有効にするには、デプロイで水平 Pod 自動スケーラーを設定します。
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
autoscale deployment DEPLOYMENT_NAME \
--cpu-percent=CPU_PERCENT \
--min=MIN_NUMBER_REPLICAS \
--max=MAX_NUMBER_REPLICAS
次のように置き換えます。
CLUSTER_KUBECONFIG: Kubernetes クラスタの 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 CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
次のように置き換えます。
CLUSTER_KUBECONFIG: Kubernetes クラスタの kubeconfig ファイル。NAMESPACE: プロジェクトの Namespace。DEPLOYMENT_NAME: 自動スケーリングするデプロイの名前。DEPLOYMENT_NAME: デプロイで選択された複製Podオブジェクトの数。