Informazioni su kubeconfig
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 contenuti, consulta la pagina Ruoli e attività comuni degli utenti GKE. Google Cloud
File di configurazione Kubernetes
Kubernetes utilizza un file YAML denominato
kubeconfig
per archiviare le informazioni di autenticazione del cluster per kubectl
. kubeconfig
contiene
un elenco di contesti a cui kubectl
fa riferimento durante l'esecuzione dei 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 attuale è il cluster attualmente predefinito per kubectl
: tutti i comandi kubectl
vengono eseguiti su questo cluster.
Dopo aver creato un cluster, segui la procedura descritta in
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 che kubectl
e altri servizi utilizzano per comunicare con il control plane del cluster tramite la porta TCP 443. Su Azure, questo endpoint
è un
singolo IP privato supportato da un bilanciatore del carico
interno, ad esempio 10.0.1.5
. Questo endpoint non è
accessibile su internet pubblico. Puoi ottenere l'indirizzo dell'endpoint del cluster privato dal campo endpoint
nell'output del comando gcloud container azure clusters describe
.
Connetti l'endpoint gateway
Per impostazione predefinita, il comando gcloud container azure clusters get-credentials
genera un kubeconfig
che utilizza
Connect Gateway. Con questo
kubeconfig
, kubectl
utilizza Connect, che 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 tuo progetto e
CLUSTER_NAME è il nome del tuo cluster.
Se hai accesso all'endpoint privato del cluster tramite la tua
VNet, puoi connetterti direttamente all'endpoint privato. Per
generare un kubeconfig
utilizzando l'endpoint privato, utilizza il
comando gcloud container azure clusters get-credentials --private-endpoint
.
Informazioni sull'autenticazione per kubectl
Tutti i cluster GKE su Azure sono configurati per accettare Google Cloud
le identità di utenti e account di servizio, con la convalida delle credenziali presentate da
kubectl
e il recupero dell'indirizzo email associato all'identità dell'utente o del service account. Di conseguenza, le credenziali per 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
. 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 Azure può autenticare il client kubectl
.
Una volta autenticati, gli utenti o i service account devono anche essere autorizzati a eseguire qualsiasi azione su GKE su Azure. Google Cloud L'amministratore del cluster è responsabile della configurazione del controllo dell'accesso basato sui ruoli appropriato per configurare l'autorizzazione.