Hier finden Sie eine detaillierte Schritt für Schritt Anleitung wie Sie die vSphere with Tanzu – Infrastruktur (Workload Management und Namespace) einrichten können.
Vorbereitung:
- Lizenzen. Es werden folgende Lizenzen auf allen ESXi-Hosts, die zu dem Supervisor Cluster gehören, benötigt: VMware vSphere 7 Enterprise Plus with Add-on for Kubernetes
- vSphere DRS (Distributed Resource Scheduler) – muss auf der vSphere-Cluster Ebene eingeschalten sein.
- vSphere HA (High Availability) – muss ebenfalls eingeschaltet werden. Bei der Aktivierung der oberen Optionen reicht die Default-Konfiguration vollkommen aus.
- Storage – sorgen Sie dafür, dass Sie die entsprechende Storages-Ressourcen vorhanden sind. Es wäre ebenfalls sinnvoll, wenn vorab die Storage-Richtlinien erstellen werden, um die optimale Auslastung der Storage-Infrastruktur zu gewährleisten. Die Verwendung von Shared Storage gilt als Selbstverständlichkeit, da es sowohl für die Aktivierung von vSphere HA / DRS als auch zum Speichern von persistenten Container-Volumes erforderlich ist.
- Content Libraries – es wird eine lokale CL benötigt. CL beinhaltet die Images, die als Template für die zukünftigen Guest-Cluster dienen werden.
- vSphere Distributed Switch(VDS) – ist eine Mindestvoraussetzung auf der Netzwerkebene. NSX-T oder VMware NSX Advanced Load Balancer (AVI Vantage) ist eine bevorzugte Lösung, besonders wenn Sie die vSphere Pods und TKGS (Nested Cluster) verwenden möchten.
- Netzwerk Requerment – auch im Netzwerkbereich müssen Sie einige Vorbereitungen vornehmen:
- MTU: Die MTUs müssen größer oder gleich 1600 MB in allen Netzwerken, die Tanzu-Datenverkehr übertragen eingestellt sein.
- Ingress-CIDRs - muss mindestens ein /27-Netzwerk sein. (Subnet Mask /27 = 30 IP-Adressen)
- Egress-CIDRs - muss ebenfalls mindestens ein /27-Netzwerk sein.
- Ingress- und Egress-Bereiche dürfen sich nicht überschreienden und müssen mit dem Rest des Unternehmensnetzwerks routingfähig sein.
- 5 aufeinanderfolgenden IP-Adressen für den ControlPlane-VM
- NTP-Server intern oder extern
Es lohnt sich vor der Installation folgende Tabellen mit IP-Adressen vorzubereiten:
Management Network:
Name | Parameter |
Network | Name der Portgruppe |
Starting IP Address | |
Subnet Mask | |
Gateway | |
DNS Server | |
DNS Search Domains | domain.name |
NTP Server | ntp.domail.name |
Workload Network:
Name | Parameter |
vSphere Distributed Switch | Name des Switches |
Edge Cluster | |
API Server endpoint FQDN | apiservername.domain.name |
DNS Server | |
Pod CIDRs | |
Service CIDRs | Minimum /16 Subnet |
Ingress CIDRs | Minimum /27 Subnet |
Egress CIDRs | Minimum /27 Subnet |
Supervisor Cluster einrichten
1.01. Workload Management
Klicken Sie auf das Menü des vSphere-Clients und wählen Sie die Option Workload Management. Beachten Sie, dass diese Option erst ab der Version vSphere 7 verfügbar ist.
1.02. vCenter Server ans Network
Da wir bisher noch kein Workload Management Wizard gestartet hatten, wird uns die Informationsseite angezeigt. Wenn Sie einen neuen Cluster erstellen wollen, können dies wie folgt tun: Menu > Workload Management > Cluster > Add Cluster
Klicken Sie auf „Get Startet“
1.03. Select a Cluster
In folgendem Fenster werden ein oder mehrere kompatible Cluster angezeigt, in denen Sie das Workload Management aktivieren können. Wählen Sie den gewünschten Cluster aus und klicken Sie auf Next.
1.04. Control Plane Size
Wählen Sie je nach Ihrem Anwendungsfall die geeignete VM-Größe. Tiny/Small/Medium/Large Tiny und Small sind eher für die Test-Zwecken vorgesehen. Klicken Sie nach Auswahl auf Next.
Die festgelegte Größe lässt sich bei Bedarf anpassen: Supervisor Cluster auswählen > Configure > General > Control Plane Size > Edit
1.05. Storage
Für die Control Plane können mehrere Speicherkomponenten zugeordnet werden. Wählen Sie hier für die vorgesehene Richtlinien, die den Speicher enthält, auf dem die Komponenten bereitgestellt werden sollen. Die Beschreibung des Punktes ist irreführend, da die Richtlinien nicht ausschließlich für die Control Plane VMs gelten.
- Control Plane Node - die Speicherrichtlinie für die Platzierung der Control Plane-VMs
- Ephemeral Disks - die Speicherrichtlinie für die Platzierung der vSphere-Pods
- Image Cache - die Speicherrichtlinie für die Platzierung des Caches von Container-Images
1.06. Management Network
Auf dieser Registerkarte tragen wir für das Verwaltungsnetzwerk notwendige Informationen.
- Network - wählen Sie das VM-Verwaltungsnetzwerk
- Starting IP Adresse – Tragen Sie hier eine IP-Adresse ein, die sich in dem im vorherigen Schritt ausgewählten Verwaltungsnetzwerk befindet. Beachten Sie, dass fünf aufeinanderfolgende IP-Adressen verfügbar sein müssen.
- Subnet Mask – die Subnetzmaske für das Verwaltungsnetzwerk
- Gateway – die IP-Adresse des Gateways für Verwaltungsnetzwerk
- DNS Servers – hier wird die IP-Adresse des DNS-Servers eingegeben.
- DNS Search Domains – optional können Sie hier die FQDN des Netzwerks eintragen
- NTP Servers – tragen Sie hier die IP des NTP-Servers, um sicherzustellen, dass alle Komponenten zeitlich synchronisiert bleiben.
Wenn alle oberen Felder ausgefüllt sind, klicken Sie auf Next, um fortzufahren.
Klicken Sie auf die Schaftfläche „VIEW NETWORK TOPOLOGY”, um einen Überblick über die Netzwerkkonfiguration zu bekommen.
1.07. Workload Network
Auf dieser Registerkarte wird die Netzwerkkonfiguration fortgesetzt.
- vSphere Distributed Switch – wählen Sie den Distributed vSwitch aus, welcher das Overlay-Netzwerke für den Supervisor Cluster verwaltet.
- Edge Cluster – wählen Sie den NSX-T Edge-Cluster (NSX Tier-0 Gateway), den Sie verwenden möchten.
- API Server Endpoint FQDN – hier können Sie Sie optional den FQDN des API-Servers für Kubernetes ein. Dieser Eintrag muss aber bereits im DNS konfiguriert sein und mit der IP-Adresse, die Sie später im Feld Ingress CIDR eintragen werden, verknüpft sein.
- DNS Server – hier wird die IP-Adresse des DNS-Servers eingegeben, die bereits im vorherigen Schritt konfiguriert wurde.
- Pod CIDRs – Sie können die Standardeinstellung beibehalten, falls dieser Netzwerkbereich nicht verwendet wird. Bei diesem Netzwerksegment handelt es sich um die interne, nicht routingfähige Kommunikation. Dies betrifft auch die Services CIDRs. Die IP-Adressen in diesen Bereichen können selbstverständlich angepasst werden, besonders bei einer Konfliktsituation.
- Services CIDRs – auch hier müssen die Standardeinstellung nicht ändern.
- Ingress CIDRs – geben Sie hier die IP-Adresse für die eingehende Kommunikation. Dies muss mindestens ein /27-Netzwerk sein.
- Egress CIDRs – geben Sie hier die IP-Adresse für die ausgehende Kommunikation. Dies muss mindestens ein /27-Netzwerk sein.
Klicken Sie auf Next, um fortzufahren.
1.08. Tanzu Kubernetes Grid Services Configuration
Auf dieser Registerkarte wird die Content Library angebunden. Klicken Sie auf Edit
Hier habe Sie die Möglichkeit eine bereits existierende Library anzubinden oder eine neue anzulegen. Welche Art der Inhaltsbibliothek (Local Content Library oder Subscribed Content Library) Sie einrichten möchten hängt von Ihrer Situation ab.
1.09. Review and Confirm
Wenn alle Einstellungen korrekt sind, klicken Sie auf Finish
1.11. Abschluss der Installation und Protokolldatei
Beachten Sie bitte, dass die Installation abhängig von ihren Hardware-Ressourcen sehr zeitaufwendig ist und zwischen 30 Minuten und einer Stunde dauern kann.
Die Protokolldatei für den Workload Management Wizard finden Sie auf dem vCenter Server unter dem folgenden Pfad: /var/log/vmware/wcp/wcpsvc.log
tail -f /var/log/vmware/wcp/wcpsvc.log
Tanzu Version
Welche Version auf Ihrem System installiert ist, erfahren Sie mit dem Befehl:
kubectl get tanzukubernetesreleases
Namespace Erstellung
2.01.
Klicken Sie zunächst auf das vSphere-Menü und wählen Sie Workload Management
Bei der Erstellung des ersten Namespaces öffnet sich ein Begrüßungsfenster. Klicken Sie auf die Schaftfläche Create Namespace
2.02. Create Namespace
Wählen Sie den vSphere-Cluster, in dem Sie den neuen Namespace erstellen möchten. Tragen Sie einen DNS-kompatiblen Namen und optional eine kurze Beschreibung ein. Anschließend klicken Sie auf die Schaltfläche Create.
2.03. Summary
Auf der Registerkarte Summary sehen Sie die wichtige Überwachungs- und Verwaltungsfunktionen für vSphere-Administratoren:
- Status: Hier werden die allgemeine Status-Informationen angezeigt, die Cluster- und vCenter-Instanzen, zu denen der Namespace gehört, sowie nützliche URL-Links zu CLI-Tools.
- Permissions: Wer darf den Namespace über den Cluster-API-Endpunkt sehen und bearbeiten, werden Sie hier festlegen.
- Storage: Hier können Sie die Storage-Richtlinien zuweisen.
- Capacity and Usage: Wie viel CPU, Arbeitsspeicher und Speicher den Benutzern des Namespaces zur Verfügung steht, können Sie hier festlegen.
- Tanzu Kubernetes Grid Service: Hier wird Ihnen die allgemeine Übersicht über die nasted Kubernetes-Cluster angezeigt, sowie die Möglichkeit gegeben, die Content Library anzupassen.
- vSphere-Pods: Auf dieser Fläche wie viele vSphere Pods ausgeführt werden und in welchem Zustand sie sich befinden.
- VM Services: Hier haben Sie die Möglichkeit die VM Classen auszuwählen, die als Basis für die TKGS-VMs dienen würden, sowie die zugeordnete Content Library zu ändern.
2.04. Add Permission
Hier haben Sie die Möglichkeit einen Benutzer (Entwickler) oder eine Benutzergruppe hinzufügen. Diese Benutzer bekommen anschließend die Berechtigung mit dem Befehl kubectl über die IP-Adresse oder FQDN des Workspace Control Planes zuzugreifen.
- Identity Source - wählen Sie die gewünschte Identitätsquelle
- User/Group Search - suchen Sie nach dem Benutzer oder der Gruppe, die Sie hinzufügen möchten
- Role – weisen Sie anschließend die Rolle (Owner / Can view / Can edit) zu. Abhängig von der zugewiesenen Rolle können die Benutzer die Container-Bereitstellung erstellen, überwachen und/oder löschen.
- owner - kann vSphere-Namespace ändern und löschen
- can edit - kann den vSphere-Namespace ändern
- can view - kann nur alle Einstellungen sehen
Anschließend klicken Sie auf OK
2.05. Storage
Klicken Sie auf die Schaltfläche „Add Storage“.
Es öffnet sich folgendes Fenster. Hier werden alle existierende Storage-Richtlinien angezeigt, die Sie mit dem Namespace verwendet können. Sie können eine oder mehrere Richtlinien zuweisen, die Sie mit dem Namespace verwenden möchten.
Wenn Sie feststellen wollen, welcher Datastore der Richtlinie zugeordnet ist, klicken auf dem Pfeil-Symbol (gelb markiert).
2.06. Capacity and Usage
Im Bereich können Sie festlegen, wie viel CPU-, Arbeitsspeicher- und/oder Disk-Speicher-Ressourcen für den Namespace Cluster verfügbar sind. Es ist sehr empfehlenswert die Funktion zu nutzen, um die möglichen Engpässe zu vermeiden.
Klicken Sie auf die Schaltfläche Edit Limits
- CPU - legt die maximale CPU-Größe fest, die der Namespace verbrauchen kann. MHz und GHz sind die verfügbaren Einheiten.
- Memory - legt die maximale Menge an RAM fest, die der Namespace verbrauchen kann. Die verfügbaren Einheiten sind MB und GB.
- Storage - legt die maximale Gesamtmenge an Speicherplatz fest, die der Namespace verbrauchen kann. Sie können sowohl die globalen Parameter setzten als auch einzeln für die in vorherigen Schritt (2.05) angebunden Richtlinien.
Es gibt auch einen weiteren Weg die Ressourcen eines Clusters einzuschränken: vCenter > Namespaces > Cluster auswählen > Registerkarte „Configure“ > Resourse Limits > Edit
2.07. VM Services
Klicken Sie auf „Manage VM Classes“, wenn Sie für die TKGS eine neue / andere VM Klasse zuweisen wollen.
Alle getätigte Einstellungen können jede Zeit angepasst werden.
CLI Tools - Installation
Analog zu den „klassischen“ Kubernetes-Cluster wird auch die Tanzu Infrastruktur mit dem kubectl verwaltet. VMware ergänzt die kubectl-Funktionalität mit dem Zusatztool kubectl-vsphere.
3.01. CLI Tools herunterladen
Laden Sie bitte die CLI Tools entsprechend des Betriebssystems von der Webseite ihres Clusters herunter:
Workload Management > Clusters > Control Plane Node IP Address
Die IP-Adresse der Download Seite finden Sie auch auf Summary Seite des Namespaces:
3.02 CLI Plugin Download
Da die Management VM ein Linux Betriebssystem ist, muss die zip-Datei zuerst heruntergeladen werden:
wget https://IP-Adresse-des-Control-Planes/wcp/plugin/linux-amd64/vsphere-plugin.zip
3.03 Plugin entpacken
Entpacken Sie die geladene Datei:
unzip vsphere-plugin.zip
3.04. PATH dauerhaft einstellen
Die Anpassung der Path-Variable sorgt dafür, dass das Betriebssystem eine Liste der Verzeichnisse hat, in denen nach ausführbaren Programmen, Skripten oder Dateien sucht wird.
Wenn Sie das CLI Tool auf einem Windows Betriebssystem einsetzen wollen, müssen Sie auch die Umgebungsvariablen anpassen: Systemeigenschaften > Umgebungsvariablen > „Path“ auswählen > Bearbeiten > Pfad eintragen z.B. c:\Tools\vsphere-plugin\bin
echo 'export PATH=/IhrName/bin:$PATH' >> ~/.bash_profile
echo 'source < (kubectl completion bash) ' >> ~/.bash_profile
Ergebnisse überprüfen: cat ~/.bash_profile
3.05. kubectl
Wenn Sie den Befehl kubectl eingeben, wird Ihnen eine Reihe von verfügbaren Befehlen angezeigt:
3.06. Verbindung mit dem Namespace Cluster herstellen
Hier ist ein Beispiel, wie Sie eine Verbindung zu dem Namespace Cluster herzustellen (den Benutzer haben wir im Abschnitt 2.04 hinzugefügt) können:
kubectl vsphere login --server 192.168.30.33 -u Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
kubectl vsphere login --server <Control Plane Node IP oder FQDN> --vsphere-username <user@domain>; --insecure-skip-tls-verify
3.07.
Mit dem folgenden Befehl kubectl config get-contexts wird die Liste der verfügbaren Namespaces angezeigt.
Die Installation / Konfiguration ist hiermit abgeschlossen.
vSphere Rollen
Falls sie die Administration und Verwaltung an die jeweilige Gruppe delegieren möchten, können Sie dafür die vordefinierten Rollen verwenden:
Rolle: SupervisorService Cluster Operator
Allows create/delete rights to Namespaces against a cluster, as well as cluster configuration
Host
- Inventory
- Modify cluster
Namespaces
- Modify namespace configuration
Rolle: SupervisorService Operator
Certificate Authority
- Create/Delete (below Admins priv).
Rolle: SupervisorService RootFolder Operator
Allows create/view/delete rights to Storage Policies
Profile-driven storage
- Profile-driven storage update
- Profile-driven storage view
Rolle: vSphere Kubernetes Manager
Allows operations to perform lifecycle management of vSphere Pod
Content Library
- Manage Harbor registry resources on specified compute resource
Cryptographic operations
- Add disk
- Clone
- Encrypt
- Encrypt new
- Migrate
- Recrypt
Datastore
- Allocate space
Resource
- Assign virtual machine to resource pool
Virtual machine
- Change Configuration
- Add new disk
- Add or remove device
- Edit Inventory
- Create new
- Remove
- Interaction
- Power off
- Power on