GKE on AWS-Architektur

Übersicht

GKE on AWS ist eine Hybrid-Cloud-Software, die Google Kubernetes Engine (GKE) auf Amazon Web Services (AWS) erweitert.

GKE on AWS verwendet reguläre AWS-Ressourcen wie Elastic Compute Cloud (EC2), Elastic Block Storage (EBS) und Elastic Load Balancer (ELB). Die meisten AWS-Ressourcen, die GKE on AWS erstellt, haben Namen, die mit gke- beginnen.

Architektur

Für GKE on AWS gibt es zwei Komponenten.

  1. Der Verwaltungsdienst, eine Umgebung, die Ihre Nutzercluster installieren und aktualisieren kann, verwendet die AWS API, um Ressourcen bereitzustellen.
  2. Nutzercluster, in denen Sie Ihre Arbeitslasten ausführen.

In diesem Thema werden Zweck und Form Ihres Anthos-Verwaltungsdienst und der Nutzercluster beschrieben.

Architektur einer GKE on AWS-Installation, die den Verwaltungsdienst und AWSCluster mit einer Steuerungsebene und AWSNodePools zeigt.

Verwaltungsdienst

Der Verwaltungsdienst stellt Komponenten für Ihre GKE on AWS-Installation bereit und verwaltet diese. Sie können beispielsweise Nutzercluster mit dem Verwaltungsdienst erstellen. Der Verwaltungsdienst stellt Ressourcen mithilfe der AWS API bereit.

Sie können Ihren Verwaltungsdienst in einer dedizierten AWS-VPC oder in einer vorhandenen AWS-VPC erstellen.

Sie benötigen einen Verwaltungsdienst in jeder AWS Virtual Private Cloud (VPC), in der Sie GKE on AWS ausführen. Der Verwaltungsdienst wird in einer AWS-Verfügbarkeitszone installiert. Sie benötigen nur einen Verwaltungsdienst pro VPC. Ein Verwaltungsdienst kann mehrere Nutzercluster verwalten.

Die primäre Komponente des Verwaltungsdienstes ist der Cluster-Operator. Der Cluster-Operator ist ein Kubernetes-Operator, der Ihre AWSCluster und AWSNodePools erstellt und verwaltet. Der Cluster-Operator speichert die Konfiguration in einer etcd-Datenbank, deren Speicher auf einem AWS EBS-Volume gespeichert wird.

Verwaltungsdienst installieren und konfigurieren

In diesem Abschnitt werden die Tools beschrieben, mit denen Sie Ihren Verwaltungsdienst verwalten können.

Anthos-gke-Tool

Sie erstellen und verwalten Ihre Cluster mit dem anthos-gke-Befehlszeilentool. Weitere Informationen finden Sie unter Anthos-GKE-Tool.

Verbinden

Mit Connect können Sie Ihre GKE on AWS- und GKE-Cluster inGoogle Cloud über dieselbe Schnittstelle in der Google Cloud Console ansehen und sich anmelden. Alle Ihre Ressourcen werden in einem einzigen Dashboard angezeigt. Dadurch erhalten Sie einen Einblick in Ihre Arbeitslasten in mehreren Kubernetes-Clustern.

Nutzercluster

Ein Nutzercluster besteht aus zwei Komponenten, von denen es sich um benutzerdefinierte Kubernetes-Ressourcen handelt, die vom Verwaltungsdienst gehostet werden:

  1. Eine Steuerungsebene.
  2. Ein oder mehrere AWSNodePools.

AWSCluster

Ein AWSCluster wird in einer einzelnen VPC ausgeführt.

Wenn Sie einen Verwaltungscluster in einer dedizierten VPC installieren, erstellt GKE on AWS in jeder Zone, die Sie in dedicatedVPC.availabilityZones angeben, Replikate der Steuerungsebene. Wenn Sie einen Verwaltungscluster in eine vorhandene Infrastruktur installieren, erstellt GKE on AWS einen AWSCluster mit drei Steuerungsebenenreplikaten in denselben Verfügbarkeitszonen. Jedes Replikat gehört zu seiner eigenen AWS Autoscaling-Gruppe, die Instanzen beim Beenden neu startet.

Der Verwaltungsdienst platziert die Steuerungsebenen in einem privaten Subnetz hinter einem AWS-Netzwerk-Load-Balancer (NLB). Der Verwaltungsdienst interagiert mithilfe von NLB mit der Steuerungsebene.

Informationen zum Erstellen von Steuerungsebenen in mehreren AWS-Verfügbarkeitszonen finden Sie unter Hochverfügbarkeits-Nutzercluster.

Jede Steuerungsebene speichert die Konfiguration in einer lokalen etcd-Datenbank. Diese Datenbanken werden repliziert und in einer gestapelten Hochverfügbarkeitstopologie eingerichtet.

Eine Steuerungsebene verwaltet einen oder mehrere AWSNodePools.

AWSNodePool

AWSNodePools funktionieren wie GKE-Knotenpools in Google Cloud. Ein Knotenpool besteht aus einer Gruppe von Knoten in einem Cluster, die alle dieselbe Konfiguration haben. Knotenpools verwenden die AWSNodePool-Ressource und können einen oder mehrere Knoten enthalten. Jeder Knotenpool gehört zu seiner eigenen AWS Autoscaling-Gruppe, die Instanzen neu startet, wenn sie beendet werden.

Fehlerbehebung

Sie können Probleme mit GKE in AWS beheben, wenn Sie Kubernetes-Ereignisse von AWSCluster und AWSNodePools aufrufen. Weitere Informationen finden Sie in der Anleitung zur Fehlerbehebung.

Nächste Schritte