Panoramica
GKE su AWS è un software cloud ibrido che estende Google Kubernetes Engine (GKE) ad Amazon Web Services (AWS).
GKE su AWS utilizza risorse AWS regolari come
Elastic Compute Cloud (EC2),
Elastic Block Storage (EBS)
e Elastic Load Balancer (ELB).
La maggior parte delle risorse AWS create da GKE su AWS hanno nomi che iniziano
con gke-
.
Architettura
GKE su AWS è composto da due componenti.
- Il servizio di gestione, un ambiente in cui è possibile installare e aggiornare i cluster utente, utilizza l'API AWS per eseguire il provisioning delle risorse.
- Cluster utente, in cui esegui i carichi di lavoro.
Questo argomento descrive lo scopo e la forma del servizio di gestione Anthos e dei cluster utente.
Servizio di gestione
Il servizio di gestione fornisce e gestisce i componenti dell'installazione di GKE su AWS. Ad esempio, crei cluster utente utilizzando il servizio di gestione. Il servizio di gestione utilizza l'API AWS per eseguire il provisioning delle risorse.
Puoi creare il servizio di gestione in un VPC AWS dedicato o in un VPC AWS esistente.
È necessario un servizio di gestione in ogni Virtual Private Cloud (VPC) AWS in cui esegui GKE su AWS. Il servizio di gestione è installato in una zona di disponibilità AWS. È necessario un solo servizio di gestione per VPC; un servizio di gestione può gestire più cluster utente.
Il componente principale del servizio di gestione è l'operatore del cluster. L'operatore del cluster è un operatore Kubernetes che crea e gestisce AWSClusters e AWSNodePools. L'operatore del cluster archivia la configurazione in un database etcd con l'archiviazione persistente su un volume AWS EBS.
Installazione e configurazione del servizio di gestione
Questa sezione descrive gli strumenti che puoi utilizzare per gestire il tuo servizio di gestione.
Strumento anthos-gke
Crea e gestisci i cluster con lo strumento a riga di comando
anthos-gke
. Per ulteriori informazioni, consulta
Lo strumento anthos-gke.
Connetti
Con Connect, puoi visualizzare e accedere ai tuoi cluster GKE su AWS e GKE suGoogle Cloud dalla stessa interfaccia nella consoleGoogle Cloud . Tutte le tue risorse vengono mostrate in un'unica dashboard, in modo da poter visualizzare i tuoi workload in più cluster Kubernetes.
Cluster utenti
Un cluster utente include due componenti, entrambi risorse personalizzate di Kubernetes ospitate dal servizio di gestione:
- Un control plane.
- Uno o più AWSNodePool.
AWSCluster
Un AWSCluster viene eseguito in un singolo VPC.
Quando installi un cluster di gestione in un VPC dedicato, GKE su AWS crea repliche del control plane in ogni zona specificata in dedicatedVPC.availabilityZones
. Quando installi un cluster di gestione nell'infrastruttura esistente, GKE su AWS crea un AWSCluster con tre repliche del control plane nelle stesse zone di disponibilità.
Ogni replica appartiene al proprio
gruppo AWS Auto Scaling
che riavvia le istanze quando vengono terminate.
Il servizio di gestione posiziona i piani di controllo in una subnet privata dietro un bilanciatore del carico di rete (NLB) AWS. Il servizio di gestione interagisce con il control plane utilizzando NLB.
Per creare control plane in più zone di disponibilità AWS, vedi Cluster utente ad alta disponibilità.
Ogni piano di controllo archivia la configurazione in un database etcd locale. Questi database vengono replicati e configurati in una topologia di alta disponibilità in pila.
Un control plane gestisce uno o più AWSNodePool.
AWSNodePool
AWSNodePools funziona come i node pool GKE su Google Cloud. Un pool di nodi è un gruppo di nodi all'interno di un cluster che condividono la stessa configurazione. I node pool utilizzano la risorsa AWSNodePool e possono contenere uno o più nodi. Ogni pool di nodi appartiene al proprio gruppo di scalabilità automatica AWS che riavvia le istanze quando vengono terminate.
Risoluzione dei problemi
Puoi risolvere i problemi relativi all'installazione di GKE su AWS visualizzando gli eventi Kubernetes di AWSCluster e AWSNodePools. Per maggiori informazioni, consulta la guida Risoluzione dei problemi.
Passaggi successivi
- Installa un servizio di gestione in un VPC dedicato con un bastion host.
- Integrazione dell'infrastruttura esistente in un VPC esistente.