Als Autopilot-Partner gehört Checkmk zu einem exklusiven Kreis an Google-Partnern, die privilegierte Partner-Workloads für GKE Autopilot anbieten. Dadurch hat Checkmk die Berechtigung, Node-Level-Metriken für das GKE-Autopilot-Monitoring auszulesen.

Was ist der Unterschied zwischen GKE und GKE Autopilot

Mit Google Kubernetes Engine (GKE) bietet Google eine Container-Orchestrierungsplattform von Kubernetes, die sich in der Google-Cloud betreiben lässt und dabei eine präzise Kontrolle über die Cluster-Verwaltung bietet. Für Entwicklerteams, die die Komplexität ihrer Kubernetes-Umgebung jedoch auf ein Minimum reduzieren wollen, bietet Google mit GKE Autopilot einen serverlosen, voll gemanagten und automatisierten Betriebsmodus von GKE. Statt wie bei GKE Cluster manuell zu konfigurieren oder zu verwalten, übernimmt Google Cloud bei GKE Autopilot diese Aufgaben.

Monitoring-Dashboard eines GKE-Autopilot-Clusters in Checkmk

Wie funktioniert GKE Autopilot

GKE Autopilot ist ein Betriebsmodus von GKE, bei dem Google Cloud das Cluster-Management, die Control-Plane-Operationen sowie die komplette Verwaltung der darunterliegenden Infrastruktur übernimmt. Anwenderteams müssen sich demnach keine Gedanken mehr über Cluster-Upgrades, Sicherheitspatches und Betriebsprozesse machen. 

Ferner sind Autopilot-Cluster für die Ausführung der meisten produktiven Arbeitslasten optimiert und stellen basierend auf den jeweiligen Kubernetes-Manifesten die entsprechenden Rechenressourcen bereit. Für die optimierte Konfigurierung folgt Google Cloud den Best Practices und Empfehlungen von GKE für die Einrichtung von Clustern, Workloads, Skalierbarkeit und Sicherheit.

Das heißt, dass GKE Autopilot den Cluster automatisch, basierend auf den jeweiligen Workload-Anforderungen, skaliert, um so sicherzustellen, dass Applikationen über die erforderlichen Ressourcen verfügen. Durch die automatische Anpassung der Cluster-Größe an den eigentlichen Bedarf, soll außerdem eine Überversorgung vermieden und so Kosten eingespart werden.

Unterschiedliche Sicherheitsmaßnahmen, wie automatisches Patching, Cluster-Isolation und Node Auto Repair sollen zudem eine erweiterte Sicherheit der Kubernetes-Umgebung bieten. 

Monitoring von GKE Autopilot

Das Rundum-Sorglos-Paket von GKE Autopilot kommt jedoch auch mit gewissen Einschränkungen. Es limitiert die Konfigurationsmöglichkeiten des Clusters, da es erweiterte Optionen wegnimmt, um eine möglichst einfache Nutzererfahrung zu bieten. Ferner unterbindet es einen direkten Zugang auf Nodes, da der Autopilot alle Nodes verwaltet. 

Da von GKE Autopilot verwaltete Cluster in der Regel keine Arbeitslasten zulassen, für die erhöhte Berechtigungen erforderlich sind, gestaltet sich auch das Monitoring dieser Cluster über ein Drittanbieter-Monitoring-Tool schwieriger. Während das Monitoring eines Standard-GKE-Clusters mit einem Kubernetes-Monitoring-Tool problemlos möglich ist, lassen sich Autopilot-Cluster nur mit privilegierten Rechten überwachen. Ausnahme bilden Google-Cloud-Partner wie Checkmk, die auch GKE-Autopilot-Clustern überwachen können. 

Als Autopilot-Partner gehört Checkmk zu einem exklusiven Kreis an Google-Partnern, die privilegierte Partner-Workloads für GKE Autopilot anbieten. Checkmk hat einen umfangreichen Review-Prozess mit Google durchlaufen und genießt nun erhöhte Berechtigungen, die es beispielsweise ermöglichen, Node-Level-Metriken auszulesen.

Das heißt, dass Sie Ihre GKE-Autopilot-Cluster ohne Einschränkungen mit Checkmk überwachen können und über die vorkonfigurierten und miteinander verbundenen Dashboards für Ihr Kubernetes-Monitoring alle Details Ihrer Cluster einsehen können. Wie Sie das Kubernetes-Monitoring für Ihren GKE-Autopilot-Cluster einrichten, erfahren Sie im Handbuch.

Voraussetzungen für das GKE-Autopilot-Monitoring

Um GKE-Autopilot-Cluster mit Checkmk zu überwachen, müssen folgende Voraussetzungen erfüllt sein:

  • Cluster Collector 1.5.1+
  • GKE Autopilot 1.27+

Damit Checkmk die benötigten Daten aus dem Cluster abrufen kann, muss in der YAML-Datei values.yaml var_run auf readOnly gesetzt werden:

volumeMountPermissions:
  var_run:
    readOnly: true