Kubernetes in vSphere ohne Cloud Foundation betreiben

Neues Design

Der native Kubernetes-Support gehört zu den Highlights von vSphere 7. Doch bis zum Update 1 der neuen vSphere-Version ließen sich cloudnative Apps mit Kubernetes nur auf Basis einer Lizenz mit VMwares Cloud Foundation nutzen. Dank des Updates gelingt das nun auch mit vSphere Distributed Switches und einem externen Lastausgleich. Wir beschreiben das dafür erforderliche Netzwerkdesign.
Das flexible Bereitstellen von Anwendungen und Software-Umgebungen ist dank der Container-Technologie kein Hexenwerk mehr. Dennoch gilt es für Admins, so ... (mehr)

Die prinzipielle Architektur von "Kubernetes auf vSphere" umfasst einen VM-basierten Supervisor-Cluster, ESXi-basierte Compute-Nodes samt Spherelet (die VMware-Variante eines Kubelet) und die Container-Engine CRX. Dieser Aufbau bietet zudem die Möglichkeit, je nach verwendeter Netzwerkvirtualisierung entweder native vSphere-PODs zusammen mit Tanzu-Kubernetes-Grid-Clustern (bei denen dann Kubernetes-Control-Plane sowie Compute-Knoten aus VMs bestehen) oder ausschließlich Letztere bereitzustellen. Dies kommt beim Verwenden von vSphere-Netzwerken mit Distributed Switches in Frage.

Wichtig für die Konnektivität der Kubernetes- Steuerungsebenen-VMs ist, dass sich Dienste und Arbeitslasten im Supervisor- Cluster seit vSphere 7 entweder mit vSphere-Netzwerk-Stack oder VMware NSX-T Data Center verwenden lassen. Dabei ist das für Tanzu-Kubernetes-Cluster verwendete Netzwerk, das vom Tanzu- Kubernetes-Grid-Dienst (TKG) bereitgestellt wird, einerseits das Fabric, das der "vSphere-mit-Tanzu"-Infrastruktur zugrunde liegt. Dazu gesellt sich eine Open- Source-Software, die Netzwerke für Cluster- Pods, Dienste und Ingress bereitstellt. Diese Flexibilität beim Netzwerkdesign rührt daher, dass Kubernetes mit der verteilten Konfigurationsdatenbank "etcd" im Zentrum und den drum herum gestrickten APIs (verwaltet durch den APIServer) sehr klug entwickelt wurde.

Offenes Netzwerkdesign von Kubernetes

Vom Grundsatz her ist Kubernetes als eine Art Middleware konzipiert und weiß daher, dass es mit umgebenden Systemen kommunizieren muss, und zwar nach oben und nach unten. Dazu hat Kubernetes zahlreiche Schnittstellen geschaffen, sodass sich andere Projekte darum kümmern können, was dahinter passiert. Beim Netzwerk betrifft das beispielsweise das Container-Network-Interface CNI. Da die Kubernetes-APIs sehr flexibel konzipiert sind, fügt sich Kubenetes-Networking auf Wunsch

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021