ステートレス ワークロードをスケーリングする

進化するコンテナ ワークロードの要件に合わせてステートレス ワークロードをスケーリングします。

始める前に

Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。

  1. Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。

  2. まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。

  3. これらの手順では、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 オブジェクトの目的の数。