Iniciar sesión en proyectos

En esta página se explica cómo acceder a tus cargas de trabajo y recursos, y cómo gestionarlos, en el dispositivo air-gapped de Google Distributed Cloud (GDC). En él se describe cómo autenticar, generar archivos kubeconfig para un servidor de la API Management y un clúster de Kubernetes, y gestionar la inactividad de las sesiones. Conocer estos procesos garantiza un acceso seguro y fiable a tus proyectos y cargas de trabajo.

Accede a tus cargas de trabajo a través de la consola de GDC o de la CLI de gdcloud.

Iniciar sesión

Para iniciar sesión en la consola de GDC o en un clúster, sigue estos pasos:

Consola

Abre la siguiente URL en una nueva pestaña del navegador para acceder a la interfaz de usuario del dispositivo aislado de GDC:

https://GDC_URL

Sustituye GDC_URL por el nombre de dominio que usas para acceder a GDC y que te proporciona el operador de infraestructura (IO). Cuando abres cualquier URL por primera vez, GDC te redirige a la página de inicio de sesión de tu proveedor de identidades si el operador de infraestructura (IO) ha configurado la página.

Por ejemplo, la página siguiente se muestra después de iniciar sesión en la consola de una organización llamada `org-1`: Consola que muestra la pantalla de bienvenida del proyecto org-1.

CLI

Puedes iniciar sesión en cualquier clúster al que tengas permiso para acceder. El proceso de inicio de sesión de la CLI es el mismo para todos los clústeres. Solo debes proporcionar el nombre del clúster y su archivo kubeconfig relacionado, así como iniciar sesión por separado en cada clúster.

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. Autentica tu instancia de la CLI 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.

      1. Inicia sesión en tu dispositivo principal sin navegador:

        gdcloud auth login --no-browser
        

        El comando del dispositivo principal imprime otro comando gdcloud que debes ejecutar en el dispositivo secundario en el paso c.

      2. Repite el paso 1 de Iniciar sesión en un clúster para descargar el certificado en el dispositivo secundario.

      3. Completa el inicio de sesión en el dispositivo secundario introduciendo el comando impreso en el dispositivo principal en el paso a.

    Con esta acción, se abre un navegador para iniciar sesión en el proveedor de identidades (IdP) configurado. Proporciona el usuario y la contraseña que definiste durante la configuración inicial de la CLI de gdcloud para iniciar sesión.

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

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

    gdcloud clusters get-credentials CLUSTER_NAME
    

    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
    
  4. 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
    

Cierra sesión

Para cerrar sesión en la consola de GDC, sigue estos pasos:

Consola

En la barra de menús, haga clic en Cerrar sesión.

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. Consulta la documentación del recurso para determinar el archivo kubeconfig que necesitas.

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

Recursos del servidor de la API Management

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

  1. Define la variable de entorno MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. Genera el archivo kubeconfig del servidor de la API Management y valida las credenciales:

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

    El comando rm ${KUBECONFIG:?} elimina el archivo kubeconfig del directorio principal. Cuando generas un archivo kubeconfig, se sobrescribe el archivo que ya tenías. Si no quieres sobrescribir ni eliminar el archivo, haz una copia de seguridad en otra ubicación segura.

Recursos de clúster de Kubernetes

Sigue estos pasos para generar el archivo kubeconfig del clúster de Kubernetes de hardware desnudo:

  1. Define la variable de entorno KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. Genera el archivo kubeconfig del clúster de Kubernetes y valida las credenciales:

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

    El comando rm ${KUBECONFIG:?} elimina el archivo kubeconfig del directorio principal. Cuando generas un archivo kubeconfig, se sobrescribe el archivo que ya tenías. 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 el archivo kubeconfig, sigue los pasos de la CLI que se indican en Iniciar sesión. Cada vez que se agote el tiempo de espera de una sesión, debes volver a generar los archivos kubeconfig.