Azure Kubernetes Service (AKS) でのアプリケーションの需要を満たすようにクラスターを自動的にスケーリングAutomatically scale a cluster to meet application demands on Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) のアプリケーションの需要に対応するには、ワークロードを実行するノードの数を調整する必要が生じる場合があります。To keep up with application demands in Azure Kubernetes Service (AKS), you may need to adjust the number of nodes that run your workloads. クラスター オートスケーラー コンポーネントは、リソース制約のためにスケジュールできないクラスター内のポッドを監視できます。The cluster autoscaler component can watch for pods in your cluster that can't be scheduled because of resource constraints. 問題が検出されると、アプリケーションの需要を満たすためにノード プール内のノードの数が増やされます。When issues are detected, the number of nodes in a node pool is increased to meet the application demand. また、実行ポッドの不足について定期的にノードがチェックされ、必要に応じてノードの数が減らされます。Nodes are also regularly checked for a lack of running pods, with the number of nodes then decreased as needed. AKS クラスター内のノードの数を自動的に増減するこの機能を使用すると、効率的で、コスト効率の高いクラスターを実行できます。This ability to automatically scale up or down the number of nodes in your AKS cluster lets you run an efficient, cost-effective cluster.

この記事では、AKS クラスターでクラスター オートスケーラーを有効にして管理する方法について説明します。This article shows you how to enable and manage the cluster autoscaler in an AKS cluster.

開始する前にBefore you begin

この記事では、Azure CLI バージョン 2.0.76 以降を実行している必要があります。This article requires that you are running the Azure CLI version 2.0.76 or later. バージョンを確認するには、az --version を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

制限事項Limitations

クラスター オートスケーラーを使用する AKS クラスターを作成および管理する場合には、次の制限が適用されます。The following limitations apply when you create and manage AKS clusters that use the cluster autoscaler:

  • HTTP アプリケーションのルーティング アドオンは使用できません。The HTTP application routing add-on can't be used.

クラスター オートスケーラーについてAbout the cluster autoscaler

平日と夜間、または週末など、アプリケーションの変則的な需要に対応するために、多くの場合、クラスターには自動的にスケーリングする方法が必要になります。To adjust to changing application demands, such as between the workday and evening or on a weekend, clusters often need a way to automatically scale. AKS クラスターは、次の 2 つの方法のいずれかでスケーリングできます。AKS clusters can scale in one of two ways:

  • クラスター オートスケーラーは、リソース制約のためにノードでスケジュールできないポッドを監視します。The cluster autoscaler watches for pods that can't be scheduled on nodes because of resource constraints. その後、クラスターによってノードの数が自動的に増やされます。The cluster then automatically increases the number of nodes.
  • ポッドの水平オートスケーラーは、Kubernetes クラスターのメトリック サーバーを使用して、ポッドのリソースの需要をモニターします。The horizontal pod autoscaler uses the Metrics Server in a Kubernetes cluster to monitor the resource demand of pods. アプリケーションで必要なリソースが増えると、その需要を満たすためにポッドの数が自動的に増やされます。If an application needs more resources, the number of pods is automatically increased to meet the demand.

クラスター オートスケーラーとポッドの水平オートスケーラーは、必要なアプリケーション需要に対応するために、多くの場合、連携して機能します。

また、ポッドの水平オートスケーラーとクラスター オートスケーラーでは、必要に応じてポッドとノードの数を減らすこともできます。Both the horizontal pod autoscaler and cluster autoscaler can also decrease the number of pods and nodes as needed. クラスター オートスケーラーは、一定期間未使用の容量があった場合、ノードの数を減らします。The cluster autoscaler decreases the number of nodes when there has been unused capacity for a period of time. クラスター オートスケーラーによって削除されるノード上のポッドは、クラスター内の他の場所で安全にスケジュールされます。Pods on a node to be removed by the cluster autoscaler are safely scheduled elsewhere in the cluster. クラスター オートスケーラーは、以下の状況のように、ポッドが移動できない場合はスケールダウンできないことがあります。The cluster autoscaler may be unable to scale down if pods can't move, such as in the following situations:

  • ポッドが直接作成されており、デプロイやレプリカ セットなどのコントローラー オブジェクトによってサポートされていない。A pod is directly created and isn't backed by a controller object, such as a deployment or replica set.
  • Pod Disruption Budget (PDB) の制限が非常に厳しく、ポッドの数が特定のしきい値を下回ることが許可されていない。A pod disruption budget (PDB) is too restrictive and doesn't allow the number of pods to be fall below a certain threshold.
  • ポッドが、別のノードでスケジュールされた場合に適用できないノード セレクターまたはアンチ アフィニティーを使用している。A pod uses node selectors or anti-affinity that can't be honored if scheduled on a different node.

クラスター オートスケーラーでスケールダウンを行えない場合がある状況について詳しくは、「What types of pods can prevent the cluster autoscaler from removing a node?」 (クラスター オートスケーラーがノードから削除されるのを防止できるのは、どの種類のポッドですか?) を参照してください。For more information about how the cluster autoscaler may be unable to scale down, see What types of pods can prevent the cluster autoscaler from removing a node?

クラスター オートスケーラーは、スケール イベント間の時間間隔やリソースしきい値などに対して開始パラメーターを使用します。The cluster autoscaler uses startup parameters for things like time intervals between scale events and resource thresholds. これらのパラメーターは、Azure プラットフォームによって定義されており、現在公開されていないため、調整することはできません。These parameters are defined by the Azure platform, and aren't currently exposed for you to adjust. クラスター オートスケーラーが使用するパラメーターについて詳しくは、「What are the cluster autoscaler parameters?」 (クラスター オートスケーラー パラメーターとは何ですか?) を参照してください。For more information on what parameters the cluster autoscaler uses, see What are the cluster autoscaler parameters?.

クラスター オートスケーラーとポッドの水平オートスケーラーは連携して機能し、多くの場合、両方のオートスケーラーが一緒に 1 つのクラスターにデプロイされます。The cluster and horizontal pod autoscalers can work together, and are often both deployed in a cluster. この 2 つを組み合わせて使用する場合、ポッドの水平オートスケーラーの主な役割は、アプリケーションの需要を満たすために必要な数のポッドを実行することになります。When combined, the horizontal pod autoscaler is focused on running the number of pods required to meet application demand. クラスター オートスケーラーの主な役割は、スケジュールされたポッドをサポートするために必要な数のノードを実行することになります。The cluster autoscaler is focused on running the number of nodes required to support the scheduled pods.

注意

クラスター オートスケーラーを使用する場合、手動スケーリングは無効になります。Manual scaling is disabled when you use the cluster autoscaler. 必要なノード数は、クラスター オートスケーラーによって決定されるようにします。Let the cluster autoscaler determine the required number of nodes. クラスターを手動でスケーリングする場合は、クラスター オートスケーラーを無効化します。If you want to manually scale your cluster, disable the cluster autoscaler.

AKS クラスターの作成とクラスター オートスケーラーの有効化Create an AKS cluster and enable the cluster autoscaler

AKS クラスターを作成する必要がある場合は、az aks create コマンドを使用します。If you need to create an AKS cluster, use the az aks create command. クラスターのノード プール上でクラスター オートスケーラーを有効にして構成するには、 --enable-cluster-autoscaler パラメーターを使用し、ノードの --min-count--max-count を指定します。To enable and configure the cluster autoscaler on the node pool for the cluster, use the --enable-cluster-autoscaler parameter, and specify a node --min-count and --max-count.

重要

クラスター オートスケーラーは、Kubernetes のコンポーネントです。The cluster autoscaler is a Kubernetes component. AKS クラスターは、ノードに仮想マシン スケール セットを使用しますが、Azure portal で、または Azure CLI を使用して、スケール セットの自動スケーリングの設定を手動で有効にしたり編集したりしないでください。Although the AKS cluster uses a virtual machine scale set for the nodes, don't manually enable or edit settings for scale set autoscale in the Azure portal or using the Azure CLI. 必要なスケール設定の管理は、Kubernetes クラスター オートスケーラーが行います。Let the Kubernetes cluster autoscaler manage the required scale settings. 詳細については、ノード リソース グループ内の AKS リソースを変更可能かどうかに関するセクションを参照してください。For more information, see Can I modify the AKS resources in the node resource group?

次の例では、仮想マシンのスケール セットによって戻された 1 つのノード プールを使用して、AKS クラスターを作成します。The following example creates an AKS cluster with a single node pool backed by a virtual machine scale set. また、クラスターのノードプール上でクラスター オートスケーラーを有効にし、最小値を 1 ノード、最大値を 3 ノードに設定します。It also enables the cluster autoscaler on the node pool for the cluster and sets a minimum of 1 and maximum of 3 nodes:

# First create a resource group
az group create --name myResourceGroup --location eastus

# Now create the AKS cluster and enable the cluster autoscaler
az aks create \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --node-count 1 \
  --vm-set-type VirtualMachineScaleSets \
  --load-balancer-sku standard \
  --enable-cluster-autoscaler \
  --min-count 1 \
  --max-count 3

このクラスターを作成して、クラスター オートスケーラーの設定を構成するには数分かかります。It takes a few minutes to create the cluster and configure the cluster autoscaler settings.

クラスター オートスケーラーの設定の変更Change the cluster autoscaler settings

重要

AKS クラスターに複数のノード プールがある場合は、複数のエージェント プールを使用した自動スケーリングのセクションに進んでください。If you have multiple node pools in your AKS cluster, skip to the autoscale with multiple agent pools section. 複数のエージェント プールがあるクラスターの場合は、az aks ではなく az aks nodepool コマンド セットを使用して、ノード プール固有のプロパティを変更する必要があります。Clusters with multiple agent pools require use of the az aks nodepool command set to change node pool specific properties instead of az aks.

AKS クラスターを作成するか既存のノード プールを更新する前述のステップで、クラスター オートスケーラーの最小ノード数は 1 に設定され、最大ノード数は 3 に設定されました。In the previous step to create an AKS cluster or update an existing node pool, the cluster autoscaler minimum node count was set to 1, and the maximum node count was set to 3. アプリケーション需要の変化に応じて、クラスター オートスケーラーのノード数の調整が必要になる場合があります。As your application demands change, you may need to adjust the cluster autoscaler node count.

ノード数を変更するには、az aks update コマンドを使用します。To change the node count, use the az aks update command.

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --update-cluster-autoscaler \
  --min-count 1 \
  --max-count 5

上の例では、myAKSCluster の単一のノード プールにあるクラスター オートスケーラーを更新して、最小値を 1 ノード、最大値を 5 ノードにします。The above example updates cluster autoscaler on the single node pool in myAKSCluster to a minimum of 1 and maximum of 5 nodes.

注意

現在ノード プールに設定されている数より多い最小ノード数を設定することはできません。You can't set a higher minimum node count than is currently set for the node pool. 例えば、現在、最小数が 1 に設定されている場合、最小数を 3 に更新することはできません。For example, if you currently have min count set to 1, you can't update the min count to 3.

アプリケーションとサービスのパフォーマンスをモニターして、必要なパフォーマンスに一致するようにクラスター オートスケーラーのノード数を調整してください。Monitor the performance of your applications and services, and adjust the cluster autoscaler node counts to match the required performance.

オートスケーラー プロファイルの使用Using the autoscaler profile

クラスター全体のオートスケーラー プロファイルで既定値を変更することで、クラスター オートスケーラーの詳細をよりきめ細かに構成することもできます。You can also configure more granular details of the cluster autoscaler by changing the default values in the cluster-wide autoscaler profile. たとえばスケールダウン イベントは、ノードの使用率が低い状態で 10 分経過した後に発生します。For example, a scale down event happens after nodes are under-utilized after 10 minutes. 15 分ごとに実行されたワークロードがある場合は、15 分または 20 分経過後に使用率が低いノードをスケールダウンするようにオートスケーラー プロファイルを変更できます。If you had workloads that ran every 15 minutes, you may want to change the autoscaler profile to scale down under utilized nodes after 15 or 20 minutes. クラスター オートスケーラーを有効にすると、異なる設定を指定しない限り既定のプロファイルが使用されます。When you enable the cluster autoscaler, a default profile is used unless you specify different settings. クラスター オートスケーラー プロファイルでは、以下の設定を更新できます。The cluster autoscaler profile has the following settings that you can update:

設定Setting 説明Description 既定値Default value
scan-intervalscan-interval スケールアップまたはスケールダウンに関してクラスターが再評価される頻度How often cluster is reevaluated for scale up or down 10 秒10 seconds
scale-down-delay-after-addscale-down-delay-after-add スケールアップ後に、スケールダウンの評価が再開されるまでの時間How long after scale up that scale down evaluation resumes 10 分10 minutes
scale-down-delay-after-deletescale-down-delay-after-delete ノードの削除後に、スケールダウンの評価が再開されるまでの時間How long after node deletion that scale down evaluation resumes scan-intervalscan-interval
scale-down-delay-after-failurescale-down-delay-after-failure スケールダウンの失敗後に、スケールダウンの評価が再開されるまでの時間How long after scale down failure that scale down evaluation resumes 3 分3 minutes
scale-down-unneeded-timescale-down-unneeded-time ノードが不要になってからスケールダウンの対象になるまでの時間How long a node should be unneeded before it is eligible for scale down 10 分10 minutes
scale-down-unready-timescale-down-unready-time 準備ができていないノードが不要になってからスケールダウンの対象になるまでの時間How long an unready node should be unneeded before it is eligible for scale down 20 分20 minutes
scale-down-utilization-thresholdscale-down-utilization-threshold 要求されたリソースの合計を容量で割った値として定義される、ノード利用レベル。これを下回るノードはスケールダウンの対象と見なすことができます。Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down 0.50.5
max-graceful-termination-secmax-graceful-termination-sec ノードのスケールダウンを試みるときに、クラスター オートスケーラーがポッドの終了を待機する最大秒数。Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. 600 秒600 seconds

重要

クラスター オートスケーラー プロファイルは、クラスター オートスケーラーを使用するすべてのノード プールに影響を及ぼします。The cluster autoscaler profile affects all node pools that use the cluster autoscaler. ノード プールごとにオートスケーラー プロファイルを設定することはできません。You can't set an autoscaler profile per node pool.

aks-preview CLI 拡張機能をインストールするInstall aks-preview CLI extension

クラスター オートスケーラーの設定プロファイルを設定するには、aks-preview CLI 拡張機能のバージョン 0.4.30 以降が必要です。To set the cluster autoscaler settings profile, you need the aks-preview CLI extension version 0.4.30 or higher. az extension add コマンドを使用して aks-preview Azure CLI 拡張機能をインストールし、az extension update コマンドを使用して使用可能な更新プログラムがあるかどうかを確認します。Install the aks-preview Azure CLI extension using the az extension add command, then check for any available updates using the az extension update command:

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

既存の AKS クラスターに対してクラスター オートスケーラー プロファイルを設定するSet the cluster autoscaler profile on an existing AKS cluster

cluster-autoscaler-profile パラメーターを指定して az aks update コマンドを使用し、クラスターに対してクラスター オートスケーラー プロファイルを設定します。Use the az aks update command with the cluster-autoscaler-profile parameter to set the cluster autoscaler profile on your cluster. 次の例では、プロファイルでのスキャン間隔の設定を 30 秒として構成しています。The following example configures the scan interval setting as 30s in the profile.

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --cluster-autoscaler-profile scan-interval=30s

クラスター内のノード プールに対してクラスター オートスケーラーを有効にすると、それらのクラスターでもクラスター オートスケーラー プロファイルが使用されます。When you enable the cluster autoscaler on node pools in the cluster, those clusters will also use the cluster autoscaler profile. 次に例を示します。For example:

az aks nodepool update \
  --resource-group myResourceGroup \
  --cluster-name myAKSCluster \
  --name mynodepool \
  --enable-cluster-autoscaler \
  --min-count 1 \
  --max-count 3

重要

クラスター オートスケーラー プロファイルを設定すると、クラスター オートスケーラーが有効にされた既存のノード プールでは、すぐにプロファイルの使用が開始されます。When you set the cluster autoscaler profile, any existing node pools with the cluster autoscaler enabled will start using the profile immediately.

AKS クラスター作成時にクラスター オートスケーラー プロファイルを設定するSet the cluster autoscaler profile when creating an AKS cluster

クラスターを作成するときに cluster-autoscaler-profile パラメーターを使用することもできます。You can also use the cluster-autoscaler-profile parameter when you create your cluster. 次に例を示します。For example:

az aks create \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --node-count 1 \
  --enable-cluster-autoscaler \
  --min-count 1 \
  --max-count 3 \
  --cluster-autoscaler-profile scan-interval=30s

上のコマンドでは、AKS クラスターを作成し、クラスター全体のオートスケーラー プロファイルのスキャン間隔を 30 秒と定義しています。The above command creates an AKS cluster and defines the scan interval as 30 seconds for the cluster-wide autoscaler profile. また、このコマンドでは、初期ノード プールに対してクラスター オートスケーラーを有効にし、最小ノード数を 1 に、最大ノード数を 3 に設定しています。The command also enables the cluster autoscaler on the initial node pool, sets the minimum node count to 1 and the maximum node count to 3.

クラスター オートスケーラー プロファイルを既定値にリセットするReset cluster autoscaler profile to default values

クラスターに対するクラスター オートスケーラー プロファイルをリセットするには、az aks update コマンドを使用します。Use the az aks update command to reset the cluster autoscaler profile on your cluster.

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --cluster-autoscaler-profile ""

クラスター オートスケーラーの無効化Disable the cluster autoscaler

クラスター オートスケーラーを今後使用しない場合は、az aks update コマンドで --disable-cluster-autoscaler パラメーターを指定することで無効にできます。If you no longer wish to use the cluster autoscaler, you can disable it using the az aks update command, specifying the --disable-cluster-autoscaler parameter. クラスター オートスケーラーが無効になってもノードは削除されません。Nodes aren't removed when the cluster autoscaler is disabled.

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --disable-cluster-autoscaler

クラスター オートスケーラーを無効にした後、az aks scale コマンドを使用して、クラスターを手動でスケーリングできます。You can manually scale your cluster after disabling the cluster autoscaler by using the az aks scale command. ポッドの水平オートスケーラーを使用している場合、その機能はクラスター オートスケーラーを無効にしても引き続き実行されますが、ノード リソースがすべて使用中になると、ポッドをスケジュールできなくなる可能性があります。If you use the horizontal pod autoscaler, that feature continues to run with the cluster autoscaler disabled, but pods may end up unable to be scheduled if all node resources are in use.

無効なクラスター オートスケーラーを再度有効にするRe-enable a disabled cluster autoscaler

既存のクラスター上でクラスター オートスケーラーを再度有効にする場合は、az aks update コマンドで --enable-cluster-autoscaler--min-count、および --max-count パラメーターを指定することで有効にできます。If you wish to re-enable the cluster autoscaler on an existing cluster, you can re-enable it using the az aks update command, specifying the --enable-cluster-autoscaler, --min-count, and --max-count parameters.

クラスター オートスケーラーのログと状態を取得するRetrieve cluster autoscaler logs and status

オートスケーラーのイベントを診断し、デバッグする目的で、オートスケーラー アドオンからログと状態を取得できます。To diagnose and debug autoscaler events, logs and status can be retrieved from the autoscaler add-on.

AKS では、ユーザーに代わってクラスター オートスケーラーが管理され、マネージド コントロール プレーンで実行されます。AKS manages the cluster autoscaler on your behalf and runs it in the managed control plane. マスター ノードのログは、結果として表示されるように構成する必要があります。Master node logs must be configured to be viewed as a result.

クラスター オートスケーラーから Log Analytics にプッシュされるようにログを構成するには、次の手順に従います。To configure logs to be pushed from the cluster autoscaler into Log Analytics, follow these steps.

  1. Log Analytics にクラスター オートスケーラーのログをプッシュするように診断ログのルールを設定します。Set up a rule for diagnostic logs to push cluster-autoscaler logs to Log Analytics. 手順の詳細はこちらにあります。[ログ] のオプションを選択するときは、確実に cluster-autoscaler のボックスにチェックマークを入れます。Instructions are detailed here, ensure you check the box for cluster-autoscaler when selecting options for "Logs".
  2. Azure portal から、クラスターの [ログ] セクションをクリックします。Click on the "Logs" section on your cluster via the Azure portal.
  3. Log Analytics に次のサンプル クエリを入力します。Input the following example query into Log Analytics:
AzureDiagnostics
| where Category == "cluster-autoscaler"

取得するログがあれば、次の例のようなログが表示されるはずです。You should see logs similar to the following example as long as there are logs to retrieve.

Log Analytics のログ

クラスター オートスケーラーにより、cluster-autoscaler-status という名前の configmap に正常性状態も書き込まれます。The cluster autoscaler will also write out health status to a configmap named cluster-autoscaler-status. これらのログを取得するには、次の kubectl コマンドを実行します。To retrieve these logs, execute the following kubectl command. クラスター オートスケーラーで構成されたノード プールごとに、正常性状態が報告されます。A health status will be reported for each node pool configured with the cluster autoscaler.

kubectl get configmap -n kube-system cluster-autoscaler-status -o yaml

オートスケーラーからログに記録される内容については、Kubernetes/オートスケーラー GitHub プロジェクトの FAQ をお読みください。To learn more about what is logged from the autoscaler, read the FAQ on the Kubernetes/autoscaler GitHub project.

複数のノード プールを有効にしてクラスター オートスケーラーを使用するUse the cluster autoscaler with multiple node pools enabled

クラスター オートスケーラーは、複数のノード プールを有効にして使用できます。The cluster autoscaler can be used together with multiple node pools enabled. そのドキュメントに従って、既存のクラスターで複数のノード プールを有効にし、ノード プールを追加する方法を確認してください。Follow that document to learn how to enable multiple node pools and add additional node pools to an existing cluster. 両方の機能を一緒に使用すると、クラスター内の個々のノード プールでクラスター オートスケーラーを有効にし、それぞれに一意の自動スケーリング ルールを渡すことができます。When using both features together, you enable the cluster autoscaler on each individual node pool in the cluster and can pass unique autoscaling rules to each.

次のコマンドは、このドキュメントで前述した初期手順に従っており、既存のノード プールの最大数を 3 から 5 に更新することを前提としています。The below command assumes you followed the initial instructions earlier in this document and you want to update an existing node pool's max-count from 3 to 5. 既存のノード プールの設定を更新するには、az aks nodepool update コマンドを使用します。Use the az aks nodepool update command to update an existing node pool's settings.

az aks nodepool update \
  --resource-group myResourceGroup \
  --cluster-name myAKSCluster \
  --name nodepool1 \
  --update-cluster-autoscaler \
  --min-count 1 \
  --max-count 5

クラスター オートスケーラーは、az aks nodepool update--disable-cluster-autoscaler パラメーターを渡すことで無効にすることができます。The cluster autoscaler can be disabled with az aks nodepool update and passing the --disable-cluster-autoscaler parameter.

az aks nodepool update \
  --resource-group myResourceGroup \
  --cluster-name myAKSCluster \
  --name nodepool1 \
  --disable-cluster-autoscaler

既存のクラスター上でクラスター オートスケーラーを再度有効にする場合は、az aks nodepool update コマンドで --enable-cluster-autoscaler--min-count、および --max-count パラメーターを指定することで有効にできます。If you wish to re-enable the cluster autoscaler on an existing cluster, you can re-enable it using the az aks nodepool update command, specifying the --enable-cluster-autoscaler, --min-count, and --max-count parameters.

次のステップNext steps

この記事では、AKS ノードの数を自動的にスケーリングする方法について説明します。This article showed you how to automatically scale the number of AKS nodes. また、ポッドの水平オートスケーラーを使用して、アプリケーションを実行するポッドの数を自動的に調整することもできます。You can also use the horizontal pod autoscaler to automatically adjust the number of pods that run your application. ポッドの水平オートスケーラーの使用手順については、「AKS でのアプリケーションのスケーリング」を参照してください。For steps on using the horizontal pod autoscaler, see Scale applications in AKS.