Verificare gli accessi

Verifica di poter accedere con la console GDC o gcloud CLI.

Accedi

Per accedere a Distributed Cloud, segui questi passaggi:

Console

Apri il seguente URL in una nuova scheda del browser per accedere all'interfaccia utente di Distributed Cloud:

https://GDC_URL

Sostituisci GDC_URL con il nome di dominio dell'operatore dell'infrastruttura (IO) che ha configurato il servizio Domain Name System (DNS).

Quando apri un URL per la prima volta, la pagina ti reindirizza alla pagina di accesso del tuo provider di identità. Per accedere, utilizza il nome utente e la password che hai creato in precedenza.

Interfaccia a riga di comando

Quando accedi a gcloud CLI, utilizza il comando gdcloud auth login per autenticare un principal in gcloud CLI. L'interfaccia a riga di comando gcloud utilizza questa entità per l'autenticazione e l'autorizzazione per gestire Google Cloud risorse e servizi.

Prima di accedere, assicurati di:

  • Scarica il file binario di gcloud CLI e installalo nel sistema. Per maggiori informazioni, vedi Scaricare gcloud CLI.
  • Configura e inizializza la configurazione predefinita di gcloud CLI. Assicurati di impostare l'URL dell'organizzazione corretto, che viene utilizzato per recuperare l'endpoint di configurazione dell'accesso. Per saperne di più, consulta la sezione Installazione di gcloud CLI.
  • Installa il plug-in di autenticazione gdcloud-k8s-auth-plugin. Per ulteriori informazioni, consulta Autenticazione gcloud CLI.

Per accedere a un cluster:

  1. Esporta il percorso in cui vuoi archiviare il file kubeconfig del cluster:

      export KUBECONFIG=CLUSTER_KUBECONFIG
    

    Sostituisci CLUSTER_KUBECONFIG con il percorso della directory in cui archiviare il file kubeconfig.

  2. Autentica l'istanza di gcloud CLI per accedere. Esistono due modi per eseguire l'autenticazione:

    • Accesso standard al browser:utilizza questo flusso di autenticazione quando accedi da un browser.

        gdcloud auth login
      
    • Accesso da un dispositivo secondario:utilizza questo flusso di autenticazione se il tuo dispositivo principale non dispone di un browser. Questo flusso avvia l'accesso sul dispositivo principale senza accesso al browser e continua l'accesso con il dispositivo secondario che ha accesso al browser.

      Avvia l'accesso sul tuo dispositivo principale senza browser:

        gdcloud auth login --no-browser
      

      La variabile di ambiente KUBECONFIG viene aggiornata con i file kubeconfig per tutti i server API e i cluster dell'organizzazione. Se la variabile KUBECONFIG non è impostata, la CLI kubectl utilizza il file kubeconfig predefinito archiviato in $HOME/.kube/config.

      Per saltare la modifica dei file kubeconfig, aggiungi il flag --skip-kubeconfig-update al comando. Ad esempio:

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

      Copia l'output comando dell'interfaccia a riga di comando gcloud stampato ed eseguilo su una macchina con accesso al browser.

  3. Segui le istruzioni riportate nella pagina web per completare la procedura di accesso.

    Una volta completato l'accesso, il browser visualizza il messaggio Autenticazione riuscita. Chiudi questa finestra.

  4. Segui le istruzioni sul terminale. Una volta eseguito l'accesso, il terminale visualizza il messaggio: Accesso eseguito.

  5. Esporta il file kubeconfig dell'identità utente come variabile:

      export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  6. Genera un file kubeconfig con l'identità utente:

      gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Sostituisci ZONE con il nome della zona.

    Viene generato un file kubeconfig con la tua identità utente. Il seguente file YAML mostra un esempio:

    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. Per verificare di poter accedere al cluster, accedi con il file kubeconfig generato con un'identità utente:

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

Esci

Per verificare la disconnessione:

Console

Per uscire dalla UI web, fai clic su Esci nella barra dei menu.

Interfaccia a riga di comando

Esci dall'interfaccia a riga di comando:

gdcloud auth revoke

Generare manualmente il file kubeconfig

Se gestisci le risorse con la CLI kubectl chiamando direttamente le API KRM, devi generare il file kubeconfig per il cluster che ospita la risorsa, a seconda del tipo di risorsa che stai gestendo. I cluster e i server disponibili sono i seguenti:

Cluster Nome
Cluster di amministrazione principale root-admin
Server API globale root global-api
Cluster di amministrazione dell'organizzazione (organizzazione v1) ORG_NAME-admin
Cluster di sistema (organizzazione v1) ORG_NAME-system
Cluster dell'infrastruttura dell'organizzazione (organizzazione v2) ORG_NAME-infra
Server API Management (organizzazione v2) ORG_NAME-admin
Server API globale dell'amministratore dell'organizzazione global-api
Cluster utente CLUSTER_NAME

Devi anche conoscere la configurazione del tuo universo GDC per determinare le zone in cui intendi eseguire il deployment delle risorse zonali o il server API globale per le risorse globali. Per saperne di più, vedi Server API globali e di zona.

Determina se la risorsa che stai manipolando è una risorsa globale o di zona. Se non hai la certezza, consulta la documentazione dedicata della risorsa per ricevere assistenza.

Completa la configurazione applicabile in base al tipo di risorsa.

Risorse di zona

Completa i seguenti passaggi per generare il file kubeconfig per il cluster zonale:

  1. Visualizza tutte le zone disponibili:

    gdcloud zones list
    

    Prendi nota del nome della zona che ospita la risorsa personalizzata.

  2. Imposta la variabile di ambiente ZONE sulla zona che ospita le risorse zonali:

    export ZONE="ZONE"
    

    Sostituisci ZONE con il nome della zona.

  3. Imposta la variabile di ambiente CLUSTER:

    export CLUSTER="CLUSTER_NAME"
    

    Sostituisci CLUSTER_NAME con il nome del cluster che ospita la risorsa.

  4. Genera il file kubeconfig del cluster per la zona di destinazione e convalida le credenziali:

    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"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Anche senza rimuovere esplicitamente il file kubeconfig esistente, il file kubeconfig viene sovrascritto dal file kubeconfig appena generato. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Risorse globali

Completa i seguenti passaggi per generare il file kubeconfig per il server API globale:

  1. Imposta la variabile di ambiente GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Genera il file kubeconfig del server API globale e convalida le credenziali:

    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"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Anche senza rimuovere esplicitamente il file kubeconfig esistente, il file kubeconfig viene sovrascritto dal file kubeconfig appena generato. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Disconnessione per inattività della sessione

Dopo quindici o più minuti di inattività in una sessione, la console GDC e gcloud CLI ti disconnettono. GDC considera l'inattività della sessione come un periodo durante una sessione aperta senza coinvolgimento attivo da parte tua, ad esempio nessun movimento del cursore o della tastiera. Una sessione attiva dura fino a 12 ore con l'attività dell'utente.

Console

Per inattività della sessione, la console GDC ti disconnette. Due minuti prima che la console GDC ti disconnetta per inattività, riceverai una finestra di dialogo che ti avvisa della disconnessione:

Interfaccia utente della console che mostra la finestra di dialogo con un timer di 99 secondi prima di disconnettere l&#39;utente per inattività.

Dopo la disconnessione per inattività, viene visualizzata la seguente schermata:

Interfaccia utente della console che mostra la schermata di accesso con un banner contenente il testo relativo alla disconnessione dalla sessione: &quot;Il tuo account è stato disconnesso dal sistema perché la sessione è rimasta inattiva troppo a lungo. Accedi di nuovo o contatta l&#39;amministratore per ricevere assistenza.&quot;

Per accedere di nuovo alla console GDC, seleziona il tuo identity provider e aggiungi le tue credenziali di accesso. Se utilizzi un servizio, ad esempio la dashboard di monitoraggio, e la console GDC ti disconnette per inattività, accedi di nuovo per ottenere l'accesso.

Interfaccia a riga di comando

In caso di inattività della sessione, gcloud CLI esegue la disconnessione. Dopo che gcloud CLI ti disconnette e provi a eseguire un comando, ricevi un errore di autorizzazione:

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

Per accedere nuovamente a gcloud CLI, segui i passaggi della CLI descritti in Accedi.

kubectl

L'interfaccia a riga di comando gdcloud fa scadere i file kubeconfig dopo l'inattività della sessione. Se tenti di eseguire un comando kubectl dopo un periodo di inattività, ricevi un errore di autorizzazione:

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

Per accedere di nuovo e utilizzare i file kubeconfig, segui i passaggi della CLI in Accedi. Per ogni timeout della sessione, devi rigenerare i file kubeconfig.