Dela via


Uppgradera ett AKS-kluster (Azure Kubernetes Service)

Gäller för: Azure Local, 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 innebär antingen en övergång 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 förs in i 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 kan du läsa 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 visar 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.

Kommentar

Om ingen korrigering anges uppgraderas klustret automatiskt till den angivna delversionens senaste GA-korrigering. Om du till exempel anger --kubernetes-version 1,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 hjälp show av kommandot :

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 mindre versioner 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 fortsätter att visa Uppgradering när uppgraderingen fortsätter 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öd. 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 som anger att den här funktionen inte stöds ännu.

Nästa steg