水平 Pod 自動スケーリングの構成

このページでは、リソース割り当て、ロードバランサ トラフィック、カスタム指標、または複数の指標を同時に使用してリソースを自動的に調整することで、Google Kubernetes Engine(GKE)でデプロイをスケーリングする方法について説明します。この ページでは、 HorizontalPodAutoscaler(HPA) プロファイルを構成する手順についても説明します。HPA オブジェクトの確認、削除、クリーンアップ、トラブルシューティングの方法も説明します。 Deployment は、クラスタ内のノードに分散された Pod の複数のレプリカを実行できる Kubernetes API オブジェクトです。

このページは、GKE でアプリケーション スケーリングを管理し、水平 Pod 自動スケーリングを通じてパフォーマンスを動的に最適化し、費用対効果を維持する方法を理解したい運用担当者とデベロッパーを対象としています。 Google Cloudのコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE ユーザーのロールとタスクをご覧ください。

始める前に

作業を始める前に、次のタスクが完了していることを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。gcloud CLI をインストール済みの場合は、gcloud components update コマンドを実行して最新のバージョンを取得します。以前のバージョンの gcloud CLI では、このドキュメントのコマンドを実行できない場合があります。

HorizontalPodAutoscaler オブジェクト用の API バージョン

コンソールを使用する場合、HPA オブジェクトは autoscaling/v2 API を使用して作成されます。 Google Cloud

kubectl を使用して HPA オブジェクトに関する情報を作成または表示する際には、autoscaling/v1 API または autoscaling/v2 API を指定できます。

  • apiVersion: autoscaling/v1 はデフォルトであり、CPU 使用率のみに基づく自動スケーリングを可能にします。他の指標に基づいて自動スケーリングするには、apiVersion: autoscaling/v2 の使用をおすすめします。サンプル Deployment の作成の例では、 を使用していますapiVersion: autoscaling/v1

  • 新しい HPA オブジェクトを作成するには、apiVersion: autoscaling/v2 をおすすめします。これを使用すると、カスタム指標や外部指標を含む複数の指標に基づく自動スケーリングが可能になります。このページのその他の例では、apiVersion: autoscaling/v2 を使用しています。

サポートされている API バージョンを確認するには、kubectl api-versions コマンドを使用します。

apiVersion: autoscaling/v2 を使用する HPA の詳細情報を表示するときに、どの API を使用するかを指定できます。

サンプル Deployment の作成

HPA オブジェクトを作成するには、その前に、モニタリングの対象となるワークロードを作成する必要があります。このページの例では、下記の nginx Deployment にさまざまな HPA 構成を適用します。それぞれの例で、 リソース使用率に基づく HPA、 カスタム指標または外部指標に基づく HPA、 複数の指標に基づく HPA を紹介します。

以下の行を nginx.yaml という名前のファイルに保存します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        resources:
          # You must specify requests for CPU to autoscale
          # based on CPU utilization
          requests:
            cpu: "250m"

このマニフェストは CPU リクエストの値を指定しています。リソース使用量のパーセンテージに基づいて自動スケーリングを行うには、そのリソースに対するリクエストを指定する必要があります。リクエストを指定しない場合は、リソース使用量の絶対値(CPU 使用量を表すミリ CPU など)のみに基づいて自動スケーリングを実行できます。

Deployment を作成するには、次のようにして nginx.yaml マニフェストを適用します。

kubectl apply -f nginx.yaml

Deployment の spec.replicas を 3 に設定しているので、3 つの Pod がデプロイされます。これを確認するには、kubectl get deployment nginx コマンドを実行します。

このページの例では、それぞれ異なる HPA オブジェクトをサンプル nginx Deployment に適用します。

リソース使用率に基づく自動スケーリング

この例では、CPU 使用率が 50% を超えたときに nginx Deployment を自動スケーリングする HPA オブジェクトを作成して、レプリカが常に最低 1 個、最大で 10 個存在するようにします。

CPU をターゲットとする HPA を作成するには、 Google Cloud コンソール、 kubectl apply コマンド、または kubectl autoscale コマンド(平均 CPU 使用率のみの場合)を使用できます。

