次の方法で共有


Azure Kubernetes Service (AKS) ノード イメージをアップグレードする

デプロイと探索

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 クラスターに接続する

  1. コマンドを使用して AKS クラスターに接続します。

    az aks get-credentials \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER
    

使用可能なノード イメージのアップグレードを確認する

  1. コマンドを使用して、使用可能なノード イメージのアップグレードを確認します。

    az aks nodepool get-upgrades \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. 出力で、 の値を見つけてメモします。 この値は、ノード プールで使用できる最新のノード イメージ バージョンです。

  3. コマンドを使用して、現在のノード イメージ バージョンを確認して最新のバージョンと比較します。

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. の値が と異なる場合は、ノード イメージをアップグレードできます。

すべてのノード プールのすべてのノード イメージをアップグレードする

  1. フラグを指定した コマンドを使用して、クラスター内のすべてのノード プール内のすべてのノード イメージをアップグレードします。

    az aks upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER \
        --node-image-only \
        --yes
    
  2. コマンドを使用して、ノード イメージの状態を確認できます。

    このコマンドは、お使いのシェルによって若干異なる場合があります。 Windowsおよび PowerShell 環境の詳細については、Kubernetes JSONPath のドキュメントを参照してください。

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. アップグレードが完了したら、 コマンドを使用して、更新されたノード プールの詳細を取得します。 現在のノード イメージが プロパティに表示されます。

    az aks show \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER  \
        --query "agentPoolProfiles[].{Name:name, NodeImageVersion:nodeImageVersion}"
    

特定のノード プールのアップグレード

  1. フラグを指定した コマンドを使用して、Kubernetes クラスターをアップグレードせずにノード プールの OS イメージを更新します。

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  2. コマンドを使用して、ノード イメージの状態を確認できます。

    このコマンドは、お使いのシェルによって若干異なる場合があります。 Windowsおよび PowerShell 環境の詳細については、Kubernetes JSONPath のドキュメントを参照してください。

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. アップグレードが完了したら、 コマンドを使用して、更新されたノード プールの詳細を取得します。 現在のノード イメージが プロパティに表示されます。

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    

ノード サージを使用したノード イメージのアップグレード

ノード イメージのアップグレード プロセスを高速化するために、カスタマイズ可能なノード サージ値を使用して、ノード イメージをアップグレードすることができます。 既定では、AKS は 1 つの追加ノードを使ってアップグレードを構成します。

  1. フラグを指定した コマンドを使用してノード サージのあるノード イメージをアップグレードし、アップグレードに使用するノードの数を構成します。

    さまざまな 設定のトレードオフの詳細については、「カスタマイズノードサージアップグレード」を参照してください。

    az aks nodepool update \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --max-surge 33% \
        --no-wait
    
  2. コマンドを使用して、ノード イメージの状態を確認できます。

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. コマンドを使用して、更新されたノード プールの詳細を取得します。 現在のノード イメージが プロパティに表示されます。

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    

次のステップ

  • 最新のノード イメージについては、AKS リリース ノートを参照してください。
  • AKS クラスターのアップグレードを使用して Kubernetes バージョン をアップグレードする方法について説明します。
  • GitHub Actions
  • 複数ノードプールの詳細については、「複数ノードプールの作成」 を参照してください。
  • AKS パッチとアップグレード ガイダンスを使用したベスト プラクティスのアップグレードについて説明します。