A "Frissítés" állapotban elakadt AKS Arc-fürt hibaelhárítása

Ez a cikk azt ismerteti, hogyan hárítható el a probléma, amely miatt az Arc (AKS Arc) által aktivált Azure Kubernetes Service-fürt a frissítési állapotban beragadt. Ez a probléma általában akkor jelentkezik, amikor az Azure Local 2503-as vagy 2504-es verziójára frissít, majd megpróbálja frissíteni a Kubernetes verzióját a klaszteren.

Hibajelenségek

Amikor megpróbál frissíteni egy AKS Arc-fürtöt, észreveszi, hogy a currentState tulajdonsága a frissítés alatt állapotban marad.

az aksarc upgrade --name "cluster-name" --resource-group "rg-name"
===> Kubernetes might be unavailable during cluster upgrades.
 Are you sure you want to perform this operation? (y/N): y
The cluster is on version 1.28.9 and is not in a failed state. 

===> This will upgrade the control plane AND all nodepools to version 1.30.4. Continue? (y/N): y
Upgrading the AKSArc cluster. This operation might take a while...
{
  "extendedLocation": {
    "name": "/subscriptions/resourceGroups/Bellevue/providers/Microsoft.ExtendedLocation/customLocations/bel-CL",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/Bellevue/providers/Microsoft.Kubernetes/ConnectedClusters/Bel-cluster/providers/Microsoft.HybridContainerService/ProvisionedClusterInstances/default",
"name": "default",
"properties": {
"kubernetesVersion": "1.30.4",
"provisioningState": "Succeeded",
"currentState": "Upgrading",
"errorMessage": null,
"operationStatus": null
"agentPoolProfiles": [
      {
        ...

Oka

  • A problémát az Azure Local 2503-ban bevezetett legutóbbi módosítás okozza. Bizonyos feltételek mellett, ha a Kubernetes frissítési folyamata során átmeneti vagy időszakos hibák történnek, a rendszer nem észleli vagy helyreállítja azokat. Ez azt eredményezheti, hogy a fürt állapota frissítési állapotban marad.

  • Ez a probléma akkor jelenik meg, ha az AKS Arc egyéni helybővítményének hybridaksextension verziója 2.1.211 vagy 2.1.223. A következő parancs futtatásával ellenőrizheti a klaszter bővítmény verzióját:

    az login --use-device-code --tenant <Azure tenant ID> 
    az account set -s <subscription ID> 
    $res=get-archcimgmt
    az k8s-extension show -g $res.HybridaksExtension.resourceGroup -c $res.ResourceBridge.name --cluster-type appliances --name hybridaksextension
    
    {
      "aksAssignedIdentity": null,
      "autoUpgradeMinorVersion": false,
      "configurationProtectedSettings": {},
      "currentVersion": "2.1.211",
      "customLocationSettings": null,
      "errorInfo": null,
      "extensionType": "microsoft.hybridaksoperator",
      ...
    }
    

Enyhítés

Ezt a problémát az Azure Local AKS 2505-ös verziójában javítottuk. Frissítse az Azure Local üzembe helyezését a 2505-ös buildre. A frissítés után ellenőrizze, hogy a Kubernetes-verzió frissítve lett-e , és a currentState fürt tulajdonsága sikeresként jelenik-e meg.

Kerülő megoldás az Azure Local 2503-as vagy 2504-es verzióihoz

Ez a probléma csak az Azure Helyi 2503-as vagy 2504-es verziójában, valamint az AKS Arc kiterjesztés 2.1.211-es vagy 2.1.223-es verziójában lévő fürtöket érinti. Az itt ismertetett kockázatcsökkentés csak akkor alkalmazható, ha nem tud frissíteni a 2505-ös verzióra.

A problémát az AKS Arc update parancs futtatásával oldhatja meg. A update parancs újraindítja a frissítési folyamatot. A aksarc update parancsot helyőrző paraméterekkel futtathatja, amelyek nem befolyásolják a klaszter állapotát. Ebben az esetben futtathatja a parancsot az update NFS- vagy SMB-illesztőprogramok engedélyezéséhez, ha ezek a funkciók még nincsenek engedélyezve. Először ellenőrizze, hogy a tárolóillesztők valamelyike már engedélyezve van-e:

az login --use-device-code --tenant <Azure tenant ID> 
az account set -s <subscription ID> 
az aksarc show -g <resource_group_name> -n <cluster_name>

Ellenőrizze a tárprofil szakaszt:

"storageProfile": {  
     "nfsCsiDriver": {  
       "enabled": false
     },  
     "smbCsiDriver": {  

       "enabled": true  
     }  
   }

Ha az egyik illesztőprogram le van tiltva, az alábbi parancsok egyikével engedélyezheti:

az aksarc update --enable-smb-driver -g <resource_group_name> -n <cluster_name>
az aksarc update --enable-nfs-driver -g <resource_group_name> -n <cluster_name>

A parancs futtatásának aksarc update meg kell oldania a problémát, és a currentState fürt tulajdonságának most sikeresnek kell lennie. Ha az állapot frissítése után nem szeretné engedélyezni az illesztőprogramokat, az alábbi parancsok egyikének futtatásával megfordíthatja ezt a műveletet:

az aksarc update --disable-smb-driver -g <resource_group_name> -n <cluster_name>
az aksarc update --disable-nfs-driver -g <resource_group_name> -n <cluster_name>

Ha mindkét illesztőprogram már engedélyezve van a fürtön, letilthatja a nem használt illesztőprogramot. Ha mindkét meghajtót engedélyezni szeretné, további támogatásért forduljon a Microsoft ügyfélszolgálatához.

Ellenőrzés

Annak megerősítéséhez, hogy a K8s verziófrissítése befejeződött, futtassa a következő parancsot, és ellenőrizze, hogy a JSON-kimenetben található currentState tulajdonság Succeeded értékre van állítva.

az aksarc show -g <resource_group> -n <cluster_name>
...
...
"provisioningState": "Succeeded",
"status": {
    "currentState": "Succeeded",
    "errorMessage": null,
    "operationStatus": null
    "controlPlaneStatus": { ...
...

Kapcsolatfelvétel a Microsoft ügyfélszolgálattal

Ha a probléma továbbra is fennáll, gyűjtse össze az AKS-fürt naplóit, mielőtt hibaelhárítási kérést hozzon létre.

Következő lépések