Diagnóstico de problemas de conexión para clústeres de Kubernetes habilitados para Azure Arc
Si tiene problemas para conectar un clúster a Azure Arc, es probable que se deba a uno de los problemas que se enumeran aquí. Proporcionamos dos diagramas de flujo con ayuda guiada: uno si no usa un servidor proxy y otro que se aplica si la conexión de red usa un servidor proxy.
Sugerencia
Los pasos de este diagrama de flujo se aplican tanto si usa la CLI de Azure como Azure PowerShell para conectar el clúster. Sin embargo, algunos de los pasos requieren el uso de la CLI de Azure. Si aún no ha instalado la CLI de Azure, asegúrese de hacerlo antes de comenzar.
Conexiones sin un proxy
Revise este diagrama de flujo para diagnosticar el problema al intentar conectar un clúster a Azure Arc sin un servidor proxy. A continuación se ofrecen más detalles sobre cada paso.
¿La identidad de Azure tiene permisos suficientes?
Revise los requisitos previos para conectar un clúster y asegúrese de que la identidad que usa para conectar el clúster tiene los permisos necesarios.
¿Ejecuta la versión más reciente de la CLI de Azure?
Asegúrese de que tiene la última versión instalada.
Si ha conectado el clúster mediante Azure PowerShell, asegúrese de que ejecuta la versión más reciente.
¿La extensión connectedk8s
es la versión más reciente?
Actualice la extensión connectedk8s
de la CLI de Azure a la versión más reciente mediante la ejecución de este comando:
az extension update --name connectedk8s
Si aún no ha instalado la extensión, puede hacerlo ejecutando el siguiente comando:
az extension add --name connectedk8s
¿Kubeconfig apunta al clúster correcto?
Ejecute kubectl config get-contexts
para confirmar el nombre del contexto de destino. A continuación, establezca el contexto predeterminado en el clúster correcto mediante la ejecución de kubectl config use-context <target-cluster-name>
.
¿Todos los proveedores de recursos necesarios están registrados?
Asegúrese de que los proveedores de recursos de Microsoft.Kubernetes, Microsoft.KubernetesConfiguration y Microsoft.ExtendedLocation están registrados.
¿Se cumplen todos los requisitos de red?
Revise los requisitos de red y asegúrese de que los puntos de conexión necesarios no estén bloqueados.
¿Se están ejecutando todos los pods del espacio de nombres azure-arc
?
Si todo funciona correctamente, todos los pods deben estar en estado Running
. Ejecute kubectl get pods -n azure-arc
para confirmar si el estado de un pod no es Running
.
¿Sigue teniendo problemas?
Los pasos anteriores resolverán muchos problemas comunes de conexión, pero si aún no puede conectarse correctamente, genere un archivo de registro de solución de problemas y abra una solicitud de soporte técnico para que podamos investigar el problema aún más.
Para generar el archivo de registro de solución de problemas, ejecute el siguiente comando:
az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>
Al crear la solicitud de soporte técnico, en la sección Detalles adicionales, use la opción Carga de archivos para cargar el archivo de registro generado.
Conexiones con un servidor proxy
Si usa un servidor proxy en al menos una máquina, complete los cinco primeros pasos del diagrama de flujo que no es de proxy (a través del registro del proveedor de recursos) para conocer los pasos básicos de solución de problemas. Después, si sigue experimentando problemas, revise el siguiente diagrama de flujo para ver los pasos de solución de problemas adicionales. A continuación se ofrecen más detalles sobre cada paso.
¿La máquina ejecuta comandos detrás de un servidor proxy?
Si la máquina ejecuta comandos detrás de un servidor proxy, deberá establecer todas las variables de entorno necesarias. Para obtener más información, consulte Conexión mediante un servidor proxy de salida.
Por ejemplo:
export HTTP_PROXY="http://<proxyIP>:<proxyPort>"
export HTTPS_PROXY="https://<proxyIP>:<proxyPort>"
export NO_PROXY="<cluster-apiserver-ip-address>:<proxyPort>"
¿El servidor proxy solo acepta certificados de confianza?
Asegúrese de incluir la ruta de acceso del archivo de certificado incluyendo --proxy-cert <path-to-cert-file>
al ejecutar el comando az connectedk8s connect
.
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>
¿El servidor proxy puede acceder a los puntos de conexión de red necesarios?
Revise los requisitos de red y asegúrese de que los puntos de conexión necesarios no estén bloqueados.
¿El servidor proxy solo usa HTTP?
Si el servidor proxy solo usa HTTP, puede usar proxy-http
para ambos parámetros.
Si el servidor proxy está configurado con HTTP y HTTPS, ejecute el comando az connectedk8s connect
con los parámetros --proxy-https
y --proxy-http
especificados. Asegúrese de que usa --proxy-http
para el proxy HTTP y --proxy-https
para el proxy HTTPS.
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port>
¿El servidor proxy requiere intervalos de omisión para la comunicación entre servicios?
Si necesita intervalos de omisión, use --proxy-skip-range <excludedIP>,<excludedCIDR>
en el comando az connectedk8s connect
.
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR>
¿Se están ejecutando todos los pods del espacio de nombres azure-arc
?
Si todo funciona correctamente, todos los pods deben estar en estado Running
. Ejecute kubectl get pods -n azure-arc
para confirmar si el estado de un pod no es Running
.
¿Sigue teniendo problemas?
Los pasos anteriores resolverán muchos problemas comunes de conexión, pero si aún no puede conectarse correctamente, genere un archivo de registro de solución de problemas y abra una solicitud de soporte técnico para que podamos investigar el problema aún más.
Para generar el archivo de registro de solución de problemas, ejecute el siguiente comando:
az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>
Al crear la solicitud de soporte técnico, en la sección Detalles adicionales, use la opción Carga de archivos para cargar el archivo de registro generado.
Pasos siguientes
- Consulte más sugerencias de solución de problemas para usar Kubernetes habilitado para Azure Arc.
- Revise el proceso para conectar un clúster de Kubernetes existente a Azure Arc.