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 normali come
Elastic Compute Cloud (EC2),
Elastic Block Storage (EBS)
ed Elastic Load Balancer (ELB).
La maggior parte delle risorse AWS create da GKE su AWS ha nomi che iniziano con gke-
.
Architettura
GKE su AWS prevede due componenti.
- Il servizio di gestione, un ambiente che può installare e aggiornare i cluster utente, utilizza l'API AWS per il provisioning delle risorse.
- Cluster utente, dove 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 di GKE sull'installazione AWS. Ad esempio, puoi creare cluster utente utilizzando il servizio di gestione. Il servizio di gestione utilizza l'API AWS per eseguire il provisioning delle risorse.
Puoi creare il tuo servizio di gestione in un VPC AWS dedicato o in un VPC AWS esistente
È necessario un servizio di gestione in ogni AWS Virtual Private Cloud (VPC) 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 cluster. L'operatore di cluster è un operatore Kubernetes che crea e gestisce AWSCluster e AWSNodePool. L'operatore di cluster archivia la configurazione in un database etcd con spazio di 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
Puoi creare e gestire i cluster con lo strumento a riga di comando anthos-gke
. Per maggiori informazioni, consulta
Lo strumento anthos-gke.
Connetti
Con Connetti, puoi visualizzare e accedere ai tuoi cluster GKE su AWS e GKE su Google Cloud dalla stessa interfaccia nella console Google Cloud. Tutte le risorse sono mostrate in un'unica dashboard, pertanto puoi ottenere visibilità sui carichi di lavoro in più cluster Kubernetes.
Cluster utenti
Un cluster utente include due componenti, entrambi risorse personalizzate Kubernetes ospitate dal servizio di gestione:
- Un piano di controllo.
- Uno o più AWSNodePools.
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 piano di controllo in ogni zona specificata in dedicatedVPC.availabilityZones
. Quando installi un cluster di gestione nell'infrastruttura esistente, GKE su AWS crea un cluster AWS con tre repliche del piano di controllo nelle stesse zone di disponibilità.
Ogni replica appartiene al proprio gruppo di scalabilità automatica AWS che riavvia le istanze al termine.
Il servizio di gestione colloca i piani di controllo in una subnet privata dietro un bilanciatore del carico di rete (NLB) AWS. Il servizio di gestione interagisce con il piano di controllo utilizzando NLB.
Per creare piani di controllo in più zone di disponibilità AWS, consulta 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 ad alta disponibilità in pila.
Un piano di controllo gestisce uno o più AWSNodePool.
AWSNodePool
I pool di nodi AWS funzionano come i pool di nodi su Google Cloud di GKE. Un pool di nodi è un gruppo di nodi all'interno di un cluster che hanno tutti la stessa configurazione. I pool di nodi 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 al termine dell'operazione.
Risoluzione dei problemi
Puoi risolvere i problemi dell'installazione di GKE su AWS visualizzando gli eventi Kubernetes da AWSCluster e AWSNodePools. Per ulteriori informazioni, consulta la guida alla 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.