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 clusterGOOGLE_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 clusterGOOGLE_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 clusterGOOGLE_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