Heute möchte ich ein wenig auf die Google Platform eingehen. Sie eignet sich meiner Meinung nach besonders gut für erste Schritte mit einem Public Cloud Kubernetes aus zwei Gründen:

A) die GKE hat den Ruf eine der besten gemanagten Kubernetesumgebungen zu sein - wohl auch nicht zuletzt weil man das Gefühl hat Kubernetes “vom Erfinder” zu konsumieren.

B) Es gibt ein sehr generöses Willkommensangebot von Google - man bekommt $300 Startguthaben zur Verwendung in den ersten 12 Monaten. Damit kann man schon eine ganze Menge ausprobieren.

Die Anmeldung ist schnell erledigt und benötigt eine Kreditkarte. Die moderne Weboberfläche gefällt schon mal sehr gut. Besonders interessant: es gibt eine kostenlos in der GCP gehostete Shell auf die man im Browser, per SSH oder mobile App (iOS / Android) zugreifen kann. Die Shell bietet Tools wie gcloud-cli, kubectl oder auch helm und hat sogar 5GB persistenten Speicher. Sehr praktisch, vor allem wenn man gerne über mobile Geräte wie iPad (Pro) arbeiten möchte.

GCP verwaltet die Nutzung der Services über “Projekte” - das ist ganz praktisch denn so kann man zusammengehörigen Konsum von Speicher, Compute oder eben halt auch Kubernetes unter einem bestimmten Projekt zusammenfassen und wenn man etwas nicht mehr benötigt kann man einfach das Projekt löschen. Das stellt sicher das man nicht doch noch einen DNS Service oder eine andere Kleinigkeit vergisst zu entfernen und dann irgendwelche Phantomkosten auf der Rechnung auftauchen.

Um zu starten muss man also erstmal ein Projekt erstellen und diesem dann die Kubernetes Engine hinzufügen. Innerhalb dieser kann man dann einen neuen Kubernetes Cluster erstellen, beim ersten Mal empfehle ich übrigens dringend den Weg über die Webkonsole.

Natürlich hat man dort die Möglichkeit den Cluster komplett per Hand zu konfigurieren, für den Anfang empfiehlt sich jedoch eines der Presets zu wählen. Wollt ihr nur ein wenig rumspielen und den Service mal ausprobieren gibt es ein Preset “Mein erster Cluster” der im Prinzip eine single node minimal Konfiguration erstellt. Wenn man dann noch den Haken bei “Preemtive Nodes” setzt basieren die Worker Nodes auf Knoten die “Preämtiv” sind - Google meint damit VMs die maximal 24h Laufen und danach jederzeit verschwinden können. Im Kubernetes Umfeld überhaupt kein Thema denn unser Master wird diese Knoten mit den dazugehörigen Containern sofort wieder herstellen und wir sparen ein paar Kosten. Ein so konfigurierter Cluster verursacht in etwa Kosten von 17 EUR im Monat, kann man also auch einfach mal laufen lassen.

Dann kann es im Prinzip auch schon losgehen. Es gibt ein paar Besonderheiten bei Googles gehostetem Kubernetes. So gibt es zum Beispiel das praktische Kubernetes Dashboard nicht, es lässt sich auch nicht deployen. Man kann auf alle Informationen direkt über die Google Cloud Platform Konsole zugreifen, das ist aber natürlich eventuell erstmal ungewohnt.

Um mit dem Cluster vom lokalen Rechner zu interagieren empfiehlt sich die Installation der GCP Api damit man die gcloud CLI nutzen kann. Ich mache das immer gerne über einen Paketmanager wie Brew auf dem Mac oder chocolatey auf Windows.

Das schöne ist: Am Ende des des Cluster Erstell-Vorganges gibt der Assistent gleich den richtigen gcloud CLI Befehl um euer lokales kubectl auf den neu erstellen Cluster zu lenken. Es bedarf lokal also nur eines Kommandos und es kann losgehen.