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-version
を 1.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
インジケーターの両方に、進行中のプロセスを反映する アップグレード メッセージが表示されます。 ただし、操作がタイムアウトした場合、 provisioningState
は Failed を表示し、 currentState
はバックグラウンドでアップグレードを続行すると アップグレード を表示し続けます。 アクションは必要ありません。アップグレードは完了するまで続行されます。
オペレーティング システム (OS) バージョンの更新
Kubernetes バージョンを変更せずにワーカー ノードを新しいバージョンのノード イメージに更新することは、新しいイメージに別の Kubernetes バージョンが必要ない場合にのみ機能します。 現在、AKS Arc では、サポートされているすべての Kubernetes バージョンでノード イメージのみの更新はサポートされていません。 ノード イメージを更新する必要がある場合は、すべてのノード イメージの更新が確実に組み込まれるように、クラスターを最新の Kubernetes バージョンにアップグレードする必要があります。
重要
node-image-only
フラグを使用しようとすると、この機能がまだサポートされていないことを示すメッセージが表示されます。