コンソール

  1. Google Cloud コンソールの [ワークロード] ページに移動します。

    [ワークロード] に移動

  2. nginx Deployment の名前をクリックします。

  3. [ アクション > 自動スケーリングを編集] をクリックします。

  4. [_水平 Pod 自動スケーリング セクション_] で、[**選択して構成**] をクリックします。

  5. 次の値を指定します。

    • レプリカの最小数: 1
    • レプリカの最大数: 10
    • 自動スケーリング指標: CPU
    • ターゲット: 50
    • 単位: 個の CPU
  6. [送信] をクリックします。

kubectl apply

次の YAML マニフェストを nginx-hpa.yaml という名前のファイルとして保存します。

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: nginx
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx
  # Set the minimum and maximum number of replicas the Deployment can scale to.
  minReplicas: 1
  maxReplicas: 10
  # The target average CPU utilization percentage across all Pods.
  targetCPUUtilizationPercentage: 50

HPA を作成するには、次のコマンドを使用してマニフェストを適用します。

kubectl apply -f nginx-hpa.yaml

kubectl autoscale

平均 CPU 使用率のみをターゲットとする HPA オブジェクトを作成するには、kubectl autoscale コマンドを使用できます。

kubectl autoscale deployment nginx --cpu-percent=50 --min=1 --max=10

クラスタ内の HPA のリストを取得するには、次のコマンドを使用します。

kubectl get hpa

出力は次のようになります。

NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
nginx   Deployment/nginx   0%/50%    1         10        3          61s

HPA の詳細を確認するには、 Google Cloud コンソールまたは kubectl コマンドを使用します。

コンソール

  1. Google Cloud コンソールの [ワークロード] ページに移動します。

    [ワークロード] に移動

  2. nginx Deployment の名前をクリックします。

  3. [スケーリング] タブをクリックします。

kubectl get

HPA の詳細を確認するには、-o yaml フラグを指定して kubectl get hpa を実行します。status フィールドに、現在のレプリカ数と最近の自動スケーリング イベントに関する情報が表示されます。

kubectl get hpa nginx -o yaml

出力は次のようになります。

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  annotations:
    autoscaling.alpha.kubernetes.io/conditions: '[{"type":"AbleToScale","status":"True","lastTransitionTime":"2019-10-30T19:42:59Z","reason":"ScaleDownStabilized","message":"recent
      recommendations were higher than current one, applying the highest recent recommendation"},{"type":"ScalingActive","status":"True","lastTransitionTime":"2019-10-30T19:42:59Z","reason":"ValidMetricFound","message":"the
      HPA was able to successfully calculate a replica count from cpu resource utilization
      (percentage of request)"},{"type":"ScalingLimited","status":"False","lastTransitionTime":"2019-10-30T19:42:59Z","reason":"DesiredWithinRange","message":"the
      desired count is within the acceptable range"}]'
    autoscaling.alpha.kubernetes.io/current-metrics: '[{"type":"Resource","resource":{"name":"cpu","currentAverageUtilization":0,"currentAverageValue":"0"}}]'
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"autoscaling/v1","kind":"HorizontalPodAutoscaler","metadata":{"annotations":{},"name":"nginx","namespace":"default"},"spec":{"maxReplicas":10,"minReplicas":1,"scaleTargetRef":{"apiVersion":"apps/v1","kind":"Deployment","name":"nginx"},"targetCPUUtilizationPercentage":50}}
  creationTimestamp: "2019-10-30T19:42:43Z"
  name: nginx
  namespace: default
  resourceVersion: "220050"
  selfLink: /apis/autoscaling/v1/namespaces/default/horizontalpodautoscalers/nginx
  uid: 70d1067d-fb4d-11e9-8b2a-42010a8e013f
spec:
  maxReplicas: 10
  minReplicas: 1
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx
  targetCPUUtilizationPercentage: 50
status:
  currentCPUUtilizationPercentage: 0
  currentReplicas: 3
  desiredReplicas: 3

