Uppgradera ett AKS-kluster (Azure Kubernetes Service)

Gäller för: Azure Stack HCI, version 23H2

Som en del av hanteringen av programmets och klustrets livscykel kanske du vill uppgradera till den senaste tillgängliga versionen av Kubernetes. En uppgradering omfattar antingen en flytt till en nyare version av Kubernetes, tillämpning av operativsystemversionsuppdateringar (korrigering) eller båda. AKS Arc stöder uppgradering (eller korrigering) av noder i ett arbetsbelastningskluster med de senaste uppdateringarna för operativsystem och körning.

Alla uppgraderingar körs kontinuerligt och löpande för att säkerställa oavbruten tillgänglighet för arbetsbelastningar. När en ny Kubernetes-arbetsnod med en nyare version hämtas till klustret flyttas resurser från den gamla noden till den nya noden. När detta har slutförts inaktiveras den gamla noden och tas bort från klustret.

Innan du börjar

Om du använder Azure CLI kräver den här artikeln Azure CLI version 2.34.1 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera CLI läser du Installera Azure CLI.

Sök efter tillgängliga uppgraderingar

Kontrollera vilka Kubernetes-versioner som är tillgängliga för klustret med hjälp av följande kommando:

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

Följande exempelutdata visar den aktuella versionen som 1.24.11 och listar de tillgängliga versionerna under 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",  
  ...  
}

Uppgradera Kubernetes-versionen

När du uppgraderar ett AKS-kluster som stöds kan du inte hoppa över Kubernetes-delversioner. Du måste utföra alla uppgraderingar sekventiellt efter huvudversionsnummer. Till exempel tillåts uppgraderingar från 1.24.x till 1.25.x eller 1.25.x till 1.26.x . 1.24.x till 1.26.x tillåts inte.

Anteckning

Om ingen korrigering anges uppgraderas klustret automatiskt till den angivna delversionens senaste GA-korrigering. Om du till exempel anger --kubernetes-version1.25 uppgraderas klustret till 1.25.7.

Du kan uppgradera klustret med följande kommando:

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

Bekräfta att uppgraderingen lyckades med kommandot show :

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

Följande exempelutdata visar att klustret nu kör 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"  
}

Viktigt

När du utför en uppgradering från en version som inte stöds och hoppar över två eller flera delversioner kan uppgraderingen inte garantera korrekt funktionalitet. Om din version är betydligt inaktuell rekommenderar vi att du återskapar klustret i stället.

Under en uppgraderingsåtgärd visar både indikatorerna provisioningState och currentState ett uppgraderingsmeddelande som återspeglar den pågående processen. Men om åtgärden överskrider tidsgränsen provisioningState visas Misslyckades medan currentState uppgraderingen fortsätter att visas i bakgrunden. Ingen åtgärd krävs. uppgraderingen fortsätter tills den är klar.

Uppdatera operativsystemversion (OS)

Uppdatering av arbetsnoder till en nyare version av nodbilden utan att ändra Kubernetes-versionen fungerar bara om den nya avbildningen inte kräver en annan Kubernetes-version. AKS Arc stöder för närvarande inte nod-avbildningsuppdateringar för alla Kubernetes-versioner som stöds. Om du behöver uppdatera nodavbildningen måste du uppgradera klustret till den senaste Kubernetes-versionen för att säkerställa att alla nodavbildningsuppdateringar införlivas.

Viktigt

När du försöker använda node-image-only flaggan får du ett meddelande om att den här funktionen inte stöds ännu.

Nästa steg