Eine große Anzahl von Kubernetes Cluster, verteilt über diverse Plattformen und trotzdem Compliance einhalten, Self-Service bieten und das bei vollständiger Transparenz? Um das zu realisieren, ohne den IT-Betrieb zu überfordern benötigt es ein Tool wie zum Beispiel VMware’s Tanzu Mission Control.
Kubernetes überall
Es ist noch nicht allzu lange her, da war die Installation von Kubernetes eine weitestgehend manuelle und sehr komplizierte Angelegenheit. So mussten z.B. Zertifikate ausgestellt, Konfigurationsfiles für die Zugriffberechtigung gebaut und eine Unzahl an Konfigurationsparametern in den verschiedenen Services gesetzt werden. Wollte man die Kubernetes Manager Services selbst als Container in derselben Kubernetes Installation betreiben, so stand man vor einem Henne-Ei Problem. Das haben sowohl die Open-Source-Community, als auch diverse Softwarehersteller erkannt und den Prozess so weit vereinfacht, dass er mittlerweile fast schon trivial geworden ist. So hat sich innerhalb der Cloud Native Computing Foundation eine Special-Interest-Group (SIG) gegründet, welche ein Tool namens ClusterAPI entwickelt hat, mit dem Kubernetes Cluster weitere Kubernetes Cluster bootstrappen und lifecyclen können.
Der Trend geht von anfangs einzelnen, sehr großen Clustern hin zu sehr vielen, kleineren Clustern. Fängt es oft mit einer einzelnen On-Premise Instanz an, so fordern schnell andere Abteilungen, Teams und Kunden eigene, bzw. weitere Cluster. Zur Erhöhung der Verfügbarkeit, werden diese oft nicht nur auf unterschiedlichen Sites innerhalb des Unternehmens betrieben, sondern schon bald auch auf Public Cloud Providern wie AWS, Azure oder GCP.
Die Herausforderung
Dieser Umstand stellt die Betriebsteams vor große Herausforderungen. Da es sich um voneinander unabhängige Cluster handelt, müssen diese auch individuell gepflegt werden. Das bedeutet, dass Compliance-Richtlinien, Zugriffberechtigungen, Security Policies, Quotas, usw. überall einzeln konfiguriert werden müssen. Diese Aufgabe ist nicht nur sehr zeitaufwendig, sondern beherbergt auch ein mit der steigenden Anzahl der Umgebungen zunehmendes Risiko für Fehler.
Genau diese Probleme adressiert Tanzu Mission Control, ein Produkt aus dem VMware Tanzu Portfolio.
Abbildung 1: Tanzu Mission Control Architektur
Tanzu Mission Control, oder kurz TMC ist ein SaaS Angebot von VMware, welches eine gemeinsame Management Plattform für diverse Kubernetes Cluster bietet. Diese müssen lediglich an TMC angehangen werden. Dabei ist es egal, wie das jeweilige Kubernetes Cluster aufgesetzt wurde, solange es CNCF konform ist. Auch spielt es keine Rolle, wo der Cluster betrieben wird, es muss lediglich eine Verbindung zu TMC hergestellt werden können.
Kernfunktionalitäten von Tanzu Mission Control
Automatisches Provisionieren von Tanzu Kubernetes Grid
TMC nutzt das Open-Source-Tool ClusterAPI, um Kubernetes Cluster automatisiert auf andere Plattformen zu deployen. Aktuell ist es möglich, Kubernetes Cluster auf Amazon Web Services (AWS) oder auf vSphere with Tanzu Installationen auszurollen (weitere sind geplant). In beiden Fällen wird ein auf Tanzu Kubernetes Grid basierendes Kubernetes Cluster provisioniert.
Für so gebaute Cluster stehen verschiedene Day-2-Operations zur Verfügung, wie etwa das Skalieren, Updaten oder Löschen der Cluster.
Darüber hinaus kann jedes CNCF konforme Cluster an TMC angehangen und somit ebenfalls überwacht und verwaltet werden. Hierzu wird lediglich ein kleiner Agent im Cluster installiert.
Vielfältige Bedienbarkeit
Wie die meisten modernen Tools bietet auch TMC eine umfangreiche Weboberfläche. Darüber hinaus kann es aber auch via CLI oder REST API gesteuert werden. Somit kann TMC Teil einer anderen Automatisierungssoftware sein und z.B. als Teil einer CI/CD Pipeline aufgerufen werden.
Gruppieren von Clustern und Namespaces
Abbildung 2: Tanzu Mission Control Ressourcengruppen
TMC ermöglicht die Gruppierung von Ressourcen. So können beispielsweise mehrere Kubernetes Cluster zu einer Clustergroup zusammengefasst werden. Zusätzlich besteht die Möglichkeit, Namespaces verschiedener Cluster zu Workspaces zu gruppieren. Sowohl die Gruppen als auch die Gruppierungskriterien können dynamisch gehalten werden, sodass z.B. Namespaces mit bestimmten Labels automatisch einem bestimmten Workspace zugeordnet werden.
Diese Gruppierungen ermöglichen das einheitliche und konsistente Anwenden verschiedener Richtlinien an eine Vielzahl von Objekten zur selben Zeit.
Backup
TMC bietet mit Velero die Option, automatisch Backups der Workloads innerhalb der Kubernetes Cluster durchzuführen. So lassen sich z.B. Backups ganzer Namespaces oder vollständiger Cluster in wenigen Schritten erstellen. Genauso können aber auch nur bestimmte Objekte wie etwa Persistent Volumes gesichert werden. Diese Objekte können ebenfalls mittels Labeldynamisch ermittelt werden. Sämtliche Backups können via TMC wieder zurückgespielt werden.
Consistency
Ein weiteres in TMC integriertes Open-Source-Tool ist Sonobuoy. Mit dessen Hilfe lässt sich die Cluster-Konfiguration gegen verschiedene Baselines untersuchen. Somit lässt sich ein Abweichen der Konfiguration schnell feststellen und beheben.
Es kann beispielsweise ein genereller Konformations-Check gemacht werden, um zu prüfen, ob der Cluster ordnungsgemäß installiert wurde. Alternativ besteht auch die Möglichkeit, die Cluster gegen die vom Center for Internet Security (CIS) veröffentlichten Kubernetes Benchmark testen zu lassen.
Policies
TMC bringt im Bereich Zugriffskontrolle, Image Registry oder Quotas bereits einige vorgefertigte Policies mit, die eine direkte Verwendung ermöglichen.
Darüber hinaus bietet es aber auch die Möglichkeit, Custom Policies zu erstellen. Diese Policies werden mit Hilfe von Gatekeeper (Open Policy Agent) umgesetzt. Hierbei handelt es sich um ein weiteres Open-Source-Tool, welches die bereits abgekündigten Pod Security Policies ersetzt.
Ähnlich wie die meisten anderen Funktionen auch, können Policies mit Hilfe von Labels und Selektoren dynamisch auf Objekte angewendet werden.
Fazit
Unter dem Strich bietet Tanzu Mission Control IT-Administratoren eine zentrale Oberfläche, um eine Vielfalt an Kubernetes Clustern zu verwalten und zu überwachen. Auf der anderen Seite ermöglicht es Entwicklern, Ressourcen via Self-Service zu beziehen und sich keine Gedanken um die darunter liegende Infrastruktur machen zu müssen.
Als Lösung aus dem Hause VMware bietet Tanzu Mission Control sehr gute Integrationsmöglichkeiten in andere VMware Produkte, wie etwa Tanzu Kubernetes Grid Integrated Edition oder Tanzu Observability.