Warum sollte man GKE überhaupt auf AWS betreiben wollen? Eine berechtigte Frage – und die Antwort fällt von Unternehmen zu Unternehmen unterschiedlich aus. Typische Use Cases sind:
- Ausfallsicherheit über eine Active-Active-Multi-Cloud-Strategie
- Anbieter-Credits nutzen und das Management trotzdem zentral halten
- Migration von einer Cloud in die andere mit minimaler Downtime
- Bestehende Infrastruktur und vorhandenes Know-how weiternutzen und gleichzeitig die Kubernetes-Experience verbessern
- Schnellere Cluster-Erstellung (5–7 Minuten statt der bei EKS üblichen 20+ Minuten)
Was auch immer der Grund sein mag – wir zeigen, wie Sie die Google Kubernetes Engine (GKE) mit Anthos GKE auf AWS bereitstellen.
Dies ist Teil 1 einer dreiteiligen Serie rund um Googles Anthos GKE:
- Teil 1: Vorschau auf Anthos GKE auf AWS
- Teil 2: Schritt-für-Schritt-Installationsanleitung
- Teil 3: GKE-Cluster-Workloads im Zusammenspiel mit AWS-Diensten
Architektur

Google Anthos GKE im Betrieb auf Amazon Web Services
Node Pools und unkompliziertes Kubernetes-Autoscaling auf AWS
Amazons eigener Managed-Kubernetes-Dienst EKS lässt einige Funktionen vermissen, die Googles Managed Service GKE von Haus aus mitbringt. Neben der UI und den vereinfachten Cluster-Upgrades für Control Plane und Worker Nodes sind vor allem das Autoscaling und die Node Pools von Google sehr beliebt. Auf diese Vorteile müssen Sie jetzt nicht mehr verzichten.
apiVersion: multicloud.cluster.gke.io/v1
kind: AWSNodePool
metadata:
name: cluster-0-pool-0
spec:
clusterName: cluster-0
version: 1.16.9-gke.12
region: us-east-2
subnetID: subnet-XXXXXXXX
minNodeCount: 3
maxNodeCount: 5
instanceType: t3.medium
keyName: gke-XXXXXXX-keypair
iamInstanceProfile: gke-XXXXXXXX-nodepool
maxPodsPerNode: 100
securityGroupIDs:
- sg-XXXXXXXX
rootVolume:
sizeGiB: 10

kubectl-Ansicht der Nodes, auf denen GKE auf AWS-Instanzen läuft
Command-Line Interface (CLI)
Anthos bringt ein Command-Line Interface (CLI) namens anthos-gke mit. Es bietet ähnliche Funktionen wie die gcloud-CLI, generiert darüber hinaus aber auch Terraform-Skripte (Details dazu in Teil 2 dieser Serie). Mit dem Tool wechseln Sie wie hier gezeigt zwischen Control Plane und Clustern.

Control Plane

Test-Cluster (cluster-0)
Enterprise Container Management (ECM)
Wer seine Kubernetes-Cluster-Administration zentralisieren wollte, griff bislang typischerweise zu ECM-Lösungen wie Red Hat OpenShift, VMware Tanzu, Docker Enterprise oder Rancher Labs. Jede dieser Lösungen bringt aber eigene Einschränkungen oder einen Vendor-Lock-in mit sich.

Lokale und entfernte Cluster aus einer einzigen Google Cloud Console verwalten
Mit Googles Anthos lässt sich jeder Kubernetes-Cluster registrieren, indem Sie einen kleinen gke-connect-agent-Workload installieren – ob on-prem, in einer anderen Cloud oder direkt auf Googles Infrastruktur. So steuern und überwachen Sie jeden Cluster bequem aus der Cloud Console der Google Kubernetes Engine. Die Cluster können dabei selbst verwaltet, cloud-managed oder sogar auf einer der genannten ECM-Lösungen aufgesetzt sein.
Sehen wir uns das Ganze in der Praxis an … so einfach wie 1–2–3
1\. App aus der GCP Cloud Console auf AWS bereitstellen
Auch wenn der Großteil des Kubernetes-Managements über das Kommandozeilen-Tool kubectl oder eine CI/CD-Pipeline läuft, lassen sich Workloads auf Ihren GKE-Clustern unter AWS ebenso direkt aus der GCP-Konsole (Web-UI) deployen.

Deployment über das Web

Gegenprüfung mit kubectl
2\. App per automatisch bereitgestelltem ELB veröffentlichen
Sie können Ihre Workloads optional nach außen öffnen – Anthos GKE provisioniert und konfiguriert dann automatisch eine AWS-ELB-Instanz, sodass Ihre App öffentlich erreichbar ist.

Workload veröffentlichen und ELB anlegen
Sobald der Service nach außen verfügbar ist (\"expose\"), zeigt Ihnen die GKE-UI alle Details – in diesem Beispiel einen Service vom Typ LoadBalancer.

Detailansicht eines GKE-Service
3\. Geschafft!
Wechseln Sie zurück in die AWS-Konsole, sehen Sie den Load Balancer, den Anthos GKE bereitgestellt hat.

Der Load Balancer taucht unter den AWS-Ressourcen auf
Rufen Sie die Endpoint-URL im Browser auf, sehen Sie den erfolgreich auf Ihrem GKE-Cluster unter AWS deployten nginx-Server (in diesem Beispiel) – mit nur wenigen Klicks per ELB öffentlich verfügbar gemacht.

Geschafft! Sekunden später ist Nginx im Browser öffentlich erreichbar
Nächste Schritte
Im nächsten Artikel gehen wir Schritt für Schritt durch, wie sich Anthos GKE auf AWS installieren lässt.
Schauen Sie wieder vorbei, sobald der Link verfügbar ist, oder folgen Sie mir, um keinen neuen Beitrag zu verpassen. Weitere Artikel finden Sie außerdem unter https://blog.doit-intl.com.