Compartir a través de


Solución de problemas básicas de errores de nodo no preparado

En este artículo se proporcionan pasos de solución de problemas para recuperar nodos de clúster de Microsoft Azure Kubernetes Service (AKS) después de un error. En este artículo se abordan específicamente los mensajes de error más comunes que se generan cuando se produce un error de nodo no preparado y se explica cómo se puede realizar la funcionalidad de reparación de nodos para nodos de Windows y Linux.

Antes de empezar

Lea la guía oficial para solucionar problemas de clústeres de Kubernetes. Además, lea la guía del ingeniero de Microsoft para solucionar problemas de Kubernetes. Esta guía contiene comandos para solucionar problemas de pods, nodos, clústeres y otras características.

Requisitos previos

  • CLI de Azure, versión 2.31 o posterior. Si la CLI de Azure ya está instalada, puede encontrar el número de versión ejecutando az --version.

Solución de problemas de conexiones del Escritorio remoto a una máquina virtual de Azure

AKS supervisa continuamente el estado de mantenimiento de los nodos de trabajo y repara automáticamente los nodos si se vuelven incorrectos. La plataforma Azure Virtual Machine (VM) mantiene máquinas virtuales que experimentan problemas. AKS y las VM de Azure trabajan de forma conjunta para reducir las interrupciones del servicio de los clústeres.

En el caso de los nodos, hay dos formas de latidos:

  • Actualiza el .status de un Node objeto.

  • Objetos Lease dentro del espacio de nombres kube-node-lease. Cada Node tiene un objeto asociado Lease .

En comparación con las actualizaciones de .status de , Nodeun Lease es un recurso ligero. El uso Lease de objetos para latidos reduce el impacto en el rendimiento de estas actualizaciones para clústeres de gran tamaño.

Kubelet es responsable de crear y actualizar el .status de Node los objetos. También es responsable de actualizar los Lease objetos relacionados con los Node objetos .

  • Kubelet actualiza el nodo .status cuando se produce un cambio en el estado o si no se ha producido ninguna actualización para un intervalo configurado. El intervalo predeterminado para .status las actualizaciones de los nodos es de cinco minutos, que es mucho más largo que el tiempo de espera predeterminado de 40 segundos para los nodos inaccesibles.
  • Kubelet crea y, a continuación, actualiza su Lease objeto cada 10 segundos (el intervalo de actualización predeterminado). Lease Las actualizaciones se producen independientemente de las actualizaciones del nodo .status. Si se produce un error en la Lease actualización, el kubelet vuelve a intentarlo mediante un retroceso exponencial que comienza en 200 milisegundos y se limita a siete segundos.

No se puede programar un pod en un nodo que tenga un estado de NotReady o Unknown. Puede programar un pod solo en los nodos que están en estado Ready .

Si el nodo está en el MemoryPressureestado , DiskPressureo PIDPressure , debe administrar los recursos para programar pods adicionales en el nodo. Si el nodo está en NetworkUnavailable modo, debe configurar la red en el nodo correctamente.

AKS administra el ciclo de vida y las operaciones de los nodos de agente. No se admite la modificación de los recursos de IaaS asociados a los nodos de agente. Por ejemplo, no se admite la personalización de un nodo a través de conexiones SSH, la actualización de paquetes o el cambio de la configuración de red en un nodo. Para obtener más información, consulte Cobertura de compatibilidad de AKS para nodos de agente.

Asegúrese de que se cumplen las condiciones siguientes:

  • El clúster está en estado Correcto (en ejecución). Para comprobar el estado del clúster en Azure Portal, busque y seleccione Servicios de Kubernetes y seleccione el nombre del clúster de AKS. A continuación, en la página Información general del clúster, busque En Essentials para buscar el estado. O bien, escriba el comando az aks show en la CLI de Azure.

    Captura de pantalla de Azure Portal de una página de información general del clúster de Azure Kubernetes Service (A K S). En la sección Essentials, el estado es

  • El grupo de nodos tiene un estado de aprovisionamiento correcto y un estado de energía de en ejecución. Para comprobar el estado del grupo de nodos en Azure Portal, vuelva a la página del clúster de AKS y seleccione Grupos de nodos. Como alternativa, escriba el comando az aks nodepool show en la CLI de Azure.

    Captura de pantalla de Azure Portal de grupos de nodos de clúster de Azure Kubernetes Service (A K S). El estado de aprovisionamiento es Correcto. El estado De energía es En ejecución.

  • Los puertos de salida necesarios están abiertos en los grupos de seguridad de red (NSG) y el firewall para que se pueda acceder a la dirección IP del servidor de API. Para obtener más información, consulte Reglas de red de salida y FQDN necesarios para clústeres de AKS.

  • Los nodos han implementado las imágenes de nodo más recientes.

  • Los nodos están en estado Running en lugar de Stopped o Deallocated.

  • El clúster ejecuta una versión compatible con AKS de Kubernetes.

Más información

Para solucionar problemas del Not Ready estado de un nodo, consulte Solución de problemas de un cambio en un nodo correcto a Estado no listo.

Aviso de declinación de responsabilidades sobre la información de contacto de terceros

Microsoft proporciona información de contacto de otros proveedores para ayudarle a encontrar información adicional sobre este tema. Esta información de contacto puede cambiar sin previo aviso. Microsoft no garantiza la precisión de esta información de contacto de terceros.