Resolución de problemas de actualización del nodo maestro del clúster: error Migración en curso

Descubre cómo solucionar y resolver el error Cannot complete cluster master upgrade because there is a migration in progress en IBM Cloud.

Nube privada virtual Infraestructura clásica

Verá el siguiente mensaje de error durante la actualización del maestro.

Cannot complete cluster master upgrade because there is a migration in progress

Está actualizando el maestro de clúster, pero algunos recursos todavía se estaban migrando desde una actualización anterior.

Por ejemplo, si se trata de una actualización maestra de IBM Cloud Kubernetes Service versión 1.31 a 1.32, el Operador Tigera aún no ha completado su migración de la actualización anterior IBM Cloud Kubernetes Service versión 1.30 a 1.31.

Para resolver el problema, primero espere más. Los clústeres más grandes tardan más en completar la migración. La migración tarda aproximadamente 100 segundos por nodo después de que el maestro se haya actualizado correctamente. El operador Tigera es necesario para realizar varias acciones y puede implicar la rotación de los pods hacia arriba y hacia abajo en los nodos.

Sin embargo, es posible que la migración se haya atascado. Compruebe si los pods calico-typha y calico-node se han eliminado del espacio de nombres kube-system y se han creado en el espacio de nombres calico-system. Si estos recursos no se han movido, es posible que haya un problema con uno o varios nodos trabajadores.

Para resolver los problemas de la migración:

  1. Compruebe el estado de los nodos trabajadores.

    kubectl get nodes
    

    Si ve un nodo trabajador que no está en el estado Ready, como por ejemplo en el estado NotReady o SchedulingDisabled, la migración podría estar atascada.

    NotReady Ejemplo:

    NAME            STATUS   ROLES    AGE    VERSION
    10.177.112.32   NotReady <none>   2d2h   v1.30.0+IKS
    10.177.112.50   Ready    <none>   2d2h   v1.30.0+IKS
    10.177.112.52   Ready    <none>   2d2h   v1.30.0+IKS
    

    SchedulingDisabled Ejemplo:

    NAME             STATUS                     ROLES    AGE   VERSION
    10.177.112.32   Ready,SchedulingDisabled   <none>   95m   v1.30.0+IKS
    10.177.112.50   Ready                      <none>   95m   v1.30.0+IKS
    10.177.112.52   Ready                      <none>   95m   v1.30.0+IKS
    
  2. Para los nodos trabajadores con problemas, rearranque o vuelva a cargarlos.

Resultado:

Cuando los nodos trabajadores están en buen estado, los pods calico-typha y calico-node pueden reanudar el escalado hacia abajo en el espacio de nombres kube-system y el escalado hacia arriba en el espacio de nombres calico-system.

Para confirmar que la migración se ha completado:

  1. Verifique que el despliegue de calico-typha ya no existe en el espacio de nombres kube-system.

    kubectl get deployment calico-typha -n kube-system
    

    Resultado:

    Error from server (NotFound): deployments.apps "calico-typha" not found
    
  2. Verifique que no haya ningún nodo con la etiqueta projectcalico.org/operator-node-migration.

    kubectl get nodes -l projectcalico.org/operator-node-migration
    

    Resultado:

    No resources found
    
  3. Si la migración sigue atascada, sustituya o elimine los nodos problemáticos. Para obtener más información, consulte Depuración de nodos trabajadores.

Cuando haya confirmado que la migración se ha completado, continúe con la actualización maestra a IBM Cloud Kubernetes Service versión 1.30.