Un cluster utente GKE su AWS ospita i tuoi workload Kubernetes. Questo argomento mostra come creare un cluster utente di base. Se vuoi configurare ulteriormente un cluster utente, consulta Creazione di un cluster utente personalizzato.
Esegui il provisioning di un cluster utente GKE su AWS con le
AWSCluster e
AWSNodePool
risorse personalizzate.
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 un VPC AWS esistente (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 riga env HTTP_PROXY=http://localhost:8118 dai comandi in questo argomento.
VPC dedicato
Quando crei un servizio di gestione in un VPC dedicato, GKE su AWS include un host bastion in una subnet pubblica.
Per connetterti al servizio di gestione, segui questi passaggi:
Passa alla directory con la configurazione di GKE su AWS. Hai creato questa directory durante l' installazione del servizio di gestione.
cd anthos-aws
Per aprire il tunnel, esegui lo script
bastion-tunnel.sh. Il tunnel esegue l'inoltro alocalhost:8118.Per aprire un tunnel all'host bastion, esegui questo comando:
./bastion-tunnel.sh -NI messaggi del tunnel SSH vengono visualizzati in questa finestra. Quando è tutto pronto per chiudere la connessione, interrompi il processo utilizzando Control+C o chiudendo la finestra.
Apri un nuovo terminale e passa alla directory
anthos-aws.cd anthos-aws
Verifica di poter connetterti al cluster con
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoL'output include l'URL del server API del servizio di gestione.
Selezionare 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 la dimensione dell'istanza dei 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 piano di controllo consigliate per varie dimensioni del cluster.
| Dimensioni del cluster (nodi) | Tipo di istanza del piano di controllo |
|---|---|
| 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, applichi la configurazione con kubectl apply.
Apri il terminale e, se necessario, connettiti all'host bastion.
Passa alla cartella che hai creato durante l' installazione del servizio di gestione.
Utilizza Terraform per generare un manifest che configura un cluster di esempio e salvalo in un file YAML. Scegli la tua versione di Terraform, quindi esegui i seguenti comandi:
Terraform 0.12, 0.13
terraform output cluster_example > cluster-0.yamlTerraform 0.14.3+
terraform output -raw cluster_example > cluster-0.yamlPer ulteriori informazioni sui contenuti di questo file, consulta la
AWSClustere laAWSNodePooldocumentazione.Apri il file in un editor di testo e modificalo, se necessario. Per impostazione predefinita, GKE su AWS crea node pool in ogni zona di disponibilità specificata in
anthos-gke.yaml. Puoi modificare le dimensioni e il numero di node pool in modo che corrispondano al cluster che vuoi. Puoi anche apportare ulteriori modifiche alla configurazione. Ad esempio, puoi modificare i tipi di istanza dei nodi GKE su AWS; puoi anche abilitare logging e monitoraggio sui nodi del piano di controllo.Applica il file al servizio di gestione.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Creare un file kubeconfig
Durante l'avvio del cluster utente, puoi creare un contesto kubeconfig per il nuovo cluster utente. Utilizza il contesto per autenticare un cluster utente o di gestione.
Utilizza
anthos-gke aws clusters get-credentialsper generare unkubeconfigper il cluster utente in~/.kube/config.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAMESostituisci CLUSTER_NAME con il nome del cluster. Ad esempio,
cluster-0.Utilizza
kubectlper autenticare il nuovo cluster utente.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoSe il cluster è pronto, l'output include gli URL dei componenti Kubernetes all'interno del cluster.
Visualizzare lo 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-gkeper passare al contesto del 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 AWSClustersL'output include il nome, lo stato, l'età, la versione e l'endpoint di ogni cluster.
Ad esempio, l'output seguente include un solo
AWSClusterdenominatocluster-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 cluster utente, utilizza kubectl get events.
Dalla directory
anthos-aws, utilizzaanthos-gkeper passare al contesto del 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 utente, segui questi passaggi:
Dalla directory
anthos-aws, utilizzaanthos-gkeper passare al contesto del servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Utilizza
kubectl deleteper eliminare il manifest contenente i cluster utente.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILESostituisci 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 utente, segui questi passaggi:
Dalla directory
anthos-aws, utilizzaanthos-gkeper passare al contesto del servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Utilizza
kubectl deleteper 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 ulteriori informazioni, consulta Disinstallazione di GKE su AWS.
Passaggi successivi
Avvia il tuo primo workload su GKE su AWS.
Configura il provider di identità con il GKE Identity Service.
Crea un cluster utente personalizzato con impostazioni diverse.
Configura il networking AWS per il bilanciamento del carico dei workload.
Leggi le specifiche delle AWSCluster AWSCluster e AWSNodePool.