VMware with Tanzu - Initiale Installation und Konfiguration

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ünftige 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-Adresse 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.

 001 tanzu cluster erstellen

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“

002 tanzu cluster erstellen

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. 

004 tanzu cluster erstellen

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 

005 tanzu cluster erstellen

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

006 tanzu cluster erstellen

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.

007 tanzu cluster erstellen

Klicken Sie auf die Schaftfläche „VIEW NETWORK TOPOLOGY”, um einen Überblick über die Netzwerkkonfiguration zu bekommen.

Network Topology

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. 

008 tanzu cluster erstellen

1.08. Tanzu Kubernetes Grid Services Configuration

Auf dieser Registerkarte wird die Content Library angebunden. Klicken Sie auf Edit

009 tanzu cluster erstellen

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.  

010 tanzu cluster erstellen

1.09. Review and Confirm

Wenn alle Einstellungen korrekt sind, klicken Sie auf Finish 

011 tanzu cluster erstellen

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.

012 tanzu cluster erstellen

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

 01 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.

02 Create Namespace

2.03. Summary 

Auf der Registerkarte Summary sehen Sie die wichtige Überwachungs- und Verwaltungsfunktionen für vSphere-Administratoren:

03 Create Namespace

  1. 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.
  2. Permissions: Wer darf den Namespace über den Cluster-API-Endpunkt sehen und bearbeiten, werden Sie hier festlegen.
  3. Storage: Hier können Sie die Storage-Richtlinien zuweisen.
  4. Capacity and Usage:  Wie viel CPU, Arbeitsspeicher und Speicher den Benutzern des Namespaces zur Verfügung steht, können Sie hier festlegen.
  5. 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.
  6. vSphere-Pods: Auf dieser Fläche wie viele vSphere Pods ausgeführt werden und in welchem ​​​​Zustand sie sich befinden.
  7. 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

04 Create Namespace Permissions

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).

 05 Create Namespace Storage

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.

06 Create Namespace

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

 301 kubectl tanzu

Die IP-Adresse der Download Seite finden Sie auch auf Summary Seite des Namespaces:

08 Status

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

302 kubectl tanzu

3.03 Plugin entpacken

Entpacken Sie die geladene Datei:

unzip vsphere-plugin.zip 

303 kubectl tanzu

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 

304 kubectl tanzu

3.05. kubectl

Wenn Sie den Befehl kubectl eingeben, wird Ihnen eine Reihe von verfügbaren Befehlen angezeigt:

305 kubectl tanzu

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

306 Access to Namespace

3.07.

Mit dem folgenden Befehl kubectl config get-contexts wird die Liste der verfügbaren Namespaces angezeigt.

307 Access to Namespace

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

 

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.