Accedere ai progetti

Questa pagina spiega come accedere e gestire i workload e le risorse all'interno di Google Distributed Cloud (GDC) con air gap. Descrive come eseguire l'autenticazione, generare file kubeconfig per le risorse di zona e globali e gestire l'inattività della sessione. La comprensione di questi processi garantisce un accesso sicuro e affidabile ai tuoi progetti e workload.

Questa pagina è rivolta ai segmenti di pubblico del gruppo di amministratori della piattaforma (ad esempio gli amministratori IT) o del gruppo di operatori delle applicazioni (ad esempio gli sviluppatori di applicazioni) che vogliono utilizzare le risorse GDC. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC con air gap.

Puoi accedere ai workload utilizzando la console GDC, la CLI gdcloud o la CLI kubectl.

Autentica il tuo account per accedere

Per accedere alla console GDC o a un cluster, segui questi passaggi:

Console

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

https://GDC_URL

Sostituisci GDC_URL con il nome di dominio che utilizzi per accedere a Distributed Cloud fornito dall'operatore dell'infrastruttura (IO). Quando apri un URL per la prima volta, Distributed Cloud ti reindirizza alla pagina di accesso del tuo provider di identità se l'operatore dell'infrastruttura (IO) ha configurato la pagina.

Ad esempio, la seguente immagine mostra l'accesso alla UI della console per un'organizzazione denominata org-1:

UI della console che mostra la schermata di benvenuto per il progetto org-1.

gdcloud

Quando accedi alla CLI gdcloud, utilizza il comando gdcloud auth login per autenticare un'entità nella CLI gdcloud. La CLI gdcloud utilizza questa entità per l'autenticazione e l'autorizzazione per gestire risorse e servizi Google Cloud .

Prima di accedere, assicurati di:

Per accedere a un server dell'API di gestione o a un cluster Kubernetes, completa i seguenti passaggi:

  • Server API di gestione:
  1. Esporta il percorso in cui vuoi archiviare il file kubeconfig del server dell'API di gestione:

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

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

  2. Autentica l'istanza della CLI gdcloud per accedere. Esistono due modi per eseguire l'autenticazione:

    • Accesso standard tramite 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 ha un browser disponibile. 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, l'interfaccia a riga di comando 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 della CLI gdcloud stampato ed eseguilo su una macchina con accesso al browser.

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

    Al termine dell'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: Hai eseguito l'accesso.

  • Cluster Kubernetes:
  1. Autentica l'istanza della CLI gdcloud per accedere. Esistono due modi per eseguire l'autenticazione:

    • Accesso standard tramite 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 ha un browser disponibile. 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.

      1. Avvia l'accesso sul tuo dispositivo principale senza browser:

        gdcloud auth login --no-browser
        

        Il comando nel dispositivo principale stampa un altro comando gdcloud che devi eseguire sul dispositivo secondario nel passaggio c.

      2. Ripeti il passaggio 1 per scaricare il certificato sul dispositivo secondario.

      3. Completa l'accesso sul dispositivo secondario inserendo il comando stampato sul dispositivo principale nel passaggio a.

    Questa azione apre un browser per accedere al provider di identità (IdP) configurato. Per accedere, fornisci l'utente e la password che hai impostato durante la configurazione iniziale di CLI gdcloud.

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

    export KUBECONFIG=/tmp/CLUSTER_NAME-ZONE-kubeconfig-with-user-identity.yaml
    
  3. Genera un file kubeconfig per un cluster di zona con la tua 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
    
  4. Per verificare che puoi 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 uscire dalla console GDC, segui questi passaggi:

Console

Fai clic su Logout nella barra dei menu.

gdcloud

Esci dall'interfaccia a riga di comando:

gdcloud auth revoke

Genera manualmente il file kubeconfig

Se gestisci le risorse con l'interfaccia a riga di comando kubectl chiamando direttamente le API KRM, devi generare il file kubeconfig per il cluster o il server API che ospita la risorsa, a seconda del tipo di risorsa che gestisci.

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

Determina se la risorsa che stai manipolando è una risorsa globale o di zona. In caso di dubbi, consulta la documentazione dedicata della risorsa per ricevere assistenza.

Completa la configurazione applicabile in base al tipo di risorsa.

Risorse del server API di gestione a livello di zona

Completa i seguenti passaggi per generare il file kubeconfig per il server API di gestione a livello di zona:

  1. Visualizza tutte le zone disponibili:

    gdcloud zones list
    

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

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

    export ZONE="ZONE"
    

    Sostituisci ZONE con il nome della zona.

  3. Imposta la variabile di ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    Sostituisci ORG_NAME con il nome della tua organizzazione, ad esempio org-1.

  4. Genera il file kubeconfig del server dell'API di gestione per la zona di destinazione e convalida le credenziali:

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

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, questo sovrascrive quello esistente. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Risorse dei cluster Kubernetes di zona

Completa i passaggi seguenti per generare il file kubeconfig per il cluster Kubernetes di zona:

  1. Visualizza tutte le zone disponibili:

    gdcloud zones list
    

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

  2. Imposta la variabile di ambiente ZONE sulla zona che ospita il tuo cluster Kubernetes:

    export ZONE="ZONE"
    

    Sostituisci ZONE con il nome della zona.

  3. Imposta la variabile di ambiente KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    Sostituisci KUBERNETES_CLUSTER_NAME con il nome del tuo cluster Kubernetes.

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

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

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, questo sovrascrive quello esistente. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Risorse del server API 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. Quando generi un nuovo file kubeconfig, questo sovrascrive quello esistente. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Disconnessione per inattività della sessione

Dopo 15 o più minuti di inattività in una sessione, la console GDC e la CLI gdcloud ti disconnettono. Distributed Cloud considera l'inattività della sessione come un periodo durante una sessione aperta senza un tuo coinvolgimento attivo, ad esempio nessun movimento del cursore o della tastiera. Una sessione attiva dura fino a dodici ore con attività utente.

Console

In caso di 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:

UI della console che mostra una finestra di dialogo con un timer di 99 secondi prima di disconnettere l'utente per inattività.

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

UI della console che mostra la schermata di accesso con un banner contenente il testo sulla disconnessione dalla sessione: &quot;La sessione è stata disconnessa dal sistema perché è rimasta inattiva per troppo tempo. Esegui di nuovo l'accesso o contatta l'amministratore per ricevere assistenza.'

Per accedere nuovamente alla console GDC, seleziona il tuo provider di identità 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.

gdcloud

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

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

Per accedere di nuovo a GDC, segui i passaggi dell'interfaccia a riga di comando descritti in Accedi.

Se accedi di nuovo a GDC tramite un server API di gestione, il file kubeconfig viene aggiornato automaticamente. Per evitare l'aggiornamento del file kubeconfig, utilizza il flag --skip-kubeconfig-update nel comando gdcloud auth login.

kubectl

La CLI gdcloud fa scadere i file kubeconfig dopo un periodo di 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 il file kubeconfig, segui i passaggi dell'interfaccia a riga di comando in Accedi. Per ogni timeout della sessione, devi rigenerare i file kubeconfig.