このページの残りの例を実行する前に、次のようにして HPA を削除してください。

kubectl delete hpa nginx

HPA オブジェクトを削除しても、Deployment のレプリカの数は同じままです。 Deployment は、HPA 適用前の状態に自動的に戻ることはありません。

詳細については、HPA の削除をご覧ください。

ロードバランサのトラフィックに基づく自動スケーリング

トラフィック ベースの自動スケーリングは、ロードバランサから得られるトラフィック使用率のシグナルを使って Pod の自動スケーリングを行う GKE の機能です。

トラフィックは、CPU やメモリと相補関係にある負荷を表す主要な指標であるため、自動スケーリング シグナルとして有効な場合があります。GKE に統合されているため設定が容易で、トラフィックの急増に自動スケーリングによって迅速に対応して需要を満たすことができます。

トラフィック ベースの自動スケーリングは、 ゲートウェイ コントローラとその グローバル トラフィック管理 機能によって実現します。詳細については、トラフィック ベースの自動スケーリングをご覧ください。

ロードバランサのトラフィックに基づく自動スケーリングは、ゲートウェイのワークロードでのみ使用できます。

要件

トラフィック ベースの自動スケーリングには次の要件があります。

  • GKE バージョン 1.31 以降でサポートされる。
  • プロジェクトで Gateway API が有効になっている。
  • Gateway API と gke-l7-global-external-managedgke-l7-regional-external-managedgke-l7-rilb、または gke-l7-gxlb の GatewayClass を使用してデプロイされたロードバランサを通過するトラフィックでサポートされる。

制限事項

トラフィック ベースの自動スケーリングには次の制限があります。

  • マルチクラスタの GatewayClass(gke-l7-global-external-managed-mcgke-l7-regional-external-managed-mcgke-l7-rilb-mcgke-l7-gxlb-mc)ではサポートされていません。
  • LoadBalancer タイプの Service を使用したトラフィックではサポートされていません。
  • トラフィック ベースの自動スケーリングに関与するコンポーネント間には、明確で分離された関係が必要です。1 つの HPA オブジェクトは、1 つの Service によって公開される 1 つの Deployment(またはスケーラブルなリソース)のスケーリング専用にする必要があります。
  • maxRatePerEndpoint フィールドを使用して Service の容量を構成したら、トラフィック ベースの指標を使用して HPA を構成する前に、ロードバランサがこの変更で更新されるまで十分な時間(通常は 1 分、大規模なクラスタでは最大 15 分)待機します。このアプローチにより、構成中のロードバランサから出力された指標をもとにクラスタが自動スケーリングを試みる状況が一時的に発生することを防ぐことができます。
  • 複数のロードバランサ(たとえば、Ingress と Gateway の両方、または 2 つの Gateway)によって提供される Service でトラフィックベースの自動スケーリングが使用されている場合、HPA は、すべてのロードバランサのトラフィック値の合計ではなく、個々のロードバランサの最大トラフィック値を考慮してスケーリングの決定を行うことがあります。

トラフィック ベースの自動スケーリングをデプロイする

次の演習では、HPA を使用し、受信したトラフィックに基づいて store-autoscale Deployment を自動スケーリングします。Gateway は、インターネットからの Pod の上り(内向き)トラフィックを受け入れます。オートスケーラーは、Gateway からのトラフィック シグナル を、 Pod ごとのトラフィック容量store-autoscale Service リソースに構成されているものと比較します。ゲートウェイへのトラフィックを生成することで、デプロイされる Pod の数に影響を与えます。

次の図は、トラフィック ベースの自動スケーリングの仕組みを示しています。

トラフィックに基づいて Deployment をスケーリングする HorizontalPodAutoscaler。

