Eine Option für abwanderungswillige VMware-Nutzer ist eine Migration zu Kubernetes. Zumal auch ohne Modernisierung der Anwendungen die Umstellung auf eine cloudnative Plattform erhebliche Vorteile bietet. Doch solch eine Relokation ist technisch anspruchsvoll und bedarf auch strategischer Überlegungen. Unser Beitrag zeigt, wie IT-Verantwortliche diesen Umstieg konzeptionell angehen, wie eine solche Migration ablaufen sollte und welche Tools diesen Prozess und auch den künftigen Kubernetes-Betrieb erleichtern.
Am Anfang des Migrationsprojekts gilt es zu überprüfen, welche Anwendungen und Dienste in der aktuellen VMware-Umgebung laufen und wie sie sich "containerisieren", also in Kubernetes abbilden lassen. Dies bedeutet auch, zu evaluieren, welche Anwendungen direkt migriert werden können. Dabei ist es wichtig, alle Abhängigkeiten zwischen den Apps zu prüfen und zu identifizieren. Ein entscheidender Schritt vor der Migration besteht darin, die Anwendungen in ein Container-Format umzuwandeln, mittels Do- cker oder ähnlicher Technologien.
Der jeweils optimale Ansatz für die Migration von VMs hängt von deren aktuellem Reifegrad ab. Für ältere VMs mit minimalem Konfigurationsmanagement ist ein "Lift and Shift" des Basis-VM-Images eine Option, wobei Tools wie Forklift und Packer zum Einsatz kommen. Es lohnt sich in jedem Fall zu prüfen, ob die Prozesse innerhalb der VM effizienter containerisiert werden können.
Infrastruktur und Migration
Für IT-Verantwortliche, die ein Konfigurationsmanagement wie Ansible, Salt, Chef oder Puppet einsetzen, ist die Migration unkompliziert: Sie erstellen den neuen Host und wenden vorhandene Skripte an. Sobald ein System in einer Kubernetes-VPC läuft, die sowohl Container als auch VMs unterstützt, ist das Aufteilen von Komponenten eines Workloads viel einfacher.
Am Anfang des Migrationsprojekts gilt es zu überprüfen, welche Anwendungen und Dienste in der aktuellen VMware-Umgebung laufen und wie sie sich "containerisieren", also in Kubernetes abbilden lassen. Dies bedeutet auch, zu evaluieren, welche Anwendungen direkt migriert werden können. Dabei ist es wichtig, alle Abhängigkeiten zwischen den Apps zu prüfen und zu identifizieren. Ein entscheidender Schritt vor der Migration besteht darin, die Anwendungen in ein Container-Format umzuwandeln, mittels Do- cker oder ähnlicher Technologien.
Der jeweils optimale Ansatz für die Migration von VMs hängt von deren aktuellem Reifegrad ab. Für ältere VMs mit minimalem Konfigurationsmanagement ist ein "Lift and Shift" des Basis-VM-Images eine Option, wobei Tools wie Forklift und Packer zum Einsatz kommen. Es lohnt sich in jedem Fall zu prüfen, ob die Prozesse innerhalb der VM effizienter containerisiert werden können.
Infrastruktur und Migration
Für IT-Verantwortliche, die ein Konfigurationsmanagement wie Ansible, Salt, Chef oder Puppet einsetzen, ist die Migration unkompliziert: Sie erstellen den neuen Host und wenden vorhandene Skripte an. Sobald ein System in einer Kubernetes-VPC läuft, die sowohl Container als auch VMs unterstützt, ist das Aufteilen von Komponenten eines Workloads viel einfacher.
Ebenso müssen sich Administratoren überlegen, wie sie die Datenpersistenz in Kubernetes sicherstellen. Ein wichtiges Tool dafür sind "StatefulSets" zum Verwalten von zustandsbehafteten Anwendungen, um stabile, vorhersehbare Identitäten und persistenten Speicher für jeden Pod zu garantieren. Besondere Sorgfalt ist gefragt bei der Planung von Datenbankmigrationen, um Datenverlust zu vermeiden. Generell ist bei der Migration eine Pilotphase mit einer kleinen Gruppe von Diensten sinnvoll, um Risiken zu minimieren, gefolgt von weiteren Migrationsphasen statt einer großen Komplettmigration.
Sicherheit dokumentieren
Continuous Integration und Continuous Deployment (CI/DI)-Pipelines sind hilfreich für die Bereitstellung in Kubernetes. Sinnvoll ist ebenso die Integration von Monitoring und Logging, um Einblick in den Betrieb der Anwendungen zu erhalten. Ein IT-übergreifender Aspekt ist die Sicherheit – auch bei Kubernetes. Diese erfordert insbesondere Sicherheitsrichtlinien und rollenbasierte Zugriffskontrolle (RBAC) im Kubernetes-Cluster.
Darüber hinaus gilt es Sicherheitsrichtlinien für Container und Images zu überprüfen, um Schwachstellen zu minimieren. Ist das Thema Security abgehakt, können Admins eine Testmigration starten, um Probleme frühzeitig zu erkennen. Mittels Performancetests prüfen Sie dabei insbesondere die Leistung der Anwendungen in der neuen Kubernetes-Umgebung.
In der Regel ist nicht das ganze IT-Team in das Migrationsprojekt involviert. Für den laufenden Betrieb ist es jedoch wichtig, dass alle zuständigen Administratoren über die erforderlichen Fähigkeiten zur Verwaltung und Entwicklung in Kubernetes verfügen. IT-Verantwortliche sollten hierbei durchaus in Betracht ziehen, externe Experten oder Dienstleister einzubinden, um die Migration und die Anlaufphase zu unterstützen. Alle Änderungen und neuen Prozesse sollten gut dokumentiert werden, um zukünftige Migrationen und Wartungen zu erleichtern.
Nützliche Tools
Der Wechsel von einer geschlossenen Plattform wie VMware zum freien Kubernetes ist ein bedeutender Anreiz für diese Migration. Eine Kombination von Tools [1], wie sie Anbieter wie Kubermatic bereitstellen, erleichtert den Ablauf und den nachfolgenden Betrieb.
Mit geeigneten Tools wie hier Kubermatic lassen sich VMs einfach in Kubernetes integrieren.
Dies beginnt mit dem automatisierten Erstellen, Verwalten und Skalieren von Kubernetes-Clustern über verschiedene Cloudprovider, Private Clouds oder On-Premises-Umgebungen hinweg. Dies hilft Administratoren beim Aufbau einer konsistenten Ziel-Cluster-Landschaft nach der Migration. Die Cluster-Standardisierung – durch die Bereitstellung vordefinierter Templates für Konfiguration, Sicherheit, Netzwerk und Storage – stellt eine konsistente Betriebsweise sicher. Hierbei unterstützen Tools bei der zentralisierten Überwachung, Backup und Recovery, Secrets-Management und Compliance über Cluster-Grenzen hinweg. Eine zentrale RBAC- und Policy-Verwaltung für alle Cluster erleichtert die Governance nach der Migration.
Datenmanagement und Compliance vereinfachen
Nach der Migration helfen Netzwerk- und Speicherabstraktionen, die Verwaltung zu vereinfachen. Ähnlich wie softwaredefinierter Speicher, der in VM-Umgebungen eine wichtige Rolle spielt, erfüllen spezialisierte Speicherwerkzeuge diese Rolle im Kubernetes-Ökosystem und bieten Funktionen für das Datenmanagement. Dazu gehören wichtige Aspekte wie standortübergreifende Replikation, Point-in-Time-Snapshots und On-Disk-Verschlüsselung, die für VM-Umgebungen unerlässlich sind.
Diese Speicherabstraktionen erlauben, Daten zusammen mit dem Workload über ein einzelnes Rechenzentrum hinaus zu übertragen. Zum Einhalten von Vorschriften, insbesondere DORA, können IT-Verantwortliche verschiedene Storage Classes mit unterschiedlichen Datenschutzregeln und SLAs definieren, was das Compliancemanagement in großem Maßstab vereinfacht. Die API-gesteuerte Natur von Kubernetes und der zugrundeliegenden Speicherschicht ermöglicht Entwicklern Selfservice-Funktionen, einschließlich Backup- und Recovery-Prozessen, mit integrierten Sicherheitsvorkehrungen, um die internen Erwartungen der Benutzer zu erfüllen. Beispielsweise kann GitOps vor der Einführung einer Änderung ein Backup in einer Produktionsumgebung auslösen.
Recovery und Ausfallsicherheit
Eine nach Kubernetes verschobene VM ist ein vollwertiger Bestandteil der Umgebung und wird wie jede andere containerisierte Bereitstellung behandelt. Dies bedeutet, dass VMs vom flexiblen dynamischen Scheduler von Kubernetes profitieren, der über mehrere Rechenzentren hinweg einsetzbar ist. Dieser deklarative Ansatz, bei dem Admins definieren, was das System tun soll, ist eine bedeutende Abkehr von der manuellen, imperativen Platzierung von Workloads in herkömmlichen VMware-Modellen.
Kubernetes wurde für hohe Ausfallsicherheit entwickelt und verwendet ein Quorum mit einer ungeraden Anzahl von Servern. Dies bietet einen großen Vorteil gegenüber der Aktiv-Passiv-Konfiguration von VMware und kann zu Hardwareeinsparungen führen. Die operative Reife von Kubernetes stellt sicher, dass Disaster Recovery und Ausfallsicherheit integriert sind, was für die Einhaltung strenger RTOs von entscheidender Bedeutung ist.
Moderne Vernetzung
Kubermatic Virt bietet ein "Virtual Private Cloud"-Paradigma für Netzwerke. Das Container Network Interface (CNI) ermöglicht es Diensten innerhalb des cloudnativen Namespace direkt mit virtuellen Maschinen zu interagieren. Auf diese Weise können Benutzer Anwendungen als ein einziges Manifest definieren und bereitstellen, wodurch sie hochgradig portabel sind und kurzlebige Umgebungen ermöglichen. Dies entspricht in etwa einem digitalen Klon der Produktionsumgebung zum Testen, der in einem separaten Cluster mit denselben Kontrollen wie die Produktion selbst versteckt ist.
Kubernetes öffnet auch die Tür für die Verwendung ausgereifter Service-Meshes wie Linkerd oder Istio. Diese bieten eine Überlagerung der Logik für die Vernetzung und erweitern Funktionen wie die Verschlüsselung von Pod zu Pod oder von Pod zu VM.
Fazit
Die Verlagerung von VMs nach Kubernetes ist eine sichere Landezone für Administratoren, die mit VMware vertraut sind. Dabei ist vorhandenes Wissen über VMs, KVM und Linux sehr hilfreich – gleichzeitig gilt es, neue Kubernetes-Kenntnisse zu erwerben. Dieser Übergang ist eine Gelegenheit, technische Altlasten anzugehen, indem sich IT-Verantwortliche im Voraus Gedanken über Dinge wie Failover und Skalierung machen können. Zudem bietet sich die Chance, Datensicherheit und Hochverfügbarkeit einzubringen. Die Migration von VMware zu Kubernetes bleibt generell ein komplexer Prozess, der sorgfältige Planung und Durchführung erfordert. Indem Administratoren einige wesentliche Aspekte frühzeitig berücksichtigen, können sie Risiken jedoch minimieren.
(jp)
Sebastian Scheele ist CEO und Mitbegründer bei Kubermatic.