VMware Kubernetes Engine VKE als Betaversion in der Einführungsphase

München, Starnberg, 05. Juli 2018 - Enterprise Kubernetes-as-a-Service-Angebot; VMware Smart Cluster erfasst den Zustand eines konformen Kubernetes-Clusters...

Zum Hintergrund: Kubernetes ist eine umfangreiche Anwendungslaufzeit-Umgebung mit anhaltendem Wachstumspotenzial, stellt aber gleichzeitig eine große Herausforderung an die Komplexität dar. Die jetzt öffentliche Betaversion der VMware Kubernetes Engine (VKE) bietet hierzu nun ein Kubernetes-as-a-Service-Angebot als neueste Ergänzung des VMware Cloud Services-Portfolios. Dieses stellt ein Portfolio von SaaS-basierten Angeboten dar, um den Betrieb über Clouds hinweg zu unterstützen. Alle im Angebot enthaltenen Services verfügen über eine gemeinsame, einmalige Anmeldung, Abrechnung sowie weltweiten Support. Im folgenden Beitrag beschreibt VMware nachfolgend seine wichtigsten Entwicklungsziele und Strategien im Zusammenhang mit der weiteren Entwicklung der Lösung:


Die VMware Kubernetes Engine ist ein Kubernetes-as-a-Service-Angebot für den Enterprise-Bereich, das eine einfach zu bedienende, "secure by default" und kostengünstige Kubernetes-Umgebung bietet. VKE startet zunächst auf AWS. Im Rahmen der Multi-Cloud-Strategie wird VMware künftig auch VKE auf Azure und weitere Cloud-Umgebungen unterstützen. Laut Entwickler wurden dabei folgende Ziele und Prioritäten definiert:

A. Vereinfachung

Einige Kunden haben die Größenordnung oder das strategische Bedürfnis, ein engagiertes Kubernetes-Team aufzubauen, um den vollen Umfang der Plattform für ihre Anwendungen auszuschöpfen. Andere VMware-Kunden betrachten Kubernetes als Kandidat für die as-a-Service Nutzung, wobei sie vom Mehrwert des wachsenden Ökosystems profitieren und sich gleichzeitig auf die Entwicklung ihrer Anwendungen konzentrieren können. Dieser Wunsch, Kubernetes optimal auszuschöpfen, ohne den aufwändigen Betrieb und ohne ein hochspezialisiertes Team, ist der Fixpunkt der Arbeit von VMware mit dem Ziel, VKE möglichst so zu gestalten, dass es einfach und unkompliziert eingesetzt werden kann. Dies führt nach Angaben der Entwickler in verschiedene Richtungen:

Abstraktion mittels VMware Smart Cluster - Smart Cluster ist eine Sammlung von Richtlinien, die den gewünschten Zustand eines vollständig konformen Kubernetes-Clusters erfassen. Die Smart Cluster-Implementierung nimmt die Richtlinien auf, bewertet kontinuierlich Sicherheit, Zustand und Größe der Kubernetes-Cluster und beseitigt eventuelle Abweichungen.

Aufbauend auf dem Smart Cluster wurde eine Auswahl an stark typisierten Smart Clustern entwickelt. VKE verfügt derzeit über zwei Smart Cluster-Typen: Developer und Production. Diese vereinfachen über 50 verschiedene Konfigurationsentscheidungen, die getroffen werden müssen, um Sicherheit und Verfügbarkeit für Kubernetes und AWS zu gewährleisten, unter Berücksichtigung der jeweiligen Service-Level-Vorgaben. Die verschiedenen Entscheidungen hinsichtlich Master Nodes, Etcd und die Zusammensetzung des Worker Node sowie Netzwerk- und Storage-Konfigurationen werden von VKE unter Berücksichtigung Ihrer Service-Level-Ziele verwaltet. Dies ist aktuell nur der Anfang, um die ganze Bandbreite der Policy-Ausrichtung für Kubernetes-Cluster zu erfassen. Daher freut sich VMware auf Feedback, wie diese Richtlinien weiterentwickelt werden können, um den Anwenderbedürfnissen besser gerecht zu werden. VMware unterscheidet drei grundlegende Modelle für die Abstraktion des Kubernetes-Clusters:

  1. Keine Abstraktion.
  2. Lediglich die Steuerungsebene (Master Nodes und Etcd) wird abstrahiert und jeder Kunde verwaltet selbst hunderte von Worker Nodes
  3. Komplette Abstraktion, bei der sowohl die Steuerungsebene als auch die Worker Nodes als Teil des Service nicht gemanaged werden.

Die Entwickler gehen davon aus, dass das maximale Kosten-Nutzen-Verhältnis beim Modell „Komplette Abstraktion“ erzielt wird und haben daher die Messlatte an der Umwandlung des gesamten Kubernetes-Clusters in einen richtliniendefinierten Service ausgerichtet. Die Idee ist, einen „Kubernetes Wählton“ – wie das Freizeichen beim Abheben des Telefonhörers – aus der Infrastruktur heraus auszuliefern.


