Der neue GKE-Modus ist teurer und weniger flexibel, aber einfacher und sicherer
GKE Autopilot verwaltet Pods für Sie
Zwei Dinge sind über Kubernetes-Cluster bekannt. Das erste ist, dass es das absolut beste Werkzeug für die geschäftskritische Aufgabe der Container-Orchestrierung ist. Und zweitens ist seine Komplexität ein Hindernis für die Implementierung und eine häufige Fehlerursache. Sogar Google, der Erfinder und Hauptförderer von Kubernetes, gibt dies zu.
Um die Bereitstellung und Verwaltung von Clustern zu vereinfachen, hat das Unternehmen allen GKE-Kunden Zugriff auf den Autopilot- Dienst gewährt , den Google seit langem in seinen eigenen Borg-Clustern verwendet . Es handelt sich um eine automatische Ressourcenkonfiguration, die auf maschinellem Lernen basiert.
"Trotz 6 Jahren Fortschritt ist Kubernetes immer noch unglaublich komplex " , sagte Drew Bradstock, Produktleiter für Google Kubernetes Engine (GKE), gegenüber The Register. "In den letzten Jahren haben viele Unternehmen Kubernetes eingeführt, sind dann aber in Schwierigkeiten geraten."
GKE ist eine Kubernetes-Plattform, die hauptsächlich auf der Google Cloud Platform (GCP) ausgeführt wird. Es ist auch in anderen Clouds oder lokal als Teil von Anthos verfügbar .
Autopilot - neue BetriebsartGKE ist automatisierter und vorkonfigurierter, um die Betriebskosten für das Cluster-Management zu senken, Cluster für die Produktion zu optimieren und hohe Verfügbarkeit zu gewährleisten.
Mithilfe von Autopilot in der eigenen Infrastruktur von Google verfügt Source
Kubernetes über die Konzepte von Clustern (eine Sammlung physischer oder virtueller Server), Knoten (einzelne Server), Pods (ein Steuerblock, der einen oder mehrere Container auf einem Knoten darstellt) und Containern selbst. GKE wird auf Clusterebene vollständig verwaltet. Autopilot erweitert dies auf Knoten und Pods.
Der einfachste Weg, die Funktionen und Einschränkungen von Autopilot zu verstehen, ist die Systembeschreibung.... Beachten Sie die "vorkonfigurierten" Parameter, die nicht geändert werden können.
Vergleich der Modi Autopilot und Standard
Grundsätzlich ist dies eine weitere Möglichkeit, GKE-Ressourcen zu buchen und zu verwalten, bei der Flexibilität für mehr Komfort geopfert wird. Da Google den größten Teil der Konfiguration verwaltet, garantiert es eine höhere Verfügbarkeit von 99,9% für Autopilot-Pods mit mehreren Zonen (siehe SLA ).
In der Google Cloud bestehen Regionen aus drei oder mehr Zonen. Das Platzieren aller Ressourcen in einer Zone ist weniger zuverlässig als in mehreren Zonen, und die Erweiterung auf mehrere Regionen bietet die maximale Fehlertoleranz. Cluster auf Autopilot werden immer nach Regionen und nicht nach Zonen verteilt: Sie sind zuverlässiger, aber teurer.
Eine weitere Einschränkung von Autopilot ist das vorinstallierte Linux-Betriebssystem mit Containerd, "optimiert für Container". Es gibt keine Möglichkeit, Linux mit Docker oder Windows Server zu verwenden. Die maximale Anzahl von Pods pro Knoten beträgt 32, nicht 110 wie bei der Standard-GKE.
Es gibt keinen SSH-Zugriff auf die Knoten, die Autopilot-Knoten sind blockiert. GPU- und TPU-Unterstützung (Tensor Processing Unit) ist nicht verfügbar, obwohl für die Zukunft geplant. "SSH fallen zu lassen war eine schwierige Entscheidung", sagt Bradstock. Dies schränkt natürlich die Steuerungsoptionen ein. Bradstock sagte jedoch, dass die Entscheidung auf Untersuchungen beruhte, die eine hohe Rate kritischer Fehler bei der Clusterkonfiguration zeigten.
Geld
Auch hier ist das Preismodell anders. Ihnen werden keine Recheninstanzen (virtuelle Maschinen) berechnet, sondern die tatsächliche Nutzung von CPU, Speicher und Speicher durch alle Pods. Plus 0,10 USD pro Stunde und Cluster bei Autopilot, genau wie bei Standard-GKE.
Die offensichtliche Frage ist, welche teurer sein wird, ein Standardcluster oder ein Autopilot. Die Antwort ist nicht einfach. Da dies in gewisser Weise ein Premium-Service ist, ist Autopilot teurer als eine sorgfältig optimierte Standard-GKE-Bereitstellung. "Es gibt eine Prämie gegenüber einer regulären GKE", sagte Bradstock, "weil wir nicht nur Funktionalität, sondern auch vollen SRE-Support (Site Reliability Engineering) und SLA-Garantien bieten."
Autopilot kann jedoch billiger sein als eine falsch konfigurierte GKE-Bereitstellung, die nicht vollständig geladen ist, da es schwierig ist, die richtige Spezifikation für Recheninstanzen zu bewerten. Kumulative Zuordnungsfunktion (CDF) von nicht verwendetem Speicher und belegten Computern für 5000 Aufgaben nach dem Aktivieren von Autopilot in Googles eigener Infrastruktur, Quelle Reduzierung von Speicherfehlern (OOM) und nicht genutzter Speicherfreigabe für 500 Aufgaben nach dem Aktivieren von Autopilot in der Google-Infrastruktur, Quelle
Warum nicht einfach Cloud Run verwenden, mit dem Container-Workloads auch unter GKE ohne Cluster-, Knoten- oder Pod-Konfiguration ausgeführt werden? „Cloud Run ist eine großartige Umgebung für Entwickler. Eine Anwendung kann von null auf 1000 Instanzen und wieder auf null zurückgesetzt werden. Dafür sind die Clouds gedacht“, erklärt Bradstock. "Autopilot erleichtert Menschen das Leben, die Kubernetes verwenden, alles sehen und steuern, Skripte von Drittanbietern verwenden und ihre eigene Plattform erstellen möchten."
Ein eindeutiges Problem ist die Kompatibilität mit vorhandenen Add-Ons mit Tools von Drittanbietern für Kubernetes. Einige von ihnen sind noch nicht mit Autopilot kompatibel, andere funktionieren bereits, z. B. die Datadog-Überwachung. DaemonSets werden ebenfalls unterstützt. Diese Funktion wird von vielen Tools verwendet, um Daemons auf allen Knoten auszuführen.
Die Konfiguration für Speicher, Computer und Netzwerk hat ein gewisses Maß an Flexibilität und einige Integrationen erzwungen: „Wir möchten jedoch definitiv, dass ein Ökosystem von Drittanbietern auf [Autopilot] ausgeführt wird“, sagt Bradstock.
Mit dem Start von Autopilot erweitert sich die Auswahl an Optionen zum Ausführen von Kubernetes in der Google Cloud. Der Kompromiss ist nicht nur höhere Kosten und weniger Flexibilität, sondern auch eine mögliche Desorientierung von Devops in Fabriken. Die Hauptlogik ist jedoch, dass Unternehmen sich besser auf ihr Kerngeschäft konzentrieren als auf die vom Auftragnehmer erbrachten Dienstleistungen.
Google Engineering hat einen viel besseren Ruf als Kundenservice. Der Entwickler Kevin Lin hat kürzlich beschrieben, wie das AWS- und Google- Startbonusschema aussieht .
Google erwies sich als langsame und ineffektive Organisation, die den Kunden an einen Partner eines Drittanbieters weiterleitete. „Im ersten Gespräch ging es darum, wie viel Geld ich für Google ausgeben möchte (im Gegensatz dazu, Amazon anzurufen, wo sie mir helfen wollten, den Dienst zum Laufen zu bringen). Google Cloud hat wirklich gute Ergonomie und erstklassige Ingenieure, aber einen schrecklichen Ruf für den Kundenservice “, sagte er.
Dies ist ein weiterer Beweis dafür, dass gute Ingenieure nicht der einzige wichtige Faktor bei der Auswahl einer Cloud sind.