Un cluster utente GKE su AWS ospita i tuoi workload Kubernetes. Questo argomento mostra come creare un cluster utente di base. Se vuoi approfondire la configurazione di un cluster utente, consulta la sezione Creare un cluster utente personalizzato.
Esegui il provisioning di un cluster utente GKE su AWS con le risorse personalizzate AWSCluster
e AWSNodePool
.
Prima di iniziare
Per creare un cluster utente, devi prima installare un servizio di gestione.
Per connetterti alle risorse GKE su AWS, segui questi passaggi. Seleziona se hai già un VPC AWS (o una connessione diretta al tuo VPC) o se hai creato un VPC dedicato durante la creazione del servizio di gestione.
VPC esistente
Se hai una connessione diretta o VPN a un VPC esistente, ometti la rigaenv HTTP_PROXY=http://localhost:8118
dai comandi in questo argomento.
VPC dedicato
Quando crei un servizio di gestione in una VPC dedicata, GKE su AWS include un host bastion in una subnet pubblica.
Per connetterti al servizio di gestione:
Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante la installazione del servizio di gestione.
cd anthos-aws
Per aprire il tunnel, esegui lo script
bastion-tunnel.sh
. Il tunnel inoltra alocalhost:8118
.Per aprire un tunnel per l'bastion host, esegui il seguente comando:
./bastion-tunnel.sh -N
I messaggi del tunnel SSH vengono visualizzati in questa finestra. Quando è tutto pronto, chiudi la connessione interrompendo il processo con Ctrl+C o chiudendo la finestra.
Apri un nuovo terminale e passa alla directory
anthos-aws
.cd anthos-aws
Verifica di essere in grado di connetterti al cluster con
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
L'output include l'URL del server dell'API del servizio di gestione.
Selezione di una dimensione dell'istanza del piano di controllo
GKE su AWS non supporta il ridimensionamento delle istanze del piano di controllo. Prima di creare il cluster utente, seleziona le dimensioni delle istanze dei tuoi piani di controllo. Le dimensioni del piano di controllo dipendono dal numero di nodi nel cluster. La tabella seguente contiene le dimensioni delle istanze del control plane consigliate per varie dimensioni del cluster.
Dimensione cluster (nodi) | Tipo di istanza del control plane |
---|---|
1 - 10 | m5.large |
11 - 100 | m5.xlarge |
101-200 | m5.2xlarge |
Creazione di un cluster utente
In questo esempio, utilizzi terraform
per generare una configurazione per creare un cluster di base. Poi, applica la configurazione con kubectl apply
.
Apri il terminale e, se necessario, connettiti all'host bastione.
Cambia directory nella cartella che hai creato durante l'installazione del servizio di gestione.
Utilizza Terraform per generare un manifest che configura un cluster di esempio e salvarlo in un file YAML. Scegli la versione di Terraform, quindi esegui i seguenti comandi:
Terraform 0.12, 0.13
terraform output cluster_example > cluster-0.yaml
Terraform 0.14.3 o versioni successive
terraform output -raw cluster_example > cluster-0.yaml
Per ulteriori informazioni sui contenuti di questo file, consulta la documentazione di
AWSCluster
eAWSNodePool
.Apri il file in un editor di testo e modificalo se necessario. Per impostazione predefinita, GKE su AWS crea pool di nodi in ogni zona di disponibilità specificata in
anthos-gke.yaml
. Puoi modificare le dimensioni e il numero di pool di nodi in base al cluster che ti serve. Puoi anche apportare ulteriori modifiche alla configurazione. Ad esempio, puoi modificare i tipi di istanze dei nodi GKE su AWS; puoi anche attivare il logging e il monitoraggio sui nodi del piano di controllo.Applica il file al tuo servizio di gestione.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Crea un file kubeconfig
Durante l'avvio del cluster utente, puoi creare un contesto kubeconfig
per il nuovo cluster utente. Utilizzi il contesto per autenticarti in un cluster di utenti o di gestione.
Utilizza
anthos-gke aws clusters get-credentials
per generare unkubeconfig
per il tuo cluster di utenti in~/.kube/config
.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Sostituisci CLUSTER_NAME con il nome del cluster. Ad esempio,
cluster-0
.Utilizza
kubectl
per autenticarti nel nuovo cluster di utenti.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Se il cluster è pronto, l'output include gli URL dei componenti Kubernetes al suo interno.
Visualizzazione dello stato del cluster
Il servizio di gestione esegue il provisioning delle risorse AWS quando applichi un
AWSCluster
o un AWSNodePool
.
Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto e passare al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Per elencare i cluster, utilizza
kubectl get AWSClusters
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters
L'output include il nome, lo stato, la versione, l'età e l'endpoint di ogni cluster.
Ad esempio, il seguente output include un solo
AWSCluster
denominatocluster-0
:NAME STATE AGE VERSION ENDPOINT cluster-0 Provisioning 2m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com
Visualizzare gli eventi del cluster
Per visualizzare gli eventi Kubernetes recenti dal tuo cluster utente, utilizza kubectl get events
.
Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto e passare al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Esegui
kubectl get events
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get events
L'output include informazioni, avvisi ed errori relativi al servizio di gestione.
Eliminazione di un cluster utente
Per eliminare un cluster di utenti, svolgi i seguenti passaggi:
Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto e passare al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Utilizza
kubectl delete
per eliminare il manifest contenente i cluster utente.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILE
Sostituisci CLUSTER_FILE con il nome del manifest contenente gli oggetti AWScluster e AWSNodePool. Ad esempio,
cluster-0.yaml
.
Eliminazione di tutti i cluster utente
Per eliminare tutti i cluster di utenti, svolgi i seguenti passaggi:
Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto e passare al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Utilizza
kubectl delete
per eliminare AWSNodePools e AWSClusters dal servizio di gestione.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSNodePool --all env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSCluster --all
Per maggiori informazioni, consulta Disinstallare GKE su AWS.
Passaggi successivi
Lancia il tuo primo carico di lavoro su GKE su AWS.
Configura il tuo provider di identità con GKE Identity Service.
Crea un cluster utente personalizzato con impostazioni diverse.
Configura la rete AWS per il bilanciamento del carico dei tuoi carichi di lavoro.
Leggi le specifiche per le definizioni delle risorse personalizzate AWSCluster e AWSNodePool.