Questa pagina è rivolta agli amministratori IT e agli operatori che vogliono configurare, monitorare e gestire l'infrastruttura cloud. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività utente comuni di GKE Enterprise.
File di configurazione Kubernetes
Kubernetes utilizza un file YAML denominato
kubeconfig
per memorizzare le informazioni di autenticazione del cluster per kubectl
. kubeconfig
contiene un elenco di contesti a cui fa riferimento kubectl
quando vengono eseguiti i comandi. Per impostazione predefinita, il file viene salvato in $HOME/.kube/config
.
Un contesto è un gruppo di parametri di accesso. Ogni contesto contiene un cluster Kubernetes, un utente e uno spazio dei nomi. Il contesto corrente è il cluster attualmente predefinito per kubectl
: tutti i comandi kubectl
vengono eseguiti su questo cluster.
Dopo aver creato un cluster, segui la procedura per generare una voce kubeconfig
per aggiungere il contesto del cluster al tuo kubeconfig
locale.
Endpoint privati
Tutti i cluster hanno un endpoint canonico. L'endpoint espone il
server API Kubernetes utilizzato da kubectl
e altri servizi per comunicare con
il tuo control plane del cluster tramite la porta TCP 443. Su AWS, questo endpoint è un nome DNS risolvibile solo all'interno del cluster, ad esempio gke-abcdefghijk-cp-ffabcdef123456.elb.us-west-1.amazonaws.com
.
Questo endpoint non è
accessibile sulla rete internet pubblica. Puoi ottenere l'indirizzo dell'endpoint del cluster privato dal campo endpoint
nell'output del comando gcloud container aws clusters describe
.
Endpoint del gateway di connessione
Per impostazione predefinita, il comando gcloud container aws clusters get-credentials
genera un kubeconfig
che utilizza Connect Gateway. Con questo
kubeconfig
, kubectl
utilizza Connect, che poi inoltra in modo sicuro il
traffico all'endpoint privato per tuo conto. Quando utilizzi il gateway Connect,
l'endpoint ha il seguente aspetto:
https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME
,
dove PROJECT_NUMBER è il numero del progetto e
CLUSTER_NAME è il nome del cluster.
Se hai accesso all'endpoint privato del tuo cluster tramite il VPC, puoi connetterti direttamente all'endpoint privato. Per
generare un kubeconfig
utilizzando l'endpoint privato, utilizza il
comando
gcloud container aws clusters get-credentials --private-endpoint
.
Informazioni sull'autenticazione per kubectl
Tutti i GKE su AWS sono configurati per accettare le identità degli account utente e di servizio Google Cloud, convalidando le credenziali presentate dakubectl
e recuperando l'indirizzo email associato all'identità dell'account utente o di servizio. Di conseguenza, le credenziali di questi account devono includere
l'ambito OAuth userinfo.email
per l'autenticazione.
Quando utilizzi gcloud
per configurare kubeconfig
del tuo ambiente per un cluster nuovo o esistente, gcloud
fornisce a kubectl
le stesse credenziali utilizzate da gcloud
stesso. Ad esempio, se utilizzi gcloud auth login
, le tue credenziali personali vengono fornite a kubectl
, incluso l'ambito userinfo.email
. In questo modo, GKE su AWS può autenticare il client kubectl
.
Una volta autenticati, gli utenti o gli Google Cloud account di servizio devono essere anche autorizzati a eseguire qualsiasi azione su un GKE su AWS. L'amministratore del cluster è responsabile della configurazione del controllo dell'accesso basato sui ruoli appropriato per configurare l'autorizzazione.