AKS でのオペレーティング システム (OS) バージョンのアップグレード

この記事では、Azure Kubernetes Service (AKS) ノードで使用できる OS バージョンと、OS バージョンをテストおよびアップグレードするためのベスト プラクティスについて説明します。

Important

2027 年 17 月 17 日 以降、Azure Kubernetes Service (AKS)は Ubuntu 20.04 のセキュリティ更新プログラムをサポートまたは提供しなくなりました。 既存のノード イメージはすべて削除され、Ubuntu 20.04 を実行しているノード プールをスケーリングすることはできません。 ノード プールを Kubernetes バージョン 1.35 以降にアップグレードして、サポートされている Ubuntu バージョンに移行します。 この提供終了の詳細については、Retirement GitHubの問題 および Azure 更新プログラムの提供終了に関する発表を参照してください。 お知らせや更新情報を常に把握するには、AKS リリース ノートに従ってください。

Important

June 30、2027 以降、Azure Kubernetes Service (AKS)は Ubuntu 22.04 のセキュリティ更新プログラムをサポートまたは提供しなくなりました。 中断を回避するには、その日までに Ubuntu 24.04 以降に 移行 します。 2027 年 6 月 30 日までの間、中断することなく、AKS で Ubuntu 22.04 を引き続き使用できます。 2027 年 6 月 30 日までに移行しないと、新しいノード プールを作成できず、AKS は新しいノード イメージを生成せず、既存のノード プールのセキュリティ パッチを受け取らなくなります。 Kubernetes バージョン 1.33 以降で長期サポート (LTS) を有効にする場合は、最初にノード プールを Ubuntu 24.04 に更新します。 2028 年 4 月 30 日、AKS は Ubuntu 22.04 ノード イメージと既存のコードを削除し、スケーリングと修復操作が失敗します。 セキュリティの脆弱性、ノード イメージのアップグレードの失敗、スケーリングエラーなどのサービスの中断を回避するには、2027 年 6 月 30 日までに Ubuntu 24.04 以降に 移行 します。 移行オプションは次のとおりです。

  • 既定のオペレーティング システム SKU (OSSku):Ubuntuを使用している場合、Kubernetes バージョンを 1.35 以降にアップグレードすると、自動的に Ubuntu 24.04 に移行されます。
  • バージョン管理 OSSku: Ubuntu2204をご利用の場合、Kubernetes 1.35 以降は Ubuntu 、Kubernetes 1.32 以降は Ubuntu2404 に OS Sku を更新してください。

この提供終了の詳細については、Retirement GitHubの問題および Azure 更新プログラムの投稿を参照してください。 お知らせや更新情報を常に把握するには、AKS リリース ノートに従ってください。

Important

2025 年 1 月 30 日 以降、Azure Kubernetes Service (AKS)では、Azure Linux 2.0 のセキュリティ更新プログラムがサポートまたは提供されなくなります。 Azure Linux 2.0 ノード イメージは、202512.06.0 リリースでフリーズします。 2026 年 3 月 31 日以降、ノード イメージは削除され、ノード プールをスケーリングできなくなります。 サポートされている Azure Linux バージョンに移行するには、ノード プールをサポートされている Kubernetes バージョンにアップグレードするか、osSku AzureLinux3 に移行します。 詳細については、Retirement GitHubの問題および Azure 更新プログラムの提供終了のお知らせを参照してください。 お知らせや更新情報を常に把握するには、AKS リリース ノートに従ってください。

サポートされている OS バージョン

ノード イメージ は OS バージョンに対応しており、OS SKU を使用して指定できます。 クラスターとノード プールを作成するときに、次のパラメーターを指定できます。

  • --os-type: Linux または Windows を含む OS の種類。 クラスターの作成または更新時に、Windows OS の種類を指定することはできません。
  • --os-sku: OS バージョンまたは OS バリアントを指定するために使用されます。 クラスターの作成または更新中に、Windows OS SKU を指定することはできません。 サポートされている OS SKU オプションの詳細については、Azure AKS CLI または API を参照してください。
  • --kubernetes-version: ノード プールまたはクラスターの作成に使用する Kubernetes のバージョン。

ベスト プラクティスのガイダンス

