Solucionar problemas comunes
Esta página le muestra cómo resolver problemas comunes con GKE en Azure.
Si necesita ayuda adicional, comuníquese con Atención al cliente de Cloud .Mensajes de error comunes
Las siguientes secciones explican las causas y soluciones para algunos mensajes de error comunes.
El servidor no tiene un recurso
Errores como error: the server doesn't have a resource type "services"
pueden ocurrir cuando un clúster no tiene grupos de nodos en ejecución o cuando la puerta de enlace de conexión no puede conectarse a un grupo de nodos. Para comprobar el estado de sus grupos de nodos, ejecute el siguiente comando:
gcloud container azure node-pools list \
--cluster-name CLUSTER_NAME \
--location LOCATION
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
LOCATION
: el Google Cloud ubicación que administra su clúster
La salida incluye el estado de los grupos de nodos de su clúster. Si no tiene un grupo de nodos en la lista, cree un grupo de nodos .
Usuario prohibido
El siguiente error ocurre cuando su nombre de usuario no tiene acceso de administrador a su clúster:
Error from server (Forbidden): users "administrator@example.com" is forbidden:
User "system:serviceaccount:gke-connect:connect-agent-sa" cannot impersonate
resource "users" in API group "" at the cluster scope
Puede configurar usuarios adicionales pasando el indicador --admin-users
cuando crea un clúster.
Si usa la puerta de enlace Connect y no puede conectarse a su clúster, intente los siguientes pasos:
Obtenga los usuarios autorizados para su clúster.
gcloud container azure clusters describe CLUSTER_NAME \ --format 'value(authorization.admin_users)'
Reemplace
CLUSTER_NAME
con el nombre de su clúster.La salida incluye los nombres de usuario con acceso de administrador al clúster. Por ejemplo:
{'username': 'administrator@example.com'}
Obtenga el nombre de usuario actualmente autenticado con la CLI de Google Cloud.
gcloud config get-value account
El resultado incluye la cuenta autenticada con la CLI de Google Cloud. Si el resultado de
gcloud containers azure clusters describe
ygcloud config get-value account
no coincide, ejecutegcloud auth login
y autentiquese con el nombre de usuario con acceso administrativo al clúster.
Problemas con los comandos kubectl
Las siguientes secciones brindan orientación sobre cómo resolver problemas con comandos kubectl
que no responden o fallan.
Los comandos de kubectl dejan de responder
Si su clúster ejecuta una versión de Kubernetes anterior a la 1.25 y los comandos kubectl
no responden o se agota el tiempo de espera, la razón más común es que aún no ha creado un grupo de nodos. De forma predeterminada, GKE en Azure genera archivos kubeconfig
que usan la puerta de enlace de Connect como punto de conexión accesible a Internet. Para que esto funcione, la implementación de gke-connect-agent
debe ejecutarse en un grupo de nodos del clúster.
Para obtener más información de diagnóstico, ejecute el siguiente comando:
kubectl cluster-info -v=9
Si no hay grupos de nodos en ejecución, verá que las solicitudes a connectgateway.googleapis.com
fallan con un error 404 cannot find active connections for cluster
.
Para clústeres con Kubernetes 1.25 o posterior, gke-connect-agent
se ejecuta en el plano de control y no se requiere un grupo de nodos. Si el comando kubectl
no responde, revise los registros de los componentes del plano de control con Cloud Logging .
Los comandos kubectl exec, adjuntar y reenvío de puertos fallan
Los comandos kubectl exec
, kubectl attach
y kubectl port-forward
podrían fallar con el mensaje error: unable to upgrade connection
al usar la puerta de enlace de Connect". Esto supone una limitación al usar la puerta de enlace de Connect como punto de conexión del servidor de API de Kubernetes.
Para solucionar esto, use un kubeconfig
que especifique el punto de conexión privado del clúster. Para obtener instrucciones sobre cómo acceder al clúster a través de su punto de conexión privado, consulte Configurar el acceso al clúster para kubectl .
Solución de problemas genéricos de kubectl
Si utiliza la puerta de enlace Connect:
Asegúrese de tener habilitada la puerta de enlace Connect en su Google Cloud proyecto:
gcloud services enable connectgateway.googleapis.com
Para clústeres con una versión de Kubernetes anterior a la 1.25, asegúrese de tener al menos un grupo de nodos de Linux en ejecución y de que
gke-connect-agent
esté en ejecución. Para obtener más información, consulte Solucionar problemas de conexión de clústeres .Para los clústeres con una versión de Kubernetes 1.25 o posterior, verifique los registros de
gke-connect-agent
con Cloud Logging .
¿Qué sigue?
- Si necesita ayuda adicional, comuníquese con Atención al cliente de Cloud .