トラフィック ベースの自動スケーリングをデプロイするには、次の操作を行います。

  1. Standard クラスタの場合は、GatewayClasses がクラスタにインストールされていることを確認します。Autopilot クラスタの場合、デフォルトで GatewayClasses がインストールされます。

    kubectl get gatewayclass
    

    この出力により、GKE GatewayClass リソースがクラスタで使用できる状態であることを確認します。

    NAME                               CONTROLLER                  ACCEPTED   AGE
    gke-l7-global-external-managed     networking.gke.io/gateway   True       16h
    gke-l7-regional-external-managed   networking.gke.io/gateway   True       16h
    gke-l7-gxlb                        networking.gke.io/gateway   True       16h
    gke-l7-rilb                        networking.gke.io/gateway   True       16h
    

    この出力が表示されない場合は、GKE クラスタで Gateway API を有効にします

  2. クラスタにサンプル アプリケーションと Gateway ロードバランサをデプロイします。

    kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/gke-networking-recipes/master/gateway/docs/store-autoscale.yaml
    

    このサンプル アプリケーションでは、次のものが作成されます。

    • 2 つのレプリカを持つ Deployment。
    • 関連付けられた GCPBackendPolicy 設定 maxRatePerEndpoint10 に設定された Service。Gateway の機能の詳細については、GatewayClass の機能をご覧ください。
    • インターネット上のアプリケーションにアクセスするための外部ゲートウェイ。ゲートウェイ ロードバランサを使用する方法の詳細については、ゲートウェイのデプロイをご覧ください。
    • すべてのトラフィックを照合し、store-autoscale Service に送信する HTTPRoute。

    Service の容量は、自動スケーリング イベントをトリガーする Pod ごとのトラフィック量を決定するため、トラフィック ベースの自動スケーリングを使用する場合は重要な要素です。これは、Service に関連付けられた GCPBackendPolicymaxRatePerEndpoint フィールドを使用して構成されます。このフィールドでは、Service が Pod ごとに 1 秒あたりに受信するリクエスト数で最大トラフィックが定義されます。Service の容量は、アプリケーションによって異なります。

    詳細については、Service の容量を構成するをご覧ください。

  3. 次のマニフェストを hpa.yaml として保存します。

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: store-autoscale
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: store-autoscale
      # Set the minimum and maximum number of replicas the Deployment can scale to.
      minReplicas: 1
      maxReplicas: 10
      # This section defines that scaling should be based on the fullness of load balancer
      # capacity, using the following configuration.
      metrics:
      - type: Object
        object:
          describedObject:
            kind: Service
            name: store-autoscale
          metric:
            # The name of the custom metric which measures how "full" a backend is
            # relative to its configured capacity.
            name: "autoscaling.googleapis.com|gclb-capacity-fullness"
          target:
            # The target average value for the metric. The autoscaler adjusts the number
            # of replicas to maintain an average capacity fullness of 70% across all Pods.
            averageValue: 70
            type: AverageValue
    

    このマニフェストでは、次のプロパティを持つ HPA オブジェクトが記述されています。

    • minReplicasmaxReplicas: この Deployment のレプリカの最小数と最大数を設定します。この構成では、Pod の数を 1~10 のレプリカにスケーリングできます。
    • describedObject.name: store-autoscale: トラフィック容量を定義する store-autoscale Service への参照。
    • scaleTargetRef.name: store-autoscale: HPA によってスケールされるリソースを定義する store-autoscale Deployment への参照。
    • averageValue: 70: 容量使用率の目標平均値が 70%。これにより、新しい Pod が作成されている間は実行中の Pod で過剰なトラフィックを処理できるよう、HPA にスケールアップの余地が与えられます。

HPA では、次のようなトラフィックの動作が発生します。

  • Pod の数は、エンドポイントあたりの最大レートである 70% になるように、1 ~ 10 個のレプリカで調整されます。これにより、maxRatePerEndpoint=10 の場合、Pod あたり 7 RPS になります。
  • Pod あたりの RPS が 7 を超える場合は、Pod が最大 10 個のレプリカに達するまで、または Pod あたりの平均トラフィック数が 7 RPS になるまで、Pod がスケールアップされます。
  • トラフィックが減少すると、Pod は HPA アルゴリズムを使用して合理的な割合にスケールダウンします。

トラフィック生成ツールを デプロイ して、トラフィック ベースの自動スケーリングの動作を検証することもできます。