Link > VMware YouTube Demo-Video (US) „Einfach Cluster erstellen und Anwendungen bereitstellen"


B) Kosteneffizienz

Ein weiterer Bereich ist die Kosteneingrenzung bei Kubernetes – sowohl die Personalkosten als auch die zugrundeliegenden Berechnungskosten. VMware bearbeitet dieses Problem aus verschiedenen Perspektiven heraus:

  1. Betriebskosten: Wichtigstes Ziel der Vereinfachungen durch VKE ist es, den Einsatz von Kubernetes ohne zusätzliches, hochspezialisiertes Personal zu ermöglichen.

  2. Ressourcenoptimierung: Der Smart Cluster verfügt über einige Funktionen, die Kosteneinsparungen Ihrer Cluster fördern. Erstens entfällt der Bedarf an fundierten Schätzungen rund um die entsprechenden Instanzgrößen und die Clusterzusammensetzung. Ja, wir sagten Instanz und nicht VM. Ein Smart Cluster ist direkt auf AWS EC2 aufgebaut. Wenn neue Instanzfamilien mit besserem Preis-Leistungs-Verhältnis von AWS eingeführt werden, identifiziert der Smart Cluster diese Einsparungsmöglichkeiten und migriert Ihre Cluster bei Ihrem nächsten Versions-Upgrade auf die neuesten Instanzfamilien. Zweitens wächst und schrumpft der Smart Cluster auf die effizienteste Größe angesichts der aktuell eingesetzten Pods. Diese Optimierungen sind lediglich grundlegende und vernünftige Ressourcenoptimierungen. Wir haben vielversprechendes Feedback von Kunden erhalten, wie wir Strategien zur Optimierung der Ressourcenausstattung für unsere Cluster in Zukunft weiter entwickeln können. Bezahlen Sie nur für das, was Sie nutzen: der Hersteller arbeitet noch an der exakten Preisgestaltung, aber mittels VKE bezahlen Betreiber lediglich für Ihre Kubernetes-Cluster und die genutzten vCPUs und RAMs – und das sekundengenau.

  3. Richtlinienbasiertes Management: VMware Kunden haben berichtet, dass es schwierig sei, mehrere Cluster zu verwalten, dass aber die Verwaltung einiger Dutzend Kubernetes-Cluster mit Hunderten von Namespaces und Entwicklern auf der ganzen Welt quasi unmöglich ist. VMware Vorschlag und Ergebnis: Für jeden einzelnen Cluster gab es zu viele sich wiederholende Einstellungen und Aktionen. Das Ergebnis ist eine globale Kontroll- und Richtlinienebene.

Hier einige der grundlegenden Konzepte, von denen die Kunden profitieren können:

  • Ähnlich wie bei der Google Cloud Platform wird dem Anwender in VKE eine einfache Baumstruktur zur Verfügung gestellt, um Ressourcen in logischen Containern zu organisieren. Der Nutzer kann optional Richtlinien für ausgewählte Container (Knoten des Baums) festlegen, und diese Richtlinien werden rekursiv an untergeordnete Container weitergegeben.
  • Jede Kundenumgebung in VKE ist von sämtlichen anderen Kundenumgebungen isoliert. Tatsächlich verfügt jede Kundenumgebung über ein eigenes AWS-Konto. VMware nennt diese Umgebungen "orgs". Jeder Org sind ein oder mehrere Ordner zugeordnet. Ein Ordner ist ein logisches Konstrukt, das einen globalen Umfang hat. Jeder Ordner umfasst eines oder mehrere Projekte. Bei diesen handelt es sich ebenso wie bei den Ordnern um logische Container mit globalem Umfang. Ein Projekt enthält einen oder mehrere Smart Cluster, die einer bestimmte AWS-Region zugeordnet sind, so dass Sie die Kontrolle darüber haben, wo Ihre Daten gespeichert werden. Dann verfügt ein Smart Cluster über einen oder mehrere Namespaces. Es handelt sich um eine einfache, erweiterbare Baumstruktur, die es ermöglicht, VKE-Zugriffsrichtlinien an einem Knoten festzumachen und an untergeordnete Knoten weiterzugeben.

  • Schließlich werden diese VKE-Zugriffsrichtlinien in das native Kubernetes RBAC (das native rollenbasierte Zugriffskontrollsystem für Kubernetes) übertragen. Die daraus resultierenden Kubernetes RBAC-Rollen werden auf einen der Master-Knoten verlagert, wo sie auf alle anderen Master übertragen werden. Um sicherzustellen, dass diese Kubernetes RBAC-Rollen mit dem VKE konsistent sind, implementieren wir einen eigenen Admission Controller, der jede Abweichung zwischen den VKE-Richtlinien und den Kubernetes-Clustern verhindert. Folgender Anwendungsfall veranschaulicht dies: Wenn Sie eine Richtlinie für den Root Node Ihrer Org festlegen, die bestimmte Berechtigungen für eine bestimmte Identität oder Gruppe von Identitäten enthält, wird jeder Zugriff von diesen Identitäten auf einen beliebigen Cluster (bestehende oder neu erstellte) überall auf der Welt durch diese einzige Zugriffsrichtlinie geregelt. Dabei handelt es sich um das grundlegende Konzept „Many-as-one“.

Im Laufe der Zeit plant VMWare nach vorliegen Informationen, zusätzliche Richtlinientypen zum grundlegenden Richtlinienrahmen hinzuzufügen, um Kostenmanagement, Konfiguration, Konnektivitätsrichtlinien zwischen Clustern und Namespaces sowie andere Governance- und Kontrollanwendungen zu ermöglichen, die von diesem Muster profitieren könnten.


Abb. 1: VMware Kubernetes Engine turnkey access to public cloud services and application building blocks like Amazon Machine Learning, AWS Lambda, AWS Greengrass, and AWS IoT (Bildquelle: VMware Kubernetes Engine, Document DEPLOY MODERN APPS WITH KUBERNETES AS A SERVICE)


C) Multi-Cloud Ready

Eines der wichtigsten Anliegen laut VMware ist es, über die Schlagworte des Multi-Cloud-Marketings hinauszugehen und Ziele in diesem Bereich klar zu definieren:

Erstens stellt Kubernetes eine sehr nützliche Standardisierung vieler Anwendungslaufzeit-Funktionen dar. VKE verwendet nur native Upstream-zertifizierte Kubernetes. Ihre Anwendungen und die Verwaltungstools, die Sie mit VKE betreiben, sind mit allen anderen Standard-Kubernetes-Umgebungen kompatibel. Im Falle von PKS (Pivotal Container Service), dem gemeinsamen Angebot von Pivotal und VMware, gehen die VMware Entwickler noch einen Schritt weiter und bauen auf eine gemeinsame, unterstützte Version und stellen sicher, dass auch Unterschiede zwischen Kubernetes-Versionen keine Probleme verursachen.

Zweitens beeindruckt Kubernetes zwar durch den großen Umfang – dennoch ist es nur ein Element bei der Entwicklung moderner Cloud-nativer Anwendungen. Zu den weiteren Elementen gehören Datendienste, Entwickler-Tool-Chain-Services, Analytics-Dienste und Infrastruktur-Services wie Storage und Networking, um nur einige zu nennen. In der Public Cloud werden viele dieser Dienste von der Cloud-Plattform selbst bereitgestellt. Am häufigsten wird aktuell AWS genutzt, aber die Anteile von Azure und Google Cloud Platform werden im Laufe der Zeit zunehmen. Dank Integrationsmöglichkeiten mit AWS, Azure und potenziell anderen Cloud-Plattformen können unsere Kunden die unterschiedlichen Vorteile der verschiedenen zugrundeliegenden Clouds nutzen.

Das steckt hinter "Multi-Cloud" und nachfolgend finden Sie einige Implementierungsdetails in VKE zur Unterstützung von Multi-Cloud:

VMware Kubernetes Engine selbst wird auf AWS betrieben und unterstützt die Erstellung von Clustern auf nativen EC2-Instanzen. VMware Kubernetes ist in drei AWS-Regionen allgemein verfügbar: US-Ost1, US-West2 und EU-West1. VKE bietet einen einzigen Endpoint für den Service über alle unterstützten Regionen hinweg. Der VKE-Service und die Einstellungen werden über alle Regionen hinweg repliziert, wobei eine ausreichend lockere Kopplung beibehalten wird. Im Falle eines regionalen Ausfalls oder einer Netzwerkpartitionierung einer Region von den anderen, können die Regionen unabhängig voneinander betrieben werden. Diese Architektur wird in Zukunft noch um Azure als eine zusätzliche unterstützte Region erweitert, die unter derselben einheitlichen, globalen Steuerungsebene agiert.

Die Funktion VKE Connections bietet eine native Integration mit der VPC-Peering-Funktion von AWS für Kunden, die über private Netzwerkverbindungen auf ihre bestehenden AWS-Workloads und AWS-Dienste zugreifen möchten. Sie können VPC-Peering-Anfragen für jeden VKE-Produktions-Smart Cluster direkt von der Konsole oder CLI aus starten, um die Verbindungen zu einem oder mehreren AWS-VPCs in Ihren Konten einzurichten. Nachdem die Peering-Anfrage akzeptiert wurde, wird die Verbindung hergestellt und die Peer-VPCs-Dienste können direkt von jedem Kubernetes-Pod im Smart Cluster aus aufgerufen werden. VPC-Peering-Verbindungen bieten eine einfache und sichere Möglichkeit für die Integration Ihrer Kubernetes-Anwendungen in Ihre bestehenden AWS-Konten.

Um so viel Kompatibilität wie möglich zu gewährleisten, sind VKE und PKS über verschiedene Kubernetes-Versionen hinweg kompatibel. Kunden können daher sicher sein, dass sie keine Probleme aufgrund mangelnder Inkompatibilität zwischen Kubernetes-Versionen haben werden.


Querverweis: Coding Tech YouTube Video > Kubernetes The Easy Way! (For Developers In 2018)