Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Resumen
En este artículo se proporcionan pasos de solución de problemas para recuperar nodos de clúster de Azure Kubernetes Service (AKS) después de un error. Aborda específicamente los mensajes de error más comunes que aparecen cuando se produce un error de nodo no preparado y explica cómo reparar nodos para los 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 ya tiene instalada la CLI de Azure, ejecute
az --versionpara comprobar la versión.
Solución básica de problemas
AKS supervisa continuamente el estado de salud de los nodos de trabajo y repara automáticamente los nodos si se vuelven inestables. 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
Nodeobjeto.Objetos Lease dentro del espacio de nombres kube-node-lease. Cada
Nodetiene un objeto asociadoLease.
En comparación con las actualizaciones del .status de un Node, un Lease es un recurso liviano. El uso de objetos Lease para latidos de corazón reduce el impacto en el rendimiento de estas actualizaciones para clústeres de gran tamaño.
El kubelet es responsable de crear y actualizar el .status para Node objetos. También es responsable de actualizar los objetos Lease que están relacionados con los objetos Node.
- Kubelet actualiza el nodo
.statuscuando se produce un cambio en el estado o si no se ha producido una actualización para un intervalo configurado. El intervalo predeterminado para.statuslas 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
Leaseobjeto cada 10 segundos (el intervalo de actualización predeterminado).LeaseLas actualizaciones se producen independientemente de las actualizaciones del nodo.status. Si se produce un error en laLeaseactualizació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 el estado Ready.
Si su nodo está en el estado MemoryPressure, DiskPressure, o PIDPressure, debe administrar sus recursos para poder programar pods adicionales en dicho nodo. Si su nodo está en modo NetworkUnavailable, debe configurar correctamente la red en el nodo.
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 la cobertura de compatibilidad de AKS para nodos de agente.
Asegúrese de que se cumplen las condiciones siguientes:
El clúster está en estado Exitoso (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 encontrar el Estado. O bien, escriba el comando az aks show en la CLI de Azure.
El grupo de nodos tiene un estado de aprovisionamiento de Exitoso y un estado de encendido 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.
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
Runningen lugar deStoppedoDeallocated.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 saludable a estado no preparado.
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.