この記事では、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
サポートされている 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:
UbuntuやAzureLinuxなどの既定の OS SKU を使用している場合、 Kubernetes のバージョンをアップグレードすると、自動的に最新の GA バージョンが取得されます。 新しい OS バージョンに移行するために手動で変更する必要はありません。UbuntuOS SKU を使用するクラスターとノード プールは、Kubernetes バージョンを 1.35 以降にアップグレードすると、自動的に Ubuntu 24.04 に移行されます。 -
バージョン管理された OS SKU:
Ubuntu2404、AzureLinux3、Windows2025などのバージョン管理された 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またはAzureLinuxOS 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に移行するときは、次の情報に留意してください。
--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 でのノード イメージ、ノード プールのアップグレード、ノード構成の詳細については、次のリソースを参照してください。
- ノードとノード構成の詳細については、 AKS のコア概念に関するページを参照してください。
- ノード イメージの自動アップグレードを構成し、計画メンテナンスを使用してスケジュールします。
- カスタム ノード構成を適用して、OS または kubelet の設定を変更します。
- 最新のノード イメージについては、AKS リリース ノートを参照してください。
GitHub Actions 。- AKS パッチとアップグレード ガイダンスを使用したベスト プラクティスのアップグレードについて説明します。