次の方法で共有


Azure Kubernetes Service (AKS) クラスターのアップグレード

適用対象: Azure Local バージョン 23H2

アプリケーションとクラスターのライフサイクルの管理の一環として、利用可能な最新バージョンの Kubernetes にアップグレードできます。 アップグレードには、新しいバージョンの Kubernetes への移行、オペレーティング システム (OS) バージョンの更新プログラムの適用 (修正プログラムの適用)、またはその両方が含まれます。 AKS Arc では、最新の OS とランタイム更新プログラムを使用したワークロード クラスター内のノードのアップグレード (または修正プログラムの適用) がサポートされています。

すべてのアップグレードは、ワークロードの可用性を確実に維持するために、継続的かつローリング方式で実行されます。 新しいビルドを持つ新しい Kubernetes ワーカー ノードがクラスターに取り込まれると、リソースは古いノードから 新しい ノードに移動されます。 これが正常に完了すると、古いノードは使用停止になり、クラスターから削除されます。

開始する前に

Azure CLI を使っている場合、この記事では Azure CLI バージョン 2.34.1 以降が必要です。 バージョンを確認するには、az --version を実行します。 CLI をインストールまたはアップグレードする必要がある場合は、 Azure CLI のインストールを参照してください。

利用可能なアップグレードを確認する

次のコマンドを使用して、クラスターで使用できる Kubernetes リリースを確認します。

az aksarc get-upgrades --resource-group myResourceGroup --name myAKSCluster

次の出力例は、現在のバージョンを 1.24.11 として示しupgradesで使用可能なバージョンを一覧表示します。

{  
  "agentPoolProfiles": [  
    {  
      "kubernetesVersion": "1.24.11",  
      "upgrades": [  
        {  
          "kubernetesVersion": "1.25.7"  
        }  
      ]  
    }  
  ],  
  "controlPlaneProfile": {  
    "kubernetesVersion": "1.24.11",  
    "name": "aksarc-testupgrade",  
    "osType": "Linux",  
    "upgrades": [  
      {  
        "kubernetesVersion": "1.25.7"  
      }  
    ]  
  },  
  ...  
  "provisioningState": "Succeeded",  
  ...  
}

Kubernetes バージョンのアップグレード

サポートされている AKS クラスターをアップグレードする場合、Kubernetes マイナー バージョンはスキップできません。 すべてのアップグレードは、メジャー バージョン番号の順番に実行する必要があります。 たとえば、 1.24.x から 1.25.x または 1.25.x から 1.26.x へのアップグレードが許可されます。 1.24.x から 1.26.x は許可されません。

Note

パッチが指定されていない場合、クラスターは、指定されたマイナー バージョンの最新 GA パッチに自動的にアップグレードされます。 たとえば、 --kubernetes-version1.25 に設定すると クラスターが 1.25.7 にアップグレード

次のコマンドを使用して、クラスターをアップグレードできます。

az aksarc upgrade \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --kubernetes-version <KUBERNETES_VERSION>

show コマンドを使用して、アップグレードが成功したことを確認します。

az aksarc show --resource-group myResourceGroup --name myAKSCluster

次の出力例は、クラスターが 1.25.7 実行されていることを示しています。

{  
"extendedLocation": {  
  "name":
"/subscriptions/<subscription>/resourcegroups/<resource group>/providers/microsoft.extendedlocation/customlocations/<custom
location>",  
  "type": "CustomLocation"  
},  
"id": "/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.Kubernetes/connectedClusters/aksarc-testupgrade/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default",  
"name": "default",  
"properties": {  
  "agentPoolProfiles": [  
    {  
    }  
  ],  
  "controlPlane": {  
    "availabilityZones": null,  
    "controlPlaneEndpoint": {  
      "hostIp": null,  
      "port": null  
    },  
    "count": 1,  
    "linuxProfile": {  
      "ssh": {  
        "publicKeys": null  
      }  
    },  
    "name": null,  
    "nodeImageVersion": null,  
    "osSku": "CBLMariner",  
    "osType": "Linux",  
    "vmSize": "Standard_A4_v2"  
  },  
  "kubernetesVersion": "1.25.7",  
...  
  "provisioningState": "Succeeded",  
  ...  
},  
....  
"type": "microsoft.hybridcontainerservice/provisionedclusterinstances"  
}

重要

2 つ以上のマイナー バージョンをスキップするサポートされていないバージョンからのアップグレードを実行する場合、アップグレードでは適切な機能を保証できません。 バージョンが大幅に古い場合は、代わりにクラスターを再作成することをお勧めします。

アップグレード操作中、 provisioningState インジケーターと currentState インジケーターの両方に、進行中のプロセスを反映する アップグレード メッセージが表示されます。 ただし、操作がタイムアウトした場合、 provisioningStateFailed を表示し、 currentState はバックグラウンドでアップグレードを続行すると アップグレード を表示し続けます。 アクションは必要ありません。アップグレードは完了するまで続行されます。

オペレーティング システム (OS) バージョンの更新

Kubernetes バージョンを変更せずにワーカー ノードを新しいバージョンのノード イメージに更新することは、新しいイメージに別の Kubernetes バージョンが必要ない場合にのみ機能します。 現在、AKS Arc では、サポートされているすべての Kubernetes バージョンでノード イメージのみの更新はサポートされていません。 ノード イメージを更新する必要がある場合は、すべてのノード イメージの更新が確実に組み込まれるように、クラスターを最新の Kubernetes バージョンにアップグレードする必要があります。

重要

node-image-only フラグを使用しようとすると、この機能がまだサポートされていないことを示すメッセージが表示されます。

次のステップ