デプロイと探索
Azure Kubernetes Service (AKS) では、新しい node イメージが定期的に提供されるため、最新の AKS 機能を使用するためにノード イメージを頻繁にアップグレードすると便利です。 Linux ノード イメージは毎週更新され、Windowsノード イメージは毎月更新されます。 イメージアップグレードのお知らせは、AKS リリース ノートに含まれており、これらの更新プログラムがすべてのリージョンにロールアウトされるまでに最大 1 週間かかる場合があります。 ロールアウトの状態については、 リリース トラッカー を参照してください。 また、ノード イメージのアップグレードを自動的に実行し、計画メンテナンスを使用してスケジュールすることもできます。 詳細については、「ノード イメージを自動的にアップグレードする」をご覧ください。
AKS では、メンテナンス期間中にノード イメージを自動的にアップグレードしたり、セキュリティ パッチを適用したりできる 自動アップグレード チャネル をお勧めします。 ノード イメージを手動でアップグレードする場合は、この記事の手順に従ってアップグレードできます。 この記事では、AKS クラスター ノード イメージをアップグレードする方法と、Kubernetes バージョンをアップグレードせずにノード プール イメージを更新する方法について説明します。 お使いのクラスターの Kubernetes バージョンのアップグレードの詳細については、「AKS クラスターのアップグレード」をご覧ください。
注
ノード自動プロビジョニング (NAP) を使用するクラスターでは、新しいノード イメージが既定で使用可能になるとノード イメージが自動的に更新されます。これは、メンテナンス期間でもスケジュールできます。 詳細については、NAP ノード イメージの更新に関するドキュメントを参照してください。
ノード イメージ のバージョンをダウングレードすることはできません ( AKSUbuntu-2404 から AKSUbuntu-2204、 AKSUbuntu-2404-202601.27.0 から AKSUbuntu-2404-202601.13.0 など)。
AKS クラスターに接続する
コマンドを使用して AKS クラスターに接続します。
az aks get-credentials \ --resource-group $AKS_RESOURCE_GROUP \ --name $AKS_CLUSTER
使用可能なノード イメージのアップグレードを確認する
コマンドを使用して、使用可能なノード イメージのアップグレードを確認します。
az aks nodepool get-upgrades \ --nodepool-name $AKS_NODEPOOL \ --cluster-name $AKS_CLUSTER \ --resource-group $AKS_RESOURCE_GROUP出力で、 の値を見つけてメモします。 この値は、ノード プールで使用できる最新のノード イメージ バージョンです。
コマンドを使用して、現在のノード イメージ バージョンを確認して最新のバージョンと比較します。
az aks nodepool show \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --query nodeImageVersionの値が と異なる場合は、ノード イメージをアップグレードできます。
すべてのノード プールのすべてのノード イメージをアップグレードする
フラグを指定した コマンドを使用して、クラスター内のすべてのノード プール内のすべてのノード イメージをアップグレードします。
az aks upgrade \ --resource-group $AKS_RESOURCE_GROUP \ --name $AKS_CLUSTER \ --node-image-only \ --yesコマンドを使用して、ノード イメージの状態を確認できます。
注
このコマンドは、お使いのシェルによって若干異なる場合があります。 Windowsおよび PowerShell 環境の詳細については、Kubernetes JSONPath のドキュメントを参照してください。
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'アップグレードが完了したら、 コマンドを使用して、更新されたノード プールの詳細を取得します。 現在のノード イメージが プロパティに表示されます。
az aks show \ --resource-group $AKS_RESOURCE_GROUP \ --name $AKS_CLUSTER \ --query "agentPoolProfiles[].{Name:name, NodeImageVersion:nodeImageVersion}"
特定のノード プールのアップグレード
フラグを指定した コマンドを使用して、Kubernetes クラスターをアップグレードせずにノード プールの OS イメージを更新します。
az aks nodepool upgrade \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --node-image-onlyコマンドを使用して、ノード イメージの状態を確認できます。
注
このコマンドは、お使いのシェルによって若干異なる場合があります。 Windowsおよび PowerShell 環境の詳細については、Kubernetes JSONPath のドキュメントを参照してください。
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'アップグレードが完了したら、 コマンドを使用して、更新されたノード プールの詳細を取得します。 現在のノード イメージが プロパティに表示されます。
az aks nodepool show \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --query nodeImageVersion
ノード サージを使用したノード イメージのアップグレード
ノード イメージのアップグレード プロセスを高速化するために、カスタマイズ可能なノード サージ値を使用して、ノード イメージをアップグレードすることができます。 既定では、AKS は 1 つの追加ノードを使ってアップグレードを構成します。
フラグを指定した コマンドを使用してノード サージのあるノード イメージをアップグレードし、アップグレードに使用するノードの数を構成します。
注
さまざまな 設定のトレードオフの詳細については、「カスタマイズノードサージアップグレード」を参照してください。
az aks nodepool update \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --max-surge 33% \ --no-waitコマンドを使用して、ノード イメージの状態を確認できます。
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'コマンドを使用して、更新されたノード プールの詳細を取得します。 現在のノード イメージが プロパティに表示されます。
az aks nodepool show \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --query nodeImageVersion
次のステップ
- 最新のノード イメージについては、AKS リリース ノートを参照してください。
- AKS クラスターのアップグレードを使用して Kubernetes バージョン をアップグレードする方法について説明します。
GitHub Actions 。- 複数ノードプールの詳細については、「複数ノードプールの作成」 を参照してください。
- AKS パッチとアップグレード ガイダンスを使用したベスト プラクティスのアップグレードについて説明します。