Deploying Supervisor Services in Air Gapped Umgebungen
vSphere with Tanzu Supervisor Services
Supervisor Services ist eine Plattform für die Verwaltung zentraler Infrastrukturkomponenten, wie z. B. virtueller Maschinen, MinIO, Velero, Harbor und anderen. Nach der Implementierung können Anwendungsteams die Instanzen von Supervisor Services innerhalb der eigenen Namespaces mit branchenüblichen Tools und Verfahren zu deployen.
Da die Supervisor Services auch eng mit unabhängiger Softwareanbieter (ISV) integriert sind, können diese den Workloads wichtige Shared-Services zur Verfügung stellen, wie z.B. (Stand Januar 2024) ein Container Image Registry (Harbor), ein Backup & Recovery Service (Velero), ein S3 Object Store (MinIO), Data Persistence Platform (vDPP), Certificate Mamagement Service, Kubernetes Ingress Controller Service (Contour) und External DNS Service.
Deployment von Supervisor Services
In einer Umgebung mit Internetzugang funktioniert das Deployment von Services „out-of-the Box“, aber in air gapped Umgebungen ist es ohne größeren Aufwand generell gar nicht möglich.
Für jeden Supervisor Service wird eine entsprechende Manifest-Datei benötigt, die von VMware oder von einem unabhängigen Softwareanbieter zur Verfügung gestellt wird. Deployment Manifest-Dateien können etwa von dieser Website heruntergeladen werden: vSphere Supervisor Services.
Der Link kann auch durch vCenter GUI geöffnet werden:
In jeder Service Manifest Datei sind die Links von Images oder Image-Bundles definiert. Wie der Service in einer Air Gapped Umbgebung ausgerollt werden kann, hängt davon ab ob es um ein einzelnes Images pro Service geht, um mehrere oder um ein Image-Bundle.
Hier ein paar Manifest-Datei-Beispiele:
Images und Bundles bereitstellen
Nachdem die Links von Images, oder Image-Bundles gefunden worden sind, müssen sie heruntergeladen werden und in eine interne, aus der Air-Gapped Umgebung erreichbare, Registry angelegt werden.
Die Images können mit docker bereitgestellt werden, Image-Bundels können mit dem “imgpkg” Tool bereitgestellt werden.
Option 1: Deployment aus einer VM mit docker und imgpkg Tool, die Zugang zum Internet und der Registry in der Air-Gapped Umgebung hat:
- Für Images:
docker pull < image_name:version>
docker tag < image_name:version> <interne_harbor/image_name:verstion>
docker push < interne_harbor:verstion> - Für Image-Bundles:
imgpkg copy -b projects.registry.vmware.com/…/< image-bundle_name:version> —to-repo <interne_harbor/image-name> —debug
Option 2: Aus einer VM mit docker und imgpkg Tools die keinen Zugang zur Registry in der Air-Gapped Umgebung hat:
- Für Images:
‘# Eine VM mit Internetzugang
docker pull < imagename:version>
docker save > < image name >.tar
‘# image auf die VM mit dem Zugang zur Registry kopieren
docker load < < image_name:version>.tar
docker tag < image_name:version> <interne_harbor/image_name:verstion>
docker push <interne_harbor/image_name:verstion> - Für Image-Bundles
mgpkg copy -b projects.registry.vmware.com/…/< image-bundle_name:version> —to-tar=<$HOME/< image_folder_name>.tar
‘# image-bundle auf die VM mit dem Zugang zur Registry kopieren
imgpkg copy –tar < path_to_image_file>.tar –to-repo <interne_harbor/image-name> —debug
Supervisor Service Manifest Datei
Nachdem die Image-Bundels bereitgestellt sind, müssen die Manifest Dateien mit dem Link von der internen Registry zum Image-Bundle ergänzt werden.
Jetzt können die Supervisor Services, die als Image bereitgestellt sind, aktiviert und installiert werden.
Ergänzung des kapp-controller-config secret
Um einen Supervisor Service, die als Image-Bundle bereitgestellt ist, installieren zu können, muss das secret “kapp-controlle-config” mit dem Link der internen Registry ergänzt werden. Dies sollte aus einer Supervisor Control Plane VM gemacht werden.
kubectl -n vmware-system-appplatform-operator-system edit secrets kapp-controller-config
Die kapp-controller-config soll so aussehen, wie auf dem Bild.
Harbor FQDN (im Screenshot gelb markiert) hinzufügen, danach alle Links, die definiert sind, base64 encoden und den Wert (im Screenshot grün markiert) hinzufügen z.B.: echo ‘docker-registry.kube-system.svc.cluster.local,harbor.intern.net’ | base64
Jetzt können die Supervisor Services, die als Image-Bundles bereitgestellt sind, aktiviert und installiert werden. Dann den weiteren Installationsschritten auf der VMware Website folgen und die Supervisor Services auch in air gapped Umgebungen genießen. Nach der Supervisor Cluster Aktualisierung müssen die Änderungen auf der kapp-controller-config wiederholt werden.
Wenn auch Sie mit Herausforderungen in Ihrer Infrastruktur kämpfen wenden Sie sich gerne an unser Team und lassen Sie uns gemeinsam eine Lösung finden.
Mehr erfahren
Bei der Virtualisierung von Infrastrukturen gerät man manchmal an Grenzen des Machbaren. Doch workarounds sind oft möglich.
vSphere with Tanzu: Einführung und Implementierung
Tech Deep-Dive: Was ist ein Sender Policy Framework (SPF)-Record? Welche Vorteile und Einschränkungen bringt er mit sich? Teil 1 der Blogserie “Sicherheit durch E-Mail-Autentifizierungsmethoden”
Muhamed Ahmovic
Technischer Presales
Telefon: +49 172 629 6400
E-Mail: mahmovic@spirit21.com
Muhamed ist verantwortlich für die Konzeption, Planung und Umsetzung von IT-Lösungen mit dem Schwerpunkt auf VMware, Storages und Microsoft. Falls Sie Fragen zu Verschlüsselungstechnologien haben, sind Sie bei ihm an der richtigen Stelle.