Configurazione dell'accesso ai cluster per kubectl

Questa pagina spiega come configurare l'accesso ai cluster per lo strumento a riga di comando kubectl per GKE su AWS.

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

Panoramica

Per accedere a GKE su AWS, devi configurare kubectl. Puoi impostare un cluster predefinito per kubectl impostando il contesto corrente nel file kubeconfig di Kubernetes. Inoltre, puoi eseguire comandi kubectl su un cluster specifico utilizzando il flag --cluster.

Per saperne di più su kubeconfig e sugli endpoint del cluster, consulta Informazioni su Kubeconfig.

Prima di iniziare

Se utilizzi il gateway di connessione per l'accesso a kubectl, devi concedere agli utenti amministratori che non sono proprietari del progetto i ruoli IAM descritti in Utilizzare kubectl con l'identità di gcloud CLI.

Controllare il file kubeconfig attuale

Questa sezione spiega come controllare il tuo kubeconfig attuale.

Visualizzare i contesti kubeconfig

Per visualizzare il kubeconfig del tuo ambiente e tutti i contesti che contiene, esegui questo comando:

kubectl config view

Il comando restituisce un elenco di tutti i cluster per i quali sono state generate voci kubeconfig. Se è elencato un cluster GKE su AWS, puoi eseguire comandi kubectl al suo interno nell'ambiente corrente. In caso contrario, devi generare una voce kubeconfig per il cluster.

Visualizzare il contesto attuale per kubectl

Per visualizzare il contesto attuale utilizzato dallo strumento a riga di comando kubectl, esegui il comando:

kubectl config current-context

kubectl restituisce il nome del contesto corrente.

Genera una voce kubeconfig

Per eseguire i comandi kubectl sui cluster GKE, devi generare una voce kubeconfig. La modalità di generazione di un file kubeconfig dipende dalla modalità di connessione al cluster. Ti consigliamo di utilizzare il gateway di connessione. Quando utilizzi il gateway Connect, il deployment gke-connect-agent invia le richieste tramite Google al control plane del cluster.

Per controllare quali comandi kubectl sono supportati dal gateway Connect, consulta Limitazioni.

Se vuoi connetterti tramite un endpoint privato, devi disporre di una connessione e di un routing all'endpoint del control plane nel tuo AWS Virtual Private Cloud. Il kube-apiserver del cluster fa parte del control plane. Per inviare richieste direttamente all'endpoint privato, potrebbe essere necessario ampliare le regole firewall. Per saperne di più sulla connessione al control plane, vedi Gruppi di sicurezza AWS.

Connettere il gateway

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud regione o zona in cui viene gestito GKE su AWS

Endpoint privato

Per connetterti all'endpoint privato, devi connetterti al control plane del cluster. Consulta Connessione al piano di controllo del cluster.

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \
  --private-endpoint

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud regione o zona in cui viene gestito GKE su AWS

Lavorare con più cluster

Questa sezione descrive come utilizzare kubectl con più cluster GKE.

Impostare un cluster predefinito per i comandi kubectl

Puoi passare al contesto corrente per kubectl a questo cluster eseguendo:

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud regione o zona in cui viene gestito GKE su AWS

Ad esempio, considera un progetto con due cluster, cluster-1 e cluster-2. Il contesto attuale è cluster-2. Per cambiare il contesto corrente da cluster-2 a cluster-1, esegui questo comando:

gcloud container aws clusters get-credentials cluster-1 \
  --location GOOGLE_CLOUD_LOCATION

Esegui singoli comandi kubectl su un cluster specifico

Puoi eseguire singoli comandi kubectl su un cluster specifico passando il nome del cluster come appare in kubeconfig come argomento del flag --cluster.

Ad esempio, considera un ambiente con due cluster, cluster-1 e cluster-2, in cui il contesto attuale è cluster-1. Non vuoi modificare il contesto attuale. Per ottenere un elenco di oggetti Pod su cluster-2 senza modificare il contesto corrente, esegui questo comando:

kubectl get pod --cluster cluster-2