Compartir a través de


No se puede actualizar el clúster de AKS debido al error NodePoolMcVersionIncompatible

En este artículo se describe cómo solucionar el error "NodePoolMcVersionIncompatible - la versión del grupo de nodos 1.x.y y la versión del plano de control 1.a.b son incompatibles" que se produce al actualizar un grupo de nodos en un clúster de Microsoft Azure Kubernetes Service (AKS).

Prerrequisitos

Síntomas

Al actualizar un grupo de nodos en un clúster de AKS, recibirá uno de los siguientes mensajes de error:

BadRequest: NodePoolMcVersionIncompatible

Error: la versión 1.x.y del grupo de nodos y la versión 1.a.b del plano de control no son compatibles. La versión menor del grupo de nodos no puede ser más de 2 versiones inferior a la versión del plano de control. La versión secundaria del grupo de nodos es x y el plano de control es . Para obtener más información, consulte https://aka.ms/version-skew-policy.

Identificador de recurso: /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.

BadRequest: NodePoolMcVersionIncompatible

Error: la versión 1.x.y del grupo de nodos y la versión 1.a.b del plano de control no son compatibles. La versión menor de la versión del grupo de nodos x es mayor que la versión del plano de control a. Para obtener más información, consulte https://aka.ms/version-skew-policy.

Identificador de recurso: /subscriptions/<subscription_id>/resourcegroups/<aks_cluster_resource_group>/providers/Microsoft.ContainerService/managedClusters/<aks_cluster_name>.

Causa

Estos problemas se producen si intenta actualizar un grupo de nodos que sea más de dos versiones detrás de la versión del plano de control de AKS o si intenta agregar un grupo de nodos que esté en una versión más reciente que la versión del plano de control.

Debe cumplir las condiciones siguientes al actualizar un grupo de nodos:

  • La versión del grupo de nodos no puede ser mayor que la principal< del control>.<menor>.<versión de revisión>.

  • La versión del grupo de nodos debe estar dentro de dos versiones secundarias de la versión del plano de control.

Para obtener más información, consulte las reglas de validación de AKS para la actualización.

Solución 1: Asegúrese de que la versión del grupo de nodos esté dentro de dos versiones secundarias de la versión del plano de control.

  1. Para obtener la versión del plano de control , ejecute el comando az aks get-upgrades en la CLI de Azure.

    Este es un ejemplo de uso del comando . La MasterVersion columna de salida contiene la versión del plano de control.

    az aks get-upgrades --resource-group aksrg --name testcluster1 --output table  
    
    Name     ResourceGroup    MasterVersion    Upgrades
    -------  ---------------  ---------------  -----------------------
    default  aksrg            1.23.12          1.23.15, 1.24.6, 1.24.9
    
  2. Actualice el grupo de nodos mediante la ejecución del comando az aks nodepool upgrade de la CLI de Azure y proporcione una versión de Kubernetes que se encuentra dentro de dos versiones secundarias de la versión del plano de control.

    Por ejemplo, si la versión del plano de control es 1.23.12, puede especificar la versión de Kubernetes del grupo de nodos como 1.23.8 o 1.23.12.

    Este es un ejemplo de uso del comando :

    az aks nodepool upgrade \
        --resource-group aksrg \
        --cluster-name testcluster1 \
        --name mynodepool \
        --kubernetes-version 1.23.8 \
        --no-wait
    

Solución 2: Asegúrese de que la versión del grupo de nodos no sea mayor que la versión del plano de control

  1. Para obtener la versión del plano de control , ejecute el comando az aks get-upgrades en la CLI de Azure.

    Este es un ejemplo de uso del comando . La MasterVersion columna de salida contiene la versión del plano de control.

    az aks get-upgrades --resource-group aksrg --name testcluster1 --output table  
    
    Name     ResourceGroup    MasterVersion    Upgrades
    -------  ---------------  ---------------  -----------------------
    default  aksrg            1.23.12          1.23.15, 1.24.6, 1.24.9
    
  2. Actualice el grupo de nodos mediante la ejecución del comando az aks nodepool upgrade de la CLI de Azure y proporcione una versión de Kubernetes menor o igual que la versión del plano de control.

    Este es un ejemplo de uso del comando :

    az aks nodepool upgrade \
        --resource-group aksrg \
        --cluster-name testcluster1 \
        --name mynodepool \
        --kubernetes-version 1.23.12 \
        --no-wait