30 RPS では、各レプリカが 6 RPS のトラフィックを受け取るよう、Deployment は 5 つのレプリカにスケーリングされます。これは Pod あたり 60% の使用率であり、目標とする 70% を下回っているため、Pod は適切にスケーリングされています。トラフィックの変動によっては、自動スケーリングされるレプリカの数も変動する場合があります。レプリカ数の計算方法の詳細な説明については、自動スケーリングの動作をご覧ください。

カスタム指標または外部指標に基づく自動スケーリング

カスタム指標と外部指標用の HorizontalPodAutoscaler を作成するには、指標に基づいて Pod の自動スケーリングを最適化するをご覧ください。

または、カスタム指標 (プレビュー) を公開して、Pod またはワークロードから オートスケーラーに直接指標を送信することもできます。

複数の指標に基づく自動スケーリング

この例では、CPU 使用率およびカスタム指標 packets_per_second に基づいて自動スケーリングを行う HPA オブジェクトを作成します。

前の例で作成した nginx という名前の HPA オブジェクトがまだ残っている場合は、次の例を実行する前に それを削除してください。

この例では apiVersion: autoscaling/v2 が必要です。使用可能な API の詳細については、HPA オブジェクト用の API バージョンをご覧ください。

この YAML マニフェストを nginx-multiple.yaml という名前のファイルとして保存します。

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: nginx
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx
  minReplicas: 1
  maxReplicas: 10
  metrics: # The metrics to base the autoscaling on.
  - type: Resource
    resource:
      name: cpu # Scale based on CPU utilization.
      target:
        type: Utilization
        averageUtilization: 50
        # The HPA will scale the replicas to try and maintain an average
        # CPU utilization of 50% across all Pods.
  - type: Resource
    resource:
      name: memory # Scale based on memory usage.
      target:
        type: AverageValue
        averageValue: 100Mi
        # The HPA will scale the replicas to try and maintain an average
        # memory usage of 100 Mebibytes (MiB) across all Pods.
  # Uncomment these lines if you create the custom packets_per_second metric and
  # configure your app to export the metric.
  # - type: Pods
  #   pods:
  #     metric:
  #       name: packets_per_second
  #     target:
  #       type: AverageValue
  #       averageValue: 100

次のようにして YAML マニフェストを適用します。

kubectl apply -f nginx-multiple.yaml

HPA が作成されると、HPA は nginx Deployment の平均 CPU 使用率、平均メモリ使用率、およびカスタム packets_per_second 指標(コメント解除した場合)をモニタリングします。より大規模な自動スケーリング イベントを生じさせる値を持つ指標に基づいて、HPA は Deployment を自動スケーリングします。

Performance HPA プロファイルを構成する

パフォーマンス HPA プロファイルを使用すると、水平 Pod 自動スケーリングのリアクション時間が短縮され、HPA が多数のオブジェクト(マイナー バージョン 1.31 ~ 1.32 では最大 1,000 個、バージョン 1.33 以降では 5,000 個)を処理する能力が向上します。

このプロファイルは、GKE バージョン 1.32 以降を実行しているコントロール プレーンを含む対象の Autopilot クラスタで自動的に有効になります。Standard クラスタの場合、このプロファイルは、GKE バージョン 1.33 以降を実行しているコントロール プレーンを含む対象クラスタで自動的に有効になります。

Standard クラスタが次のすべての条件を満たしている場合、パフォーマンス HPA プロファイルの自動有効化の対象外となります。

  • クラスタが以前のバージョンからバージョン 1.33 以降にアップグレードされている。
  • クラスタに、e2-microe2-custom-microg1-smallf1-micro のいずれかのマシンタイプを持つノードプールが 1 つ以上ある。
  • ノード自動プロビジョニングが有効になっていない。

要件を満たしている場合は、既存のクラスタで Performance HPA プロファイルを有効にすることもできます。

要件

パフォーマンス HPA プロファイルを有効にするには、Autopilot クラスタと Standard クラスタが次の要件を満たしていることを確認します。

Performance HPA プロファイルを有効にする

クラスタでパフォーマンス HPA プロファイルを有効にするには、次のコマンドを使用します。

gcloud container clusters update CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID \
    --hpa-profile=performance

次のように置き換えます。

  • CLUSTER_NAME: クラスタの名前。
  • LOCATION: クラスタのコンピューティング ゾーンまたはリージョン(us-central1-a、us-central1 など)。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。

Performance HPA プロファイルを無効にする

クラスタでパフォーマンス HPA プロファイルを無効にするには、次のコマンドを使用します。

gcloud container clusters update CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID \
    --hpa-profile=none

次のように置き換えます。

  • CLUSTER_NAME: クラスタの名前。
  • LOCATION: クラスタのコンピューティング ゾーンまたはリージョン(us-central1-a、us-central1 など)。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。

HorizontalPodAutoscaler に関する詳細を表示する

HPA の構成と統計情報を表示するには、次のコマンドを使用します。

kubectl describe hpa HPA_NAME

HPA_NAME は実際の HPA オブジェクトの名前に置き換えます。

apiVersion: autoscaling/v2 を使用し、複数の指標に基づく HPA の場合、kubectl describe hpa コマンドによって CPU の指標のみが表示されます。すべての指標を表示するには、代わりに次のコマンドを使用します。

kubectl describe hpa.v2.autoscaling HPA_NAME

HPA_NAME は実際の HPA オブジェクトの名前に置き換えます。

各 HPA オブジェクトの現在のステータスが Conditions フィールドに表示され、自動スケーリング イベントが Events フィールドにリストされます。

出力は次のようになります。

Name:                                                  nginx
Namespace:                                             default
Labels:                                                <none>
Annotations:                                           kubectl.kubernetes.io/last-applied-configuration:
                                                         {"apiVersion":"autoscaling/v2","kind":"HorizontalPodAutoscaler","metadata":{"annotations":{},"name":"nginx","namespace":"default"},"s...
CreationTimestamp:                                     Tue, 05 May 2020 20:07:11 +0000
Reference:                                             Deployment/nginx
Metrics:                                               ( current / target )
  resource memory on pods:                             2220032 / 100Mi
  resource cpu on pods  (as a percentage of request):  0% (0) / 50%
Min replicas:                                          1
Max replicas:                                          10
Deployment pods:                                       1 current / 1 desired
Conditions:
  Type            Status  Reason              Message
  ----            ------  ------              -------
  AbleToScale     True    ReadyForNewScale    recommended size matches current size
  ScalingActive   True    ValidMetricFound    the HPA was able to successfully calculate a replica count from memory resource
  ScalingLimited  False   DesiredWithinRange  the desired count is within the acceptable range
Events:                                                <none>

HorizontalPodAutoscaler を削除する

HPA オブジェクトを削除するには、 Google Cloud コンソールまたは kubectl delete コマンドを使用します。

コンソール

nginx HPA オブジェクトを削除するには:

  1. [ワークロード] ページに移動します。 Google Cloud

    [ワークロード] に移動

  2. nginx Deployment の名前をクリックします。

  3. [アクション] > [自動スケーリング] をクリックします。

  4. [削除] をクリックします。

kubectl delete

nginx HPA オブジェクトを削除するには、次のコマンドを使用します。

kubectl delete hpa nginx

HPA オブジェクトを削除した場合、Deployment(または他のデプロイメント オブジェクト)は既存のスケールのままになります。Deployment の元のマニフェストのレプリカ数には戻りません。手動で Deployment を再び 3 つの Pod にスケーリングするには、kubectl scale コマンドを使用できます。

kubectl scale deployment nginx --replicas=3

クリーンアップ

  1. HPA オブジェクトをまだ削除していない場合は、削除します。

    kubectl delete hpa nginx
    
  2. nginx Deployment を削除します。

    kubectl delete deployment nginx
    
  3. 必要であれば、クラスタを削除します。

トラブルシューティング

トラブルシューティングについては、水平 Pod 自動スケーリングのトラブルシューティングをご覧ください。

次のステップ