Accedi

Questa pagina illustra come accedere e gestire i workload e le risorse all'interno dell'appliance air-gapped di Google Distributed Cloud (GDC). Descrive come autenticare, generare file kubeconfig sia per un server API di gestione sia per un cluster Kubernetes e gestire l'inattività della sessione. La comprensione di questi processi garantisce un accesso sicuro e affidabile ai progetti e ai workload.

Accedi ai workload tramite la console GDC o l'interfaccia a riga di comando gdcloud.

Accedi

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 dell'appliance air-gapped di GDC:

https://GDC_URL

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

Ad esempio, la seguente pagina viene visualizzata dopo aver eseguito l'accesso alla console per un'organizzazione denominata `org-1: Console che mostra la schermata di benvenuto per il progetto org-1.

CLI

Puoi accedere a qualsiasi cluster per cui hai l'autorizzazione. La procedura di accesso all'interfaccia a riga di comando per tutti i cluster è la stessa. Devi fornire solo il nome del cluster e il relativo file kubeconfig ed eseguire l'accesso separatamente a ogni cluster.

Prima di accedere, assicurati di eseguire le seguenti operazioni:

Per accedere a un cluster, segui questi passaggi:

  1. Autentica l'istanza dell'interfaccia a riga di comando gdcloud 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 al dispositivo secondario: utilizza questo flusso di autenticazione se il 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 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 al passaggio c.

      2. Ripeti il passaggio 1 di Accedere a un cluster per scaricare il certificato sul dispositivo secondario.

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

    Questa azione apre un browser per accedere al provider di identità (IdP) configurato. Fornisci il nome utente e la password che hai impostato durante la configurazione iniziale dell'interfaccia a riga di comando gdcloud per accedere.

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

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Genera un file kubeconfig con la tua identità utente:

    gdcloud clusters get-credentials CLUSTER_NAME
    

    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 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 uscire dalla console GDC:

Console

Fai clic su Esci nella barra dei menu.

CLI

Esci dall'interfaccia a riga di comando:

gdcloud auth revoke

Generare 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 che ospita la risorsa, a seconda del tipo di risorsa che stai gestendo. Consulta la documentazione della risorsa per determinare il file kubeconfig di cui hai bisogno.

Completa la configurazione applicabile in base al tipo di risorsa.

Risorse del server API di gestione

Per generare il file kubeconfig per il server API di gestione:

  1. Imposta la variabile di ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. Genera il file kubeconfig del server API di gestione e convalida le credenziali:

    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"
    

    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 cluster Kubernetes

Per generare il file kubeconfig per il cluster Kubernetes Bare Metal:

  1. Imposta la variabile di ambiente KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. Genera il file kubeconfig del cluster Kubernetes e convalida le credenziali:

    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"
    

    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 quindici o più minuti di inattività in una sessione, la console GDC e l'interfaccia a riga di comando gdcloud ti disconnettono. GDC considera l'inattività della sessione come un periodo durante una sessione aperta senza un coinvolgimento attivo da parte tua, ad esempio senza movimento del cursore o della tastiera. Una sessione attiva dura fino a dodici ore con l'attività dell'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:

Interfaccia utente della console che mostra la 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:

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'amministratore per ricevere assistenza.&quot;

Per accedere di nuovo 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.

CLI

In caso di inattività della sessione, l'interfaccia a riga di comando gdcloud ti disconnette. Dopo che l'interfaccia a riga di comando gdcloud ti ha disconnesso e tenti di eseguire un comando, riceverai un errore di autorizzazione:

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

Per accedere di nuovo all'interfaccia a riga di comando gdcloud, segui i passaggi dell'interfaccia a riga di comando 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 l'inattività, riceverai 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.

Monitorare le attività di accesso e dei nuovi utenti

Le attività come l'accesso vengono esportate come audit log. Per saperne di più sulla visualizzazione degli audit log, vedi Audit log.