Verificar inicios de sesión

Verifica que puedes iniciar sesión con la consola de GDC o con la CLI de gdcloud.

Iniciar sesión

Para iniciar sesión en Distributed Cloud, sigue estos pasos:

Consola

Abre la siguiente URL en una nueva pestaña del navegador para acceder a la interfaz de usuario de Distributed Cloud:

https://GDC_URL

Sustituye GDC_URL por el nombre de dominio del operador de infraestructura (IO) que configuró el servicio del sistema de nombres de dominio (DNS).

Cuando se abre una URL por primera vez, la página te redirige a la página de inicio de sesión de tu proveedor de identidad. Para iniciar sesión, utiliza el nombre de usuario y la contraseña que creaste anteriormente.

CLI

Cuando inicies sesión en la CLI de gdcloud, usa el comando gdcloud auth login para autenticar un principal en la CLI de gdcloud. La CLI de gdcloud usa esa entidad para la autenticación y la autorización con el fin de gestionar Google Cloud recursos y servicios.

Antes de iniciar sesión, haz lo siguiente:

  • Descarga el archivo binario de la CLI de gdcloud e instálalo en tu sistema. Para obtener más información, consulta Descargar la CLI de gdcloud.
  • Configura e inicializa la configuración predeterminada de la CLI de gdcloud. Asegúrate de definir la URL de la organización correcta, que se usa para obtener el endpoint de configuración de inicio de sesión. Para obtener más información, consulta Instalación de la CLI de gdcloud.
  • Instala el complemento de autenticación gdcloud-k8s-auth-plugin. Para obtener más información, consulta Autenticación de la CLI de gdcloud.

Para iniciar sesión en un clúster, sigue estos pasos:

  1. Exporta la ruta en la que quieras almacenar el archivo kubeconfig del clúster:

      export KUBECONFIG=CLUSTER_KUBECONFIG
    

    Sustituye CLUSTER_KUBECONFIG por la ruta al directorio en el que quieras almacenar el archivo kubeconfig.

  2. Autentica tu instancia de la CLI de gdcloud para iniciar sesión. Hay dos formas de autenticarte:

    • Inicio de sesión estándar en el navegador: usa este flujo de autenticación cuando inicies sesión desde un navegador.

        gdcloud auth login
      
    • Inicio de sesión en un dispositivo secundario: usa este flujo de autenticación si tu dispositivo principal no tiene un navegador disponible. Este flujo inicia la sesión en el dispositivo principal sin acceso al navegador y continúa la sesión con el dispositivo secundario, que sí tiene acceso al navegador.

      Inicia sesión en tu dispositivo principal sin navegador:

        gdcloud auth login --no-browser
      

      La variable de entorno KUBECONFIG se actualiza con los archivos kubeconfig de todos los servidores de la API y clústeres de la organización. Si no se define la variable KUBECONFIG, la CLI de kubectl usa el archivo kubeconfig predeterminado almacenado en $HOME/.kube/config.

      Para saltarte la edición de los archivos kubeconfig, añade la marca --skip-kubeconfig-update al comando. Por ejemplo:

        gdcloud auth login --no-browser --skip-kubeconfig-update
      

      Copia el resultado del comando de la CLI de gdcloud que se imprime y ejecútalo en una máquina con acceso al navegador.

  3. Sigue las instrucciones de la página web para completar el proceso de inicio de sesión.

    Cuando se haya completado el inicio de sesión, el navegador mostrará el mensaje Autenticación correcta. Cierra esta ventana.

  4. Sigue las instrucciones del terminal. Si el inicio de sesión se realiza correctamente, la terminal mostrará el mensaje Has iniciado sesión.

  5. Exporta tu archivo kubeconfig de identidad de usuario como una variable:

      export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  6. Genera un archivo kubeconfig con tu identidad de usuario:

      gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Sustituye ZONE por el nombre de la zona.

    Se genera un archivo kubeconfig con tu identidad de usuario. En el siguiente archivo YAML se muestra un ejemplo:

    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: <REDACTED>
        server: https://10.200.0.32:443
      name: cluster-name
    contexts:
    - context:
        cluster: cluster-name
        user: cluster-name-anthos-default-user
      name: cluster-name-cluster-name-anthos-default-user
    current-context: cluster-name-cluster-name-anthos-default-user
    kind: Config
    preferences: {}
    users:
    - name: cluster-name-anthos-default-user
      user:
        exec:
          apiVersion: client.authentication.k8s.io/v1
          args:
          - --audience=root-admin
          command: gdcloud-k8s-auth-plugin
          env: null
          installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin
          interactiveMode: Never
          provideClusterInfo: false
    
  7. Para verificar que puedes acceder al clúster, inicia sesión con el archivo kubeconfig generado con una identidad de usuario:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Cerrar sesión

Para verificar que has cerrado la sesión, haz lo siguiente:

Consola

Para cerrar sesión en la interfaz web, haz clic en Cerrar sesión en la barra de menú.

CLI

Cierra sesión en la CLI:

gdcloud auth revoke

Generar manualmente el archivo kubeconfig

Si gestionas recursos con la CLI de kubectl llamando directamente a las APIs de KRM, debes generar el archivo kubeconfig del clúster que aloja tu recurso, en función del tipo de recurso que estés gestionando. Los clústeres y servidores disponibles son los siguientes:

Clúster Nombre
Clúster de administrador raíz administrador raíz
Servidor de API global raíz global-api
Clúster de administrador de la organización (organización de la versión 1) ORG_NAME-admin
Clúster del sistema (organización de la versión 1) ORG_NAME-system
Clúster de infraestructura de la organización (organización de la versión 2) ORG_NAME-infra
Servidor de la API Management (organización de la versión 2) ORG_NAME-admin
Servidor de API global de administrador de la organización global-api
Clúster de usuarios CLUSTER_NAME

También debes conocer la configuración de tu universo de GDC para determinar las zonas en las que quieres implementar tus recursos zonales o el servidor de la API global para los recursos globales. Para obtener más información, consulta Servidores de APIs globales y zonales.

Determina si el recurso que vas a manipular es global o zonal. Si no lo tienes claro, consulta la documentación específica del recurso para obtener ayuda.

Completa la configuración correspondiente según el tipo de recurso.

Recursos de zona

Sigue estos pasos para generar el archivo kubeconfig del clúster zonal:

  1. Para ver todas las zonas disponibles, haz lo siguiente:

    gdcloud zones list
    

    Anota el nombre de la zona que aloja tu recurso personalizado.

  2. Define la variable de entorno ZONE en la zona que aloja tus recursos zonales:

    export ZONE="ZONE"
    

    Sustituye ZONE por el nombre de la zona.

  3. Define la variable de entorno CLUSTER:

    export CLUSTER="CLUSTER_NAME"
    

    Sustituye CLUSTER_NAME por el nombre del clúster que aloja tu recurso.

  4. Genera el archivo kubeconfig del clúster de la zona de destino y valida las credenciales:

    export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    El comando rm ${KUBECONFIG:?} elimina el archivo kubeconfig del directorio principal. Aunque no elimines explícitamente el archivo kubeconfig, el archivo kubeconfig se sobrescribe con el archivo kubeconfig recién generado. Si no quieres sobrescribir ni eliminar el archivo, haz una copia de seguridad en otra ubicación segura.

Recursos globales

Sigue estos pasos para generar el archivo kubeconfig del servidor de la API global:

  1. Define la variable de entorno GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Genera el archivo kubeconfig del servidor de la API global y valida las credenciales:

    export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?}
    [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    El comando rm ${KUBECONFIG:?} elimina el archivo kubeconfig del directorio principal. Aunque no elimines explícitamente el archivo kubeconfig, el archivo kubeconfig se sobrescribe con el archivo kubeconfig recién generado. Si no quieres sobrescribir ni eliminar el archivo, haz una copia de seguridad en otra ubicación segura.

Cierre de sesión por inactividad

Después de quince minutos o más de inactividad en una sesión, la consola de GDC y la CLI de gdcloud cierran tu sesión. GDC considera que una sesión está inactiva cuando no hay ninguna interacción activa por tu parte durante una sesión abierta, como el movimiento del cursor o el teclado. Una sesión activa dura hasta doce horas si el usuario realiza alguna actividad.

Consola

En caso de inactividad en la sesión, la consola de GDC cierra tu sesión. Dos minutos antes de que la consola de GDC cierre tu sesión por inactividad, recibirás un cuadro de diálogo que te avisará de que se va a cerrar la sesión:

Interfaz de usuario de la consola que muestra un cuadro de diálogo con un temporizador de 99 segundos antes de cerrar la sesión del usuario por inactividad.

Después de cerrar tu sesión por inactividad, verás la siguiente pantalla:

Interfaz de usuario de la consola que muestra la pantalla de inicio de sesión con un banner que contiene el texto de cierre de sesión: &quot;Se ha cerrado la sesión del sistema porque ha estado inactiva durante demasiado tiempo. Vuelve a iniciar sesión o ponte en contacto con tu administrador para obtener ayuda&quot;.

Para volver a iniciar sesión en la consola de GDC, selecciona tu proveedor de identidad y añade tus credenciales de inicio de sesión. Si usas un servicio, como el panel de control de monitorización, y la consola de GDC cierra tu sesión por inactividad, vuelve a iniciar sesión para obtener acceso.

CLI

En el caso de inactividad en la sesión, la CLI de gdcloud cierra la sesión. Después de que la CLI de gdcloud cierre tu sesión y tú intentes ejecutar un comando, recibirás un error de autorización:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Para volver a iniciar sesión en la CLI de gdcloud, sigue los pasos de la CLI que se indican en Iniciar sesión.

kubectl

La CLI de gdcloud hace que tus archivos kubeconfig caduquen tras un periodo de inactividad de la sesión. Si intentas ejecutar un comando kubectl después de un periodo de inactividad, recibirás un error de autorización:

error: You must be logged in to the server (Unauthorized)

Para volver a iniciar sesión y usar tus archivos kubeconfig, sigue los pasos de la CLI que se indican en Iniciar sesión. Por cada tiempo de espera de sesión, debes volver a generar tus archivos kubeconfig.