既定の OS バージョンは、最新の検証済みバージョンです。

  • Ubuntu の場合は、 --os-type Linux--os-sku Ubuntuを指定しながらクラスターとノード プールを作成することをお勧めします。 これにより、Kubernetes のバージョンに基づいて、最新の既定の Ubuntu バージョンに自動的に更新されます。
  • Azure Linux の場合は、クラスターとノード プールを作成し、--os-type Linux--os-sku AzureLinux を指定することをお勧めします。 これにより、Kubernetes のバージョンに基づいて、Linux Azureの最新の既定のバージョンに自動的に更新されます。
  • Windowsでは、--os-type Windows--os-sku Windows2022 を指定しながらノード プールを作成することをお勧めします。 ノード プールがリリースされたら、ノード プールを次の OS バージョンに手動で更新する必要があります。
OS の種類 OSインベントリコード(SKU) サポートされている Kubernetes のバージョン 既定のバージョン管理
Linux ウブントゥ この OS SKU は、すべての Kubernetes バージョンでサポートされています。 この OS SKU の OS バージョンは、Kubernetes のバージョンに基づいて変更されます。 Ubuntu 22.04 は、Kubernetes バージョン 1.25 から 1.34 の既定です。 Ubuntu 24.04 は、Kubernetes バージョン 1.35 以降の既定です。
Linux Ubuntu2404 この OS SKU は、Kubernetes 1.32 から 1.38 でのみサポートされます。 Kubernetes のバージョンをアップグレードせずに新しい OS バージョンに移行する場合は、このバージョン管理された OS SKU をお勧めします。 Kubernetes バージョン 1.35 以降で --os-sku Ubuntu を使用する場合、Ubuntu 24.04 は既定です。
Linux Ubuntu2204 この OS SKU は、Kubernetes バージョン 1.25 から 1.36 でサポートされています。 Ubuntu 22.04 にロールバックする必要がある場合は、このバージョン管理された OS SKU をお勧めします。 Kubernetes バージョン 1.25 から 1.35 で --os-sku Ubuntu を使用する場合、Ubuntu 22.04 は既定です。
Linux AzureLinux この OS SKU は、すべての Kubernetes バージョンでサポートされています。 この OS SKU の OS バージョンは、Kubernetes のバージョンに基づいて変更されます。 Azure Linux 2.0 は、Kubernetes バージョン 1.27 から 1.31 の既定です。 Azure Linux 3.0 は、Kubernetes バージョン 1.32 以降の既定です。 AKS 1.31 で AzureLinuxV3Preview 機能フラグが有効になっている場合、 --os-sku AzureLinux の既定値は 3.0 になります。
Linux AzureLinux3 この OS SKU は、Kubernetes 1.28 から 1.36 でサポートされています。 Kubernetes バージョンをアップグレードせずに新しい OS バージョンをテストする場合は、この OS SKU をお勧めします。 この OS SKU を使用して、Azure Linux 2.0 から Azure Linux 3.0 に移行することもできます。
Linux AzureLinuxOSGuard この OS SKU は、Kubernetes バージョン 1.32 以降でサポートされています。 Azure Linux と OS Guard のバージョンは、ノード イメージのアップグレードによってアップグレードされます。 詳細については、「Azure Linux with OS Guard for AKS」を参照してください。
Linux 平床貨車 この OS SKU は、すべての Kubernetes バージョンでサポートされています。 フラットカー バージョンは、ノード イメージのアップグレードによってアップグレードされます。 詳細については、「 AKS 用 Flatcar Container Linux」を参照してください。
Windows Windows2019 1.14 から 1.32 Kubernetes バージョン 1.14 から 1.24 の Windows OS の種類の既定値。
Windows Windows2022 1.23 から 1.34 Kubernetes バージョン 1.25 から 1.34 の Windows OS の種類の既定値。

新しい OS バージョンに移行する

AKS で新しい OS バージョンがリリースされると、最初はプレビューでサポートされます。 数か月間プレビューでテストした後、AKS は新しい OS バージョンを一般公開 (GA) し、既定の OS SKU (Ubuntu または AzureLinux) を最新の GA OS バージョンに更新します。 この既定の更新は、新しい Kubernetes バージョンリリースで行われます。

プレビューで使用できるようになると、新しい OS バージョンで非運用環境のワークロードをテストすることをお勧めします。 プレビュー機能にアクセスするには、プレビュー拡張機能がインストールされていることを確認してください。 az extension add --name aks-preview コマンドを使用して拡張機能をインストールできます。

新しい OS バージョンに移行するには、次の 2 つの方法があります。

  • 既定の OS SKU: UbuntuAzureLinuxなどの既定の OS SKU を使用している場合、 Kubernetes のバージョンをアップグレードすると、自動的に最新の GA バージョンが取得されます。 新しい OS バージョンに移行するために手動で変更する必要はありません。 Ubuntu OS SKU を使用するクラスターとノード プールは、Kubernetes バージョンを 1.35 以降にアップグレードすると、自動的に Ubuntu 24.04 に移行されます。
  • バージョン管理された OS SKU: Ubuntu2404AzureLinux3Windows2025などのバージョン管理された OS SKU を使用している場合は、Kubernetes のアップグレードがブロックされないように、新しい OS バージョンに手動で移行する必要があります。 Linux OS を使用している場合は、既存のノード プールの OS SKU を更新して手動で移行できます。

既存のノード プールの OS SKU を更新する

os-sku コマンドを使用して、既存のノード プールのaz aks nodepool updateを更新します。 プレビューで使用できる新しい OS バージョンがある場合、この機能を使用すると、Kubernetes のバージョンをアップグレードしなくても、ノード プールを新しい OS バージョンに移行できます。

ノード プール更新コマンドでは、次の値はサポートされていません。

  • --os-sku Windows2019
  • --os-sku Windows2022
  • --os-sku Windows2025

代わりに、使用する予定の対応する --os-sku を使用して、クラスターにノード プールを追加する必要があります。

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --os-sku Ubuntu \
    --name $NODE_POOL_NAME \
    --node-count 1

az aks nodepool update コマンドを使用して、サポートされている Linux os-sku間で移行できます。 ターゲット OS に Kubernetes のバージョン、VM サイズ、または FIPS 有効化でサポートされているノード イメージがない場合、コマンドが失敗する可能性があります。

Ubuntu 24.04 への移行

Ubuntu 24.04 は、Kubernetes バージョン 1.35 以降の --os-sku Ubuntu の既定値です。 --os-sku Ubuntu2404を指定して Ubuntu 24.04 を使用することもできます。

--os-sku Ubuntu2404に移行するときは、次の情報に留意してください。

  • FIPS はサポートされていません。
  • Ubuntu 24.04 は、Kubernetes バージョン 1.32 から 1.38 でサポートされています。
  • AKS 上の Ubuntu 24.04 ノード イメージでは、既定でコンテナー化された 2.0 が使用されます。 コンテナー ランタイムの動作に依存するワークロードは、Ubuntu 24.04 に移行するときにコンテナー 2.0 で検証する必要があります。
  • Kubernetes バージョンを 1.39 以降にアップグレードする前に、OS SKU をサポートされている OS オプションに更新する必要があります。 --os-sku Ubuntu2404 はオプションであり、Kubernetes のバージョンをアップグレードする必要なく、新しい OS Linux バージョンをテストすることを目的としています。
  • プレビューの Azure CLI バージョン 18.0.0b5 以降および GA の Azure CLI バージョン 2.82.0 がインストールおよび構成されている必要があります。 CLI のバージョンを確認するには、 az --versionを実行します。 インストールまたはアップグレードする必要がある場合は、「Install Azure CLIを参照してください。

--os-sku Ubuntu2404 コマンドを使用して、既存のノード プールのaz aks nodepool updateに更新します。

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --os-sku Ubuntu2404 \
    --kubernetes-version 1.32.0 \
    --name $NODE_POOL_NAME \
    --node-count 1

Azure Linux 3.0 への移行

Azure Linux 3.0 は、Kubernetes バージョン 1.32 から 1.36 の --os-sku AzureLinux の既定値です。 --os-sku AzureLinux3 を指定して、Azure Linux 3.0 を使用することもできます。

--os-sku AzureLinux3に移行するときは、次の情報に留意してください。

  • --os-sku AzureLinux3 は、Kubernetes バージョン 1.28 から 1.36 でサポートされています。
  • --os-sku AzureLinux3 は、Kubernetes バージョンをアップグレードせずに Azure Linux 3.0 に移行することを目的としています。 Kubernetes バージョンを 1.37 以降にアップグレードする前に、OS SKU をサポートされている OS オプションに更新する必要があります。
  • Azure CLI バージョン 18.0.0b36 以降が preview 用にインストールおよび構成されている必要があり、バージョン 2.78.0 以降が GA 用にインストールおよび構成されている必要があります。 CLI のバージョンを確認するには、 az --versionを実行します。 インストールまたはアップグレードする必要がある場合は、「Install Azure CLIを参照してください。

--os-sku AzureLinux3 コマンドを使用して、既存のノード プールのaz aks nodepool updateに更新します。

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --os-sku AzureLinux3 \
    --kubernetes-version 1.30.0 \
    --name $NODE_POOL_NAME \
    --node-count 1

OS バージョンをロールバックする

複数の OS バージョンがサポートされている Kubernetes バージョンでは、 az aks nodepool update コマンドを使用して以前の OS バージョンにロールバックできます。

次のシナリオでは、OS のバージョンをロールバックできます。

  • 新しい OS バージョンをテストしていて、問題が発生した場合。
  • 新しい OS バージョンを既定としてサポートする Kubernetes バージョンにアップグレードしたら、既定の Ubuntu または AzureLinux OS SKU にロールバックできます。 これにより、ノード プールの更新を必要とするのではなく、Kubernetes のアップグレードの一部として将来の OS バージョンを取得できます。

OS バージョンを既定の OS SKU にロールバックする

az aks nodepool update コマンドを使用して、既存のノード プールのos-skuを更新できます。 Kubernetes バージョンでサポートされている以前の OS バージョンがある場合は、この機能を使用して OS バージョンをロールバックできます。

ノード プール更新コマンドでは、次の値はサポートされていません。

  • --os-sku Windows2019
  • --os-sku Windows2022
  • --os-sku Windows2025

代わりに、使用する予定の対応する --os-sku を使用して、クラスターにノード プールを追加する必要があります。

OSインベントリコード(SKU) 既定の OS バージョン
ウブントゥ OS SKU Ubuntuがある場合、Kubernetes バージョンが 1.25 から 1.34 の場合、Ubuntu 22.04 が既定の OS バージョンになります。 Ubuntu 24.04 は、Kubernetes 1.35 から 1.37 の Ubuntu の既定値です。
AzureLinux OS SKU AzureLinux がある場合、Kubernetes 1.26 から 1.31 において、AzureLinux の既定値は Azure Linux 2.0 です。 Azure Linux 3.0 は、Kubernetes 1.32 から 1.36 の AzureLinux の既定値です。

既存のノード プールで OS SKU を Ubuntu に更新する

OS SKU Ubuntuを使用するようにノード プールを更新すると、Kubernetes のバージョンに基づいて既定の OS バージョンが取得されます。 これにより、ノード プールの更新コマンド中に OS のバージョンが変更された場合に、自動再イメージ化がトリガーされる可能性があります。

--os-sku Ubuntu コマンドを使用して、既存のノード プールaz aks nodepool updateを更新します。

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --os-sku Ubuntu \
    --name $NODE_POOL_NAME \
    --node-count 1

az aks nodepool update コマンドを使用して、サポートされている Linux os-sku間で移行できます。 ターゲット OS に Kubernetes のバージョン、VM サイズ、または FIPS 有効化でサポートされているノード イメージがない場合、コマンドが失敗する可能性があります。

既存のノード プールで OS SKU を Azure Linux に更新する

OS SKU AzureLinuxを使用するようにノード プールを更新すると、Kubernetes のバージョンに基づいて既定の OS バージョンが取得されます。 これにより、ノード プールの更新コマンド中に OS のバージョンが変更された場合に、自動再イメージ化がトリガーされる可能性があります。

--os-sku AzureLinux コマンドを使用して、既存のノード プールのaz aks nodepool updateに更新します。

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --os-sku AzureLinux \
    --name $NODE_POOL_NAME \
    --node-count 1

Ubuntu 22.04 にロールバックする

--os-sku Ubuntu2204に移行するときは、次の情報に留意してください。

  • FIPSCVM はサポートされていません。
  • Ubuntu 22.04 は、Kubernetes バージョン 1.25 から 1.36 でサポートされています。
  • --os-sku Ubuntu2204 は、現在の Kubernetes バージョンで Ubuntu 22.04 にロールバックすることを目的としています。 Kubernetes バージョンを 1.37 以降にアップグレードするには、OS SKU をサポートされている OS オプションに更新する必要があります。

--os-sku Ubuntu2204 コマンドを使用して、既存のノード プールのaz aks nodepool updateにロールバックします。

az aks nodepool update \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --os-sku Ubuntu2204 \
    --kubernetes-version 1.32.0 \
    --name $NODE_POOL_NAME \
    --node-count 1

次のステップ

AKS でのノード イメージ、ノード プールのアップグレード、ノード構成の詳細については、次のリソースを参照してください。