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 Google Cloud contenuti, consulta Ruoli e attività utente GKE comuni.

File di configurazione di 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 fa riferimento kubectl quando esegue 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 attuale è il cluster attualmente predefinito per kubectl: tutti i comandi kubectl vengono eseguiti su questo cluster.

Dopo aver creato un cluster, segui 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 bilanciamento del carico interno , ad esempio 10.0.1.5. Questo endpoint non è accessibile su internet pubblico. Puoi recuperare l'indirizzo dell'endpoint del cluster privato dal campo endpoint nell'output del gcloud container azure clusters describe comando.

Endpoint del gateway Connect

Per impostazione predefinita, il comando gcloud container azure clusters get-credentials genera un kubeconfig che utilizza il gateway Connect. Con questo file 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 cluster tramite la tua rete virtuale, puoi connetterti direttamente all'endpoint privato. Per generare un kubeconfig utilizzando l'endpoint privato, utilizza il gcloud container azure clusters get-credentials --private-endpoint comando.

Informazioni sull'autenticazione per kubectl

Tutti i GKE su Azure sono configurati per accettare Google Cloud le identità di utenti e account di servizio, convalidando le credenziali presentate da kubectl e recuperando l'indirizzo email associato all'identità dell'utente o del service account. Di conseguenza, le credenziali di questi account devono includere l'ambito OAuth userinfo.email per l'autenticazione.

Quando utilizzi gcloud per configurare il file 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 Azure può autenticare il client kubectl.

Una volta autenticati, gli utenti o i Google Cloud service account devono anche essere autorizzati a eseguire qualsiasi azione su un GKE su Azure. L' amministratore del cluster è responsabile della configurazione del controllo dell'accesso basato sui ruoli appropriato per configurare l'autorizzazione.