Solución de problemas básicos de inicio del clúster de AKS
En este artículo se describen los métodos básicos de solución de problemas que se deben usar si no se puede iniciar correctamente un clúster de Microsoft Azure Kubernetes Service (AKS).
Requisitos previos
CLI de Azure (versión 2.0.59 o posterior).
La herramienta kubectl de Kubernetes. Para instalar kubectl mediante la CLI de Azure, ejecute el comando az aks install-cli .
Visualización de errores de la CLI de Azure
Al iniciar clústeres mediante la CLI de Azure, los errores se registran como salida si se produce un error en la operación. Este es el modo en que una salida de comando, entrada de usuario y operación puede aparecer en una Bash
consola:
$ az aks start --resource-group myResourceGroup --name MyManagedCluster
(VMExtensionProvisioningError) Unable to establish outbound connection from agents, please see https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/error-code-outboundconnfailvmextensionerror and https://aka.ms/aks-required-ports-and-addresses for more information.
Details: instance 3 has extension error details : {vmssCSE error messages : {vmssCSE exit status=50, output=AGE_SHA=sha-16fd35
Estos errores a menudo contienen descripciones detalladas de lo que salió mal en la operación de inicio del clúster y proporcionan vínculos a artículos que contienen más detalles. Además, puede usar nuestros artículos de solución de problemas como referencia en función del error que produce una operación de la CLI de Azure.
Visualización de los detalles del error en Azure Portal
Para ver los detalles sobre los errores en Azure Portal, examine el registro de actividad de Azure. Para buscar la lista de registros de actividad en Azure Portal, busque en Registro de actividad. O bien, seleccione Notificaciones (el icono de campana) y, a continuación, seleccione Más eventos en el registro de actividad.
La lista de registros de la página Registro de actividad contiene una entrada de línea en la que el valor de la columna Nombre de la operación se denomina Iniciar clúster administrado. El valor de evento correspondiente iniciado por columna se establece en el nombre de la cuenta profesional o educativa. Si la operación se realiza correctamente, el valor de la columna Estado muestra Aceptado.
¿Qué ocurre si se produjo un error en su lugar? En ese caso, el campo Iniciar estado de la operación del clúster administrado muestra Error. A diferencia de en las operaciones para crear componentes de clúster, aquí debe expandir la entrada de operación con error para revisar las entradas de suboperación. Los nombres de suboperación típicos son acciones de directiva, como la acción directiva "audit" y la acción directiva "auditIfNotExists". Algunas suboperaciones seguirán mostrando que se realizaron correctamente.
Para investigar aún más, puede seleccionar una de las suboperaciones con errores. Se abre un panel lateral para que pueda revisar más información sobre la suboperación. Puede solucionar problemas de valores para campos como Resumen, JSON y Historial de cambios. El campo JSON contiene el texto de salida del error en formato JSON y normalmente proporciona la información más útil.
Visualización de información del clúster
También puede generar información de clúster para ayudarle a solucionar problemas mediante la hoja Diagnosticar y resolver problemas en Azure Portal. Para acceder a esta característica, siga estos pasos:
En Azure Portal, busque y seleccione Servicios de Kubernetes.
Seleccione el nombre del clúster de AKS.
En el panel de navegación de la página del clúster de AKS, seleccione Diagnosticar y resolver problemas.
En la página Diagnosticar y resolver problemas , seleccione el vínculo Información del clúster. La herramienta de información del clúster analiza el clúster y, a continuación, proporciona una lista de sus hallazgos en la sección Observaciones y soluciones de la página Información del clúster.
Seleccione uno de los resultados para ver más información sobre un problema y sus posibles soluciones.
Visualización de recursos en Azure Portal
En Azure Portal, es posible que quiera ver los recursos que se crearon cuando se creó el clúster. Normalmente, estos recursos están en un grupo de recursos que comienza con MC_. Es posible que el grupo de recursos del clúster administrado tenga un nombre como MC_MyResourceGroup_MyManagedCluster_<location-code>. Sin embargo, el nombre puede ser diferente si creó el clúster mediante un grupo de recursos de clúster administrado personalizado.
Para buscar el grupo de recursos, busque y seleccione Grupos de recursos en Azure Portal y, a continuación, seleccione el grupo de recursos en el que se creó el clúster. La lista de recursos se muestra en la página Información general del grupo de recursos.
Advertencia
Se recomienda no modificar los recursos del grupo de recursos MC_ . Esta acción puede provocar efectos no deseados en el clúster de AKS.
Para revisar el estado de un conjunto de escalado de máquinas virtuales, puede seleccionar el nombre del conjunto de escalado dentro de la lista de recursos del grupo de recursos. Es posible que tenga un nombre similar a aks-nodepool1-12345678-vmss y un valor type del conjunto de escalado de máquinas virtuales. El estado del conjunto de escalado aparece en la parte superior de la página Información general del grupo de nodos y se muestran más detalles en el encabezado Essentials. Si la implementación no se realizó correctamente, el estado mostrado es Error.
Para todos los recursos, puede revisar los detalles para comprender mejor por qué se produjo un error en la implementación. Para un conjunto de escalado, puede seleccionar el texto Estado de error para ver los detalles sobre el error. Los detalles están en una fila que contiene las columnas Status, Level y Code . En el ejemplo siguiente se muestra una fila de valores de columna.
Columna | Valor de ejemplo |
---|---|
Estado | Error de aprovisionamiento |
Nivel | Error |
Código | ProvisioningState/failed/VMExtensionProvisioningError |
Seleccione la fila para ver el campo Mensaje . Esto contiene aún más información sobre ese error. Por ejemplo, el campo Mensaje de la fila de ejemplo comienza con el texto siguiente:
La máquina virtual ha notificado un error al procesar la extensión "vmssCSE". Mensaje de error: "Error al habilitar: no se pudo ejecutar el comando: comando finalizado con exit status=50 [stdout] [stderr] 0 0 0 --: Armado con esta información, puede concluir que las máquinas virtuales del conjunto de escalado generaron un error y generaron el estado de salida 50.
Uso de comandos kubectl
Para obtener otra opción para ayudar a solucionar errores en el clúster, escriba comandos kubectl para obtener detalles sobre los recursos implementados en el clúster. Para usar kubectl, inicie sesión primero en el clúster de AKS:
az aks get-credentials --resource-group MyResourceGroup --name MyManagedCluster
Según el tipo de error y cuándo se produjo, es posible que no pueda iniciar sesión en el clúster para obtener más detalles. Pero en general, si el clúster se creó y se muestra en Azure Portal, debería poder iniciar sesión y ejecutar comandos kubectl.
Ver nodos de clúster (kubectl get nodes)
Para obtener más detalles para determinar el estado de los nodos, vea los nodos del clúster escribiendo el comando kubectl get nodes. En este ejemplo, no se notifica ningún nodo en el clúster:
$ kubectl get nodes
No resources found
Visualización de pods en el espacio de nombres del sistema (kubectl get pods)
Ver los pods en el espacio de nombres kube-system también es una buena manera de solucionar el problema. Este método le permite ver el estado de los pods del sistema de Kubernetes. En este ejemplo, especificamos el kubectl get pods
comando :
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-845757d86-7xjqb 0/1 Pending 0 78m
coredns-autoscaler-5f85dc856b-mxkrj 0/1 Pending 0 77m
konnectivity-agent-67f7f5554f-nsw2g 0/1 Pending 0 77m
konnectivity-agent-8686cb54fd-xlsgk 0/1 Pending 0 65m
metrics-server-6bc97b47f7-dfhbr 0/1 Pending 0 77m
Describir el estado de un pod (kubectl describe pod)
Al describir el estado de los pods, puede ver los detalles de configuración y los eventos que se han producido en los pods. Ejecute el comando kubectl describe pod:
$ kubectl describe pod coredns-845757d86-7xjqb -n kube-system
Name: coredns-845757d86-7xjqb
Namespace: kube-system
Priority: 2000001000
Priority Class Name: system-node-critical
Node: <none>
Labels: k8s-app=kube-dns
kubernetes.io/cluster-service=true
pod-template-hash=845757d86
version=v20
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 24m (x1 over 25m) default-scheduler no nodes available to schedule pods
Warning FailedScheduling 29m (x57 over 84m) default-scheduler no nodes available to schedule pods
En la salida del comando, puede ver que el pod no se puede implementar en un nodo porque no hay nodos disponibles.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.