Actualización de un clúster de Azure Kubernetes Service (AKS)

Se aplica a: Azure Stack HCI, versión 23H2

Como parte de la administración del ciclo de vida de la aplicación y el clúster, es posible que desee actualizar a la versión más reciente disponible de Kubernetes. Una actualización implica un traslado a una versión más reciente de Kubernetes, la aplicación de actualizaciones de versión del sistema operativo (so) o ambas. AKS Arc admite la actualización de nodos (o aplicación de revisiones) en un clúster de cargas de trabajo con las actualizaciones más recientes del sistema operativo y el entorno de ejecución.

Todas las actualizaciones se ejecutan de forma continua y gradual para garantizar la disponibilidad ininterrumpida de las cargas de trabajo. Cuando se incorpora en el clúster un nuevo nodo de trabajo de Kubernetes con la compilación más reciente, los recursos se mueven del nodo anterior al nuevo. Una vez completado correctamente, el nodo anterior se retira y se quita del clúster.

Antes de empezar

Si usa la CLI de Azure, en este artículo se requiere la versión 2.34.1 o posterior de la CLI de Azure. Ejecute az --version para encontrar la versión. Si necesita instalar o actualizar la CLI, consulte Instalación de la CLI de Azure.

Buscar actualizaciones disponibles

Compruebe qué versiones de Kubernetes están disponibles para el clúster mediante el siguiente comando:

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

En la salida de ejemplo siguiente se muestra la versión actual como 1.24.11 y se enumeran las versiones disponibles en 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",  
  ...  
}

Actualización de la versión de Kubernetes

Al actualizar un clúster de AKS compatible, no puede omitir las versiones secundarias de Kubernetes. Debe hacer las actualizaciones secuencialmente con arreglo al número de versión principal. Por ejemplo, se permiten las actualizaciones de 1.24.x a 1.25.x o 1.25.x a 1.26.x . No se permite 1.24.x a 1.26.x.

Nota

Si no se especifica ninguna revisión, el clúster se actualiza automáticamente a la revisión de disponibilidad general más reciente de la versión secundaria especificada. Por ejemplo, si se establece --kubernetes-version en 1.25 , el clúster se actualiza a 1.25.7.

Puede actualizar el clúster mediante el siguiente comando:

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

Confirme que la actualización se realizó correctamente mediante el show comando :

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

En la salida de ejemplo siguiente se muestra que el clúster ahora ejecuta la versión 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"  
}

Importante

Cuando se realiza una actualización desde una versión no admitida que omite dos o más versiones secundarias, la actualización no puede garantizar la funcionalidad adecuada. Si la versión está significativamente obsoleta, se recomienda volver a crear el clúster en su lugar.

Durante una operación de actualización, los provisioningState indicadores y currentState muestran un mensaje de actualización para reflejar el proceso en curso. Sin embargo, si se agota el tiempo de espera de la operación, provisioningState se muestra Error, mientras currentState continúa mostrando la actualización a medida que la actualización continúa en segundo plano. No se requiere ninguna acción; la actualización continúa hasta que se complete.

Actualización de la versión del sistema operativo (SO)

La actualización de nodos de trabajo a una versión más reciente de la imagen de nodo sin cambiar la versión de Kubernetes solo funciona si la nueva imagen no requiere otra versión de Kubernetes. Actualmente, AKS Arc no admite actualizaciones solo de imagen de nodo en todas las versiones de Kubernetes compatibles. Si necesita actualizar la imagen de nodo, debe actualizar el clúster a la versión más reciente de Kubernetes para asegurarse de que se incorporen todas las actualizaciones de imágenes de nodo.

Importante

Al intentar usar la node-image-only marca, recibirá un mensaje que indica que esta característica aún no se admite.

Pasos siguientes