Soluciona los problemas comunes.

En esta página, se muestra cómo resolver problemas comunes con GKE en Azure.

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.

Mensajes de error comunes

En las siguientes secciones, se explican las causas y las soluciones de algunos mensajes de error comunes.

El servidor no tiene un recurso

Los 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 la puerta de enlace de Connect no puede conectarse a un grupo de nodos. Para verificar el estado de los grupos de nodos, ejecuta el siguiente comando:

gcloud container azure node-pools list \
    --cluster-name CLUSTER_NAME \
    --location LOCATION

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster
  • LOCATION: la región de Google Cloud que administra tu clúster

El resultado incluye el estado de los grupos de nodos del clúster. Si no tienes un grupo de nodos, crea uno.

Usuario prohibido

El siguiente error ocurre cuando tu nombre de usuario no tiene acceso de administrador a tu 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

Para configurar usuarios adicionales, pasa la marca --admin-users cuando crees un clúster.

Si usas la puerta de enlace de Connect y no puedes conectarte a tu clúster, prueba los siguientes pasos:

  1. Obtén los usuarios autorizados de tu clúster.

    gcloud container azure clusters describe CLUSTER_NAME \
        --format 'value(authorization.admin_users)'
    

    Reemplaza CLUSTER_NAME por el nombre del clúster.

    El resultado incluye los nombres de usuario con acceso de administrador al clúster. Por ejemplo:

    {'username': 'administrator@example.com'}
    
  2. Obtén el nombre de usuario autenticado actualmente con Google Cloud CLI.

    gcloud config get-value account
    

    El resultado incluye la cuenta autenticada con Google Cloud CLI. Si los resultados de gcloud containers azure clusters describe y gcloud config get-value account no coinciden, ejecuta gcloud auth login y autentícate con el nombre de usuario que tiene acceso de administrador al clúster.

Problemas con los comandos de kubectl

En las siguientes secciones, se proporciona orientación sobre cómo resolver problemas con comandos kubectl que no responden o tienen errores.

Los comandos de kubectl dejan de responder

Si tu 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, el motivo más común es que aún no creaste un grupo de nodos. De forma predeterminada, GKE en Azure genera archivos kubeconfig que usan la puerta de enlace Connect como un extremo accesible en Internet. Para que esto funcione, la implementación gke-connect-agent debe ejecutarse en un grupo de nodos en el clúster.

Para obtener más información de diagnóstico, ejecuta el siguiente comando:

kubectl cluster-info -v=9

Si no hay grupos de nodos en ejecución, verás que las solicitudes a connectgateway.googleapis.com fallan con un error 404 cannot find active connections for cluster.

Para los clústeres con la versión 1.25 de Kubernetes 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, verifica los registros de componentes del plano de control con Cloud Logging.

Los comandos kubectl exec, attach y port-forward fallan

Los comandos kubectl exec, kubectl attach y kubectl port-forward pueden fallar con el mensaje error: unable to upgrade connection cuando se usa la puerta de enlace de Connect. Esta es una limitación cuando se usa la puerta de enlace de Connect como el extremo del servidor de la API de Kubernetes.

Para solucionar este problema, usa un kubeconfig que especifique el extremo privado del clúster. Si deseas obtener instrucciones para acceder al clúster a través de su extremo privado, consulta Configura el acceso al clúster para kubectl.

Solución de problemas de kubectl genérico

Si usas la puerta de enlace Connect, haz lo siguiente:

  • Asegúrate de haber habilitado la puerta de enlace de Connect en tu proyecto de Google Cloud:

    gcloud services enable connectgateway.googleapis.com
    
  • Para los clústeres con una versión de Kubernetes anterior a la 1.25, asegúrate de tener al menos un grupo de nodos de Linux en ejecución y que gke-connect-agent se esté ejecutando. Para obtener más información, consulta Soluciona problemas de conexiones de clústeres.

  • Para los clústeres con la versión 1.25 de Kubernetes o posterior, verifica los registros gke-connect-agent con Cloud Logging.

¿Qué sigue?