Konfiguration und Verwaltung von vSphere with Kubernetes
Geändert am 30. Juli 2020VMware vSphere 7.0vCenter Server 7.0VMware ESXi 7.0
Die aktuellste technische Dokumentation finden Sie auf der VMware-Website unter:
https://docs.vmware.com/de/
VMware, Inc.3401 Hillview Ave.Palo Alto, CA 94304www.vmware.com
VMware Global, Inc.Zweigniederlassung DeutschlandWilly-Brandt-Platz 281829 MünchenGermanyTel.: +49 (0) 89 3706 17 000Fax: +49 (0) 89 3706 17 333www.vmware.com/de
Copyright ©
2019, 2020 VMware, Inc. Alle Rechte vorbehalten. Urheberrechts- und Markenhinweise.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 2
Inhalt
Konfiguration und Verwaltung der vSphere with Kubernetes 7
1 Aktualisierte Informationen 8
2 Grundlegendes zu vSphere with Kubernetes 13Was ist vSphere with Kubernetes? 13
Was ist ein vSphere-Pod? 16
Was ist ein Tanzu Kubernetes-Cluster? 18
Verwendungsfälle für vSphere Pods und Tanzu Kubernetes-Cluster 21
vSphere with Kubernetes-Benutzerrollen und -Workflows 21
Lizenzierung für vSphere with Kubernetes 28
Wie ändert vSphere with Kubernetes die vSphere-Umgebung? 28
3 Komponenten und Architektur von vSphere with Kubernetes 29vSphere with Kubernetes – Architektur 29
Tanzu Kubernetes Grid-Dienst – Architektur 33
Mandantenmodell für Tanzu Kubernetes-Cluster 35
Netzwerke in vSphere with Kubernetes 37
Speicher in vSphere with Kubernetes 42
Wie ist vSphere with Kubernetes in vSphere-Speicher integriert? 48
Unterstützte Funktionen von vSphere CNS-CSI und paravirtueller CSI 51
Speicherberechtigungen in vSphere with Kubernetes 52
Authentifizierung für vSphere with Kubernetes 53
Authentifizieren bei Tanzu Kubernetes-Clustern 54
4 Konfigurieren eines Supervisor-Cluster 57vSphere with Kubernetes-Systemanforderungen und Topologien 57
Erstellen von Speicherrichtlinien für vSphere with Kubernetes 64
Konfigurieren von vSphere with Kubernetes für die Verwendung von NSX-T Data Center 67
Einen vSphere Distributed Switch erstellen 69
Bereitstellen und Konfigurieren von NSX Manager 70
Hinzufügen einer Lizenz 72
Hinzufügen eines Compute Managers 72
Erstellen von Transportzonen 73
Erstellen eines Host-Uplink-Profils 74
Erstellen eines Edge-Uplink-Profils 74
Erstellen eines IP-Pools für die IP-Adressen von Hosttunnel-Endpoints 75
Erstellen eines Transportknotenprofils 76
VMware, Inc. 3
Anwenden eines Transportknotenprofils auf vSphere-Cluster 77
Konfigurieren und Bereitstellen eines NSX Edge-Transportknotens 77
Erstellen eines NSX Edge-Clusters 79
Erstellen eines Tier-0-Uplink-Segments 79
Erstellen eines Tier-0-Gateways 80
Aktivieren von vSphere with Kubernetes in einem Cluster mit NSX-T Data Center 81
Best Practices für die Konfiguration von vSphere with Kubernetes 85
Ändern der Speichereinstellungen im Supervisor-Cluster 85
Ändern des Kubernetes-API-Endpoint-Zertifikats 86
5 Arbeiten mit Namespaces in einem Supervisor-Cluster 87Erstellen und Konfigurieren eines Supervisor-Namespace 87
Konfigurieren von Einschränkungen für Kubernetes-Objekte in einem Namespace 89
Festlegen von standardmäßigen Arbeitsspeicher- und CPU-Reservierungen und Grenzwerten für Container 89
Verwenden der Registrierungsdienst für die Bereitstellung einer privaten Image-Registrierung90
Aktivieren einer privaten Image-Registrierung über die Registrierungsdienst in einem Supervisor-Cluster 91
Löschen von Images aus der privaten Image-Registrierung 91
Ändern der Speichereinstellungen in einem Namespace 92
6 Arbeiten mit vSphere Pods 93Authentifizieren beim Supervisor-Cluster und Abrufen von Kontexten 93
Anzeigen von Speicherklassen in einem Supervisor-Namespace- oder Tanzu Kubernetes-Cluster94
Bereitstellen einer Anwendung in einem Namespace 96
Vertikales Hoch- und Herunterskalieren einer Anwendung 96
Weitergeben von Images an einen Namespace in der Registrierungsdienst 97
Bereitstellen einer Anwendung mithilfe eines Images aus Registrierungsdienst 98
Bereitstellen einer statusbehafteten Anwendung 100
Überwachen dauerhafter Volumes 102
7 Ausführen von Tanzu Kubernetes-Clustern in vSphere with Kubernetes 106Herstellen einer Verbindung mit der Tanzu Kubernetes-Clusterumgebung 106
Herunterladen und Installieren von Kubernetes-CLI-Tools für vSphere 106
Herunterladen und Installieren von TLS-Zertifikaten 108
Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer108
Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer 110
Herstellen einer Verbindung mit der Tanzu Kubernetes-Steuerungsebene als Kubernetes-Administrator 112
Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer 113
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 4
Herstellen einer Verbindung mit einem Clusterknoten als Systembenutzer mithilfe eines Kennworts 115
Gewähren des Entwicklerzugriffs auf Tanzu Kubernetes-Cluster 116
Erstellen von Tanzu Kubernetes-Clustern 118
Workflow zum Erstellen von Tanzu Kubernetes-Clustern 118
Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster 120
Bereitstellen eines Tanzu Kubernetes-Clusters 121
Konfigurationsparameter für Tanzu Kubernetes-Cluster 124
Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster 129
Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern 130
Löschen eines Tanzu Kubernetes-Clusters 132
Bereitstellen eines Tanzu Kubernetes-Clusters in einer Air-Gapped-Umgebung 133
Bereitstellen von Arbeitslasten für Tanzu Kubernetes-Cluster 138
Beispiel für Tanzu Kubernetes-Arbeitslast 139
Beispiel für einen Load Balancer für den Tanzu Kubernetes-Dienst 140
Beispiel für Tanzu Kubernetes-Ingress 142
Beispiel für die Beanspruchung eines dauerhaften Tanzu Kubernetes-Volumes 147
Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern 148
Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie 151
Beispielbindungen für die standardmäßige Pod-Sicherheitsrichtlinie 153
Beispielrolle für die benutzerdefinierte Pod-Sicherheitsrichtlinie 154
Betreiben von Tanzu Kubernetes-Clustern 155
Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe des vSphere Client 155
Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe von kubectl 156
Anzeigen der vollständigen Ressourcenhierarchie für einen Tanzu Kubernetes-Cluster 157
Migrieren von Tanzu Kubernetes-Clustern zu einer neuen Inhaltsbibliothek 158
Einen Tanzu Kubernetes-Cluster skalieren 159
Lebenszyklusstatus des Tanzu Kubernetes-Clusters 161
Befehle für den Betrieb des Tanzu Kubernetes-Clusters 162
Befehle für das Tanzu Kubernetes-Cluster-Netzwerk 164
Geheime Schlüssel für Tanzu Kubernetes-Cluster 165
8 Update von vSphere with Kubernetes-Clustern 167Informationen zu vSphere with Kubernetes-Cluster-Updates 167
Update von vSphere Namespaces 170
Update des vSphere-Plug-In für kubectl 171
Update von Tanzu Kubernetes-Clustern 171
9 Fehlerbehebung bei vSphere with Kubernetes 175Speicherfehlerbehebung in vSphere with Kubernetes 175
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 5
Verwenden von Anti-Affinitätsregeln für VMs der Steuerungsebene in Nicht-vSAN-Datenspeichern 175
Die aus vSphere entfernte Speicherrichtlinie wird weiterhin als Kubernetes-Speicherklasse angezeigt 177
Fehlerbehebung beim Netzwerk 177
vCenter Server bei NSX Manager erneut registrieren 178
Das Kennwort der NSX-Appliance kann nicht geändert werden 178
Fehlerbehebung bei fehlgeschlagenen Workflows und instabilen NSX Edges 179
Erfassen von Support-Paketen für die Fehlerbehebung 179
Erfassen von Protokolldateien 180
Neustarten des WCP-Diensts bei Änderung des NSX-T-Verwaltungszertifikats oder der -IP-Adresse 181
Für den Datenverkehr des Hosttransportknotens erforderlicher VDS 181
Fehlerbehebung bei Tanzu Kubernetes-Clustern 182
Bekannte Einschränkungen für Tanzu Kubernetes-Cluster 183
Erfassen eines Support-Pakets für Tanzu Kubernetes-Cluster 183
Fehlerbehebung bei vCenter Single Sign-On-Verbindungsfehlern 184
Fehlerbehebung für abonnierte Inhaltsbibliotheken 184
Fehlerbehebung bei Clusterbereitstellungen 185
Fehlerbehebung bei der Bereitstellung von Arbeitslasten 185
Neustarten eines fehlgeschlagenen Tanzu Kubernetes-Aktualisierungsauftrags 186
Behebung von Problemen bei der Aktivierung der Arbeitslastverwaltung 187
Beheben von Cluster-Kompatibilitätsfehlern bei der Aktivierung der Arbeitslastverwaltung187
Tailing der Protokolldatei der Arbeitslastverwaltung 188
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 6
Konfiguration und Verwaltung der vSphere with Kubernetes
Konfiguration und Verwaltung von vSphere with Kubernetes bietet Informationen zum Konfigurieren und Verwalten der vSphere with Kubernetes mithilfe des vSphere Client. Es bietet auch Informationen zur Verwendung von kubectl zum Herstellen einer Verbindung mit Namespaces, die auf vSphere with Kubernetes ausgeführt werden, und dem Ausführen von Kubernetes-Arbeitslasten auf festgelegten Namespaces.
Konfiguration und Verwaltung von vSphere with Kubernetes bietet einen Überblick über die Plattformarchitektur sowie Überlegungen und Best Practices für das Einrichten von Speicher, Computing und Netzwerk, die die spezifischen Anforderungen der vSphere with Kubernetes erfüllen. Es enthält Anweisungen zum Aktivieren von vSphere with Kubernetes auf vorhandenen vSphere-Clustern, zum Erstellen und Verwalten von Namespaces sowie zur Überwachung von Kubernetes-Clustern, die mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst erstellt werden.
Diese Informationen beinhalten auch Richtlinien zum Einrichten einer Sitzung mit der Kubernetes-Steuerungsebene der vSphere with Kubernetes über kubectl, zum Ausführen einer Beispielanwendung und zum Erstellen von Kubernetes-Clustern mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst.
Zielgruppe
Konfiguration und Verwaltung von vSphere with Kubernetes ist für vSphere-Administratoren bestimmt, die die vSphere with Kubernetes in vSphere aktivieren, Namespaces für DevOps-Teams konfigurieren und bereitstellen sowie Kubernetes-Arbeitslasten in vSphere verwalten und überwachen möchten. vSphere-Administratoren, die vSphere with Kubernetes verwenden möchten, sollten über Grundkenntnisse in den Bereichen Container und Kubernetes-Technologien verfügen.
Diese Informationen richten sich auch an DevOps-Ingenieure, die eine Sitzung mit der vSphere with Kubernetes-Steuerungsebene einrichten, Kubernetes-Arbeitslasten ausführen und Kubernetes-Cluster mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst bereitstellen möchten.
VMware, Inc. 7
Aktualisierte Informationen 1Konfiguration und Verwaltung von vSphere with Kubernetes wird in regelmäßigen Abständen und je nach Bedarf mit neuen Informationen und Fixes aktualisiert.
Revision Beschreibung
30. Juli 2020 n Es wurden Inhalte zum Ändern des Kubernetes-API-Endpoint-Zertifikats hinzugefügt. Weitere Informationen hierzu finden Sie unter Ändern des Kubernetes-API-Endpoint-Zertifikats.
n Es wurde Inhalt hinzugefügt, welcher die vertikale Skalierung von Tanzu Kubernetes-Clustern unterstützt. Weitere Informationen hierzu finden Sie unter Einen Tanzu Kubernetes-Cluster skalieren.
n Es wurde ein Thema für die Registrierung von vCenter Server beim NSX Manager hinzugefügt, wenn sich der FQDN/die PNID des vCenter Server ändert. Weitere Informationen hierzu finden Sie unter vCenter Server bei NSX Manager erneut registrieren.
17. Juli 2020 n Es wurde ein exemplarischer kubectl-Befehl aktualisiert, um anzugeben, dass Sie den Namespace-Namen angeben müssen. Workflow zum Erstellen von Tanzu Kubernetes-Clustern.
10. Juli 2020 n Es wurde das Thema zur Fehlerbehebung für den Neustart eines fehlgeschlagenen Aktualisierungsauftrags für Tanzu Kubernetes hinzugefügt. Weitere Informationen hierzu finden Sie unter Neustarten eines fehlgeschlagenen Tanzu Kubernetes-Aktualisierungsauftrags.
n Es wurde eine vSphere with Kubernetes-Architektur aktualisiert, um einen Komponentenbezeichnungsnamen zu korrigieren. Weitere Informationen hierzu finden Sie unter vSphere with Kubernetes – Architektur.
n Die URL der Tanzu Kubernetes-Cluster-OVA-Bibliothek wurde um einen Schrägstrich aktualisiert. Weitere Informationen hierzu finden Sie unter Herunterladen der Image-Dateien.
n Das Thema zur VDS-Fehlerbehebung wurde aktualisiert und enthält nun den korrekten Begriff für den vSphere 7 VDS. Weitere Informationen hierzu finden Sie unter Für den Datenverkehr des Hosttransportknotens erforderlicher VDS.
8. Juli 2020 n Die NSX Manager-, Egress-CIDR- und Ingress-CIDR-Anforderungen wurden im Systemanforderungsthema aktualisiert. Es wurde ein Hinweis hinzugefügt, dass Host-TEP und Edge-TEP für den Fall, dass sie verschiedene physische Netzwerkkarten verwenden, dasselbe VLAN verwenden können. Weitere Informationen hierzu finden Sie unter vSphere with Kubernetes-Systemanforderungen und Topologien.
VMware, Inc. 8
Revision Beschreibung
2. Juli 2020 n Es wurde ein zusätzlicher Hinweis hinzugefügt, um zu bekräftigen, dass das fullVersion-Versionsfeld für die Durchführung eines Upgrades von Kubernetes nicht deaktiviert werden muss. Weitere Informationen hierzu finden Sie unter Update von Tanzu Kubernetes-Clustern.
n Es wurde ein weiteres Beispiel für das Erstellen eines ClusterRoleBinding-Objekts hinzugefügt, um einen privilegierten Satz von Arbeitslasten für authentifizierte Benutzer mithilfe der Standard-PodSecurityPolicy auszuführen. Weitere Informationen hierzu finden Sie unter Beispielbindungen für die standardmäßige Pod-Sicherheitsrichtlinie.
n Der Text, der die Beispiel-YAML für die Clustererstellung unterstützt, wurde aktualisiert und besagt nun, dass die Pod-Sicherheitsrichtlinie erzwungen wird und dass somit Bindungen erforderlich sind, um Bereitstellungs- und ReplicaSet-Objekte zu erstellen. Weitere Informationen hierzu finden Sie unter Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern.
n Das Thema „SSH auf Clusterknoten“ wurde aktualisiert, um anzugeben, dass nach der Anmeldung möglicherweise sudo für bestimmte Vorgänge erforderlich sein kann. Weitere Informationen hierzu finden Sie unter Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer.
n Das Thema zum Erstellen einer Inhaltsbibliothek wurde aktualisiert und besagt nun, dass Sie den Inhalt jetzt, wo mehrere OVA-Dateien verfügbar sind, nach Bedarf synchronisieren können. Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster.
23. JUNI 2020 n Konzeptionelle und architekturbezogene Themen wurden im Hinblick auf eine verbesserte Struktur neu organisiert.
n Die Liste der Konfigurationsparameter zum Erstellen eines Tanzu Kubernetes-Clusters wurde mit Anforderungen und Einschränkungen für die Benennung von Clustern aktualisiert. Weitere Informationen hierzu finden Sie unter Konfigurationsparameter für Tanzu Kubernetes-Cluster.
n Ein Verweis auf einen KB-Artikel für die Verwendung der eingebetteten Registrierung mit Tanzu Kubernetes-Clustern wurde entfernt.
n Es wurde ein Thema hinzugefügt, in dem dargelegt wird, dass vSphere with Kubernetes für vSphere- und NSX-T-Netzwerkdatenverkehr eine Converged VDS-Instanz (C-VDS) erfordert. Weitere Informationen hierzu finden Sie unter Für den Datenverkehr des Hosttransportknotens erforderlicher VDS.
n Es wurde ein Thema hinzugefügt, in dem die vom Supervisor-Cluster und Tanzu Kubernetes-Cluster unterstützten vSphere- und Kubernetes-Speicherfunktionen aufgelistet werden. Weitere Informationen hierzu finden Sie unter Unterstützte Funktionen von vSphere CNS-CSI und paravirtueller CSI.
n Das Thema für das Erstellen von Tier-0-Gateways wurde aktualisiert und enthält jetzt auch die Unterstützung für mehrere Tier-0-Gateways in mehreren NSX Edge-Clustern in derselben Transportzone. Weitere Informationen hierzu finden Sie unter Erstellen eines Tier-0-Gateways.
n Es wurde ein Thema für die Erfassung von Protokolldateien hinzugefügt. Weitere Informationen hierzu finden Sie unter Erfassen von Protokolldateien.
16. JUNI 2020 n Es wurde ein Thema zur Fehlerbehebung bei Verwendung der erforderlichen Converged VDS-Instanz für vSphere- und NSX-T-Datenverkehr hinzugefügt. Weitere Informationen hierzu finden Sie unter Für den Datenverkehr des Hosttransportknotens erforderlicher VDS.
n Die Beispieldatei ingress-test.yaml zum Erstellen eines Beispiels für einen Contour-Ingress-Controller wurde aktualisiert. Weitere Informationen hierzu finden Sie unter Beispiel für Tanzu Kubernetes-Ingress.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 9
Revision Beschreibung
5. JUNI 2020 n Das Thema Informationen zu vSphere with Kubernetes-Cluster-Updates wurde aktualisiert und enthält nun die Angabe, dass nicht durch einen Replizierungs-Controller gesteuerte Pods bei einem Update des Tanzu Kubernetes-Clusters gelöscht werden.
n Das Thema zum Herstellen einer Verbindung mit dem Tanzu Kubernetes-Cluster als Kubernetes-Administrator wurde aktualisiert und enthält nun ein Beispielprotokoll in Befehlen. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit der Tanzu Kubernetes-Steuerungsebene als Kubernetes-Administrator.
n Die Beschreibung des Beispiels für die minimale YAML-Konfiguration zum Erstellen eines Tanzu Kubernetes-Clusters bei Verwendung von Helm wurde aktualisiert. Weitere Informationen hierzu finden Sie unter Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern.
n Das Thema zum Erstellen eines Ingress-Controllers mit einem anderen Link für die Überprüfung des Nginx-Ingress-Controllers für Kubernetes wurde aktualisiert. Weitere Informationen hierzu finden Sie unter Beispiel für Tanzu Kubernetes-Ingress.
n Das Netzwerkdiagramm für Tanzu Kubernetes-Cluster wurde aktualisiert. Weitere Informationen hierzu finden Sie unter Netzwerke in vSphere with Kubernetes.
n Der Navigationspfad für die Konfiguration einer Inhaltsbibliothek bei Verwendung von vSphere Client wurde aktualisiert. Weitere Informationen hierzu finden Sie unter Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster.
22. MAI 2020 n Im Thema Was ist ein Tanzu Kubernetes-Cluster? wurde ein Link zu weiteren Informationen über andere Kubernetes-Angebote unter der Marke VMware Tanzu hinzugefügt.
n Im Thema vSphere with Kubernetes-Systemanforderungen und Topologien wurde für Supervisor-Cluster und Tanzu Kubernetes-Cluster ein Link zum Tool für die Maximalwerte für die VMware-Konfiguration hinzugefügt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 10
Revision Beschreibung
19. MAI 2020 n Es wurde eine neue Dokumentation für das Aktualisieren von vSphere with Kubernetes-Clustern hinzugefügt, einschließlich Supervisor-Clustern und Tanzu Kubernetes-Clustern. Weitere Informationen hierzu finden Sie unter Kapitel 8 Update von vSphere with Kubernetes-Clustern.
n Einige bekannte Einschränkungen für Tanzu Kubernetes-Cluster wurden entfernt, um hinzugefügte neue Funktionen zu berücksichtigen. Weitere Informationen hierzu finden Sie unter Bekannte Einschränkungen für Tanzu Kubernetes-Cluster.
n Ein konsolidierter Abschnitt für die Fehlerbehebung bei vSphere with Kubernetes wurde hinzugefügt. Weitere Informationen hierzu finden Sie unter Kapitel 9 Fehlerbehebung bei vSphere with Kubernetes.
n Das Thema zum Herstellen einer Verbindung mit Clusterknoten mithilfe von SSH wurde aktualisiert. Weitere Informationen hierzu finden Sie unter Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer.
n Es wurden Themen für die Behebung von Fehlern bei der Aktivierung der Arbeitslastverwaltung hinzugefügt. Weitere Informationen hierzu finden Sie unter Behebung von Problemen bei der Aktivierung der Arbeitslastverwaltung.
n Es wurde ein Thema zum Herunterladen von TLS-Zertifikaten für die Verwendung mit Kubernetes-CLI-Tools für vSphere hinzugefügt. Weitere Informationen hierzu finden Sie unter Herunterladen und Installieren von TLS-Zertifikaten.
n Es wurde ein Thema zum Neustart des WCP-Diensts bei Änderung des NSX-T-Verwaltungszertifikats oder der -IP-Adresse hinzugefügt. Weitere Informationen hierzu finden Sie unter Neustarten des WCP-Diensts bei Änderung des NSX-T-Verwaltungszertifikats oder der -IP-Adresse.
n Die Themen im Abschnitt Tanzu Kubernetes Grid-Dienst für SEO wurden überarbeitet. Weitere Informationen hierzu finden Sie unter Kapitel 7 Ausführen von Tanzu Kubernetes-Clustern in vSphere with Kubernetes.
n Es wurde ein Link zur Support-Matrix für Tanzu Kubernetes Grid-Cluster hinzugefügt. Siehe Was ist ein Tanzu Kubernetes-Cluster?.
n Es wurde ein Link zur Videodemonstration der Bereitstellung von Tanzu Kubernetes-Clustern hinzugefügt. Weitere Informationen hierzu finden Sie unter Tanzu Kubernetes Grid-Dienst – Architektur.
n Es wurden diverse Änderungen zur Behebung geringfügiger Fehler vorgenommen.
11. MAI 2020 n Die Anforderung zum Lizenzieren des Supervisor-Clusters für vSAN wurde entfernt.
24. APR 2020 n Die Ausschnitte aus der YAML-Datei wurden aktualisiert, um die Benutzer besser darüber zu informieren, wo sie eine Pod-Sicherheitsrichtlinie hinzufügen müssen, und unter Beispiel für Tanzu Kubernetes-Ingress wurde der Link zur YAML-Datei aktualisiert.
n Der Abschnitt Anzeigen von Speicherklassen in einem Supervisor-Namespace- oder Tanzu Kubernetes-Cluster wurde aktualisiert und enthält nun den Befehl zur Überprüfung von Speicherkontingenten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 11
Revision Beschreibung
17. APR 2020 n Der Abschnitt Beispiel für einen Load Balancer für den Tanzu Kubernetes-Dienst wurde aktualisiert, und die der Kubernetes 1.16 entsprechende Beispiel-YAML wurde verbessert.
n Der Abschnitt Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer wurde aktualisiert und enthält nun verbesserten YAML-Code zum Erstellen eines Jump-Box-Containers und klarere Anweisungen.
10. APR 2020 n Der Abschnitt Speicherberechtigungen in vSphere with Kubernetes wurde hinzugefügt.
n Die minimale Beispiel-YAML im Abschnitt Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern wurde aktualisiert, und es wird nun die bestmögliche Speicherklasse verwendet.
n Die Beschreibung des Abschnitts mit der Beispiel-YAML wurde im Abschnitt Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern aktualisiert, und die für einen Cluster verwendeten Standardnetzwerkeigenschaften werden nun explizit aufgeführt.
n Der Abschnitt Konfigurationsparameter für Tanzu Kubernetes-Cluster wurde vor den Abschnitt mit der Beispiel-YAML verschoben, sodass bei Verwendung der PDF-Datei die vollständige Liste der Konfigurationsoptionen zuerst kommt.
n Der Abschnitt Bereitstellen eines Tanzu Kubernetes-Clusters in einer Air-Gapped-Umgebung wurde hinzugefügt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 12
Grundlegendes zu vSphere with Kubernetes 2Mithilfe von vSphere with Kubernetes können Sie einen vSphere-Cluster in eine Plattform für die Ausführung von Kubernetes-Arbeitslasten in dedizierten Ressourcenpools umwandeln. Wenn vSphere with Kubernetes auf einem vSphere-Cluster aktiviert ist, wird direkt innerhalb der Hypervisor-Schicht eine Kubernetes-Steuerungsebene erstellt. Sie können dann Kubernetes-Container ausführen, indem Sie vSphere Pods bereitstellen. Alternativ können Sie über VMware Tanzu™ Kubernetes Grid™-Dienst auch Upstream-Kubernetes-Cluster erstellen und Ihre Anwendungen in diesen Clustern ausführen.
Dieses Kapitel enthält die folgenden Themen:
n Was ist vSphere with Kubernetes?
n Was ist ein vSphere-Pod?
n Was ist ein Tanzu Kubernetes-Cluster?
n Verwendungsfälle für vSphere Pods und Tanzu Kubernetes-Cluster
n vSphere with Kubernetes-Benutzerrollen und -Workflows
n Lizenzierung für vSphere with Kubernetes
n Wie ändert vSphere with Kubernetes die vSphere-Umgebung?
Was ist vSphere with Kubernetes?
Sie können vSphere with Kubernetes verwenden, um vSphere in eine Plattform zur nativen Ausführung von Kubernetes-Arbeitslasten auf der Hypervisor-Schicht umzuwandeln. Bei Aktivierung auf einem vSphere-Cluster bietet vSphere with Kubernetes die Möglichkeit, Kubernetes-Arbeitslasten direkt auf ESXi-Hosts auszuführen und Upstream-Kubernetes-Cluster in dedizierten Ressourcenpools zu erstellen.
VMware, Inc. 13
Herausforderungen des heutigen Anwendungsstapels
Die heutigen verteilten Systeme bestehen aus mehreren Mikrodiensten, in denen in der Regel eine Vielzahl von Kubernetes-Pods und VMs ausgeführt werden. Ein typischer Stack, der nicht auf vSphere with Kubernetes basiert, besteht aus einer zugrunde liegenden virtuellen Umgebung mit einer Kubernetes-Infrastruktur, die innerhalb von VMs bereitgestellt wird, bzw. Kubernetes-Pods, die auch auf diesen VMs ausgeführt werden. Jeder Teil des Stacks wird von einer von drei separaten Rollen ausgeführt: Anwendungsentwickler, Kubernetes-Cluster-Administratoren und vSphere-Administratoren.
Abbildung 2-1. Heutiger Anwendungsstapel
. . .
. . .
. . .
Worker Master ETCD
Kubernetes-Cluster
Volumes Dienste
Kubernetes-Arbeitslast
Netzwerke SpeicherVMs
Pods
Virtuelle Umgebung
Entwickler
Cluster-
vSphere-Administrator
Administrator
Die verschiedenen Rollen verfügen über keinen Einblick oder Kontrolle über die Umgebungen der jeweils anderen.
n Als Anwendungsentwickler können Sie nur Kubernetes-Pods ausführen. Sie haben keinen Überblick über den gesamten Stack, auf dem Hunderte von Anwendungen ausgeführt werden.
n Als Kubernetes-Cluster-Administrator haben Sie nur die Kontrolle über die Kubernetes-Infrastruktur, ohne die Tools zum Verwalten oder Überwachen der virtuellen Umgebung und zur Behebung von ressourcenbezogenen und anderen Problemen.
n Als vSphere-Administrator haben Sie die volle Kontrolle über die zugrunde liegende virtuelle Umgebung, aber keinen Einblick in die Kubernetes-Infrastruktur, die Platzierung der verschiedenen Kubernetes-Objekte in der virtuellen Umgebung und deren Ressourcenverbrauch.
Die Ausführung von Vorgängen im gesamten Stack kann schwierig sein, da hierzu Kommunikation zwischen allen drei Rollen erforderlich ist. Auch die fehlende Integration zwischen den verschiedenen Schichten des Stacks kann Herausforderungen mit sich bringen. So hat der Kubernetes Scheduler beispielsweise keinen Einblick in die vCenter Server-Bestandsliste und kann Pods nicht intelligent platzieren.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 14
Wie hilft vSphere with Kubernetes?
vSphere with Kubernetes erstellt eine Kubernetes-Steuerungsebene direkt auf der Hypervisor-Schicht. Als vSphere-Administrator aktivieren Sie vorhandene vSphere-Cluster für vSphere with Kubernetes und erstellen so eine Kubernetes-Schicht innerhalb der ESXi-Hosts, die Teil des Clusters sind. Ein mit vSphere with Kubernetes aktivierter Cluster wird als Supervisor-Cluster bezeichnet.
Abbildung 2-2. vSphere with Kubernetes
Speicher
Netzwerk SpeicherESXivSphere-
Entwickler
Virtuelle Umgebung
Kubernetes-Ebene
Arbeitsspeicher SpeicherCPU
Namespace
vSphere with Kubernetes
vSpherePods VMs
TanzuKubernetes-
Cluster
Kubernetes-Arbeitslasten Kubernetes-Arbeitslasten
vSpherePods VMs
TanzuKubernetes-
Cluster
Administrator
Wenn eine Kubernetes-Steuerungsebene auf der Hypervisor-Schicht vorhanden ist, werden die folgenden Funktionen in vSphere ermöglicht:
n Als vSphere-Administrator können Sie Namespaces für Supervisor-Cluster, die als Supervisor-Namespaces bezeichnet werden, erstellen und mit dediziertem Arbeitsspeicher und Speicher sowie dedizierter CPU konfigurieren. Sie stellen diese Supervisor-Namespaces den DevOps-Ingenieuren zur Verfügung.
n Als DevOps-Ingenieur können Sie Arbeitslasten aus Kubernetes-Containern auf derselben Plattform mit gemeinsam genutzten Ressourcenpools innerhalb eines Supervisor-Namespace ausführen. In vSphere with Kubernetes werden Container in einem speziellen VM-Typ ausgeführt, der als vSphere Pod bezeichnet wird.
n Als DevOps-Ingenieur können Sie mehrere Kubernetes-Cluster innerhalb eines Namespace erstellen und verwalten sowie deren Lebenszyklus mithilfe des Tanzu Kubernetes Grid-Dienst verwalten. Mit dem Tanzu Kubernetes Grid-Dienst erstellte Kubernetes-Cluster werden als Tanzu Kubernetes-Cluster bezeichnet.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 15
n Als vSphere-Administrator können Sie vSphere Pods und Tanzu Kubernetes-Cluster verwalten und überwachen, indem Sie dieselben Tools wie bei regulären VMs verwenden.
n Als vSphere-Administrator haben Sie vollständigen Einblick in vSphere Pods und Tanzu Kubernetes-Cluster, die in unterschiedlichen Namespaces ausgeführt werden, deren Platzierung in der Umgebung und deren Ressourcenverbrauch.
Die Verwendung von Kubernetes auf der Hypervisor-Schicht erleichtert auch die Zusammenarbeit zwischen vSphere-Administratoren und DevOps-Teams, da beide Rollen mit denselben Objekten arbeiten.
Was ist eine Arbeitslast?
In vSphere with Kubernetes sind Arbeitslasten Anwendungen, die auf eine der folgenden Arten bereitgestellt werden:
n Anwendungen, die aus Containern bestehen und innerhalb von vSphere Pods, regulären VMs oder beiden ausgeführt werden.
n Tanzu Kubernetes-Cluster, die mithilfe von VMware Tanzu™ Kubernetes Grid™-Dienst bereitgestellt werden.
n Anwendungen, die innerhalb der Tanzu Kubernetes-Cluster ausgeführt werden, die mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst bereitgestellt werden.
Was ist ein vSphere-Pod?
vSphere with Kubernetes führt ein neues Konstrukt mit dem Namen vSphere Pod ein, das einem Kubernetes-Pod entspricht. Eine vSphere Pod ist eine VM mit einem kleinen Footprint, die einen oder mehrere Linux-Container ausführt. Jede vSphere Pod wird genau für die Arbeitslast angepasst, die sie unterstützt, und weist explizite Ressourcenreservierungen für diese Arbeitslast auf. Sie weist die genaue Menge an Speicherplatz, Arbeitsspeicher und CPU-Ressourcen zu, die für die Ausführung der Arbeitslast erforderlich ist.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 16
Abbildung 2-3. vSphere-Pods
SpeicherArbeitsspeicherCPU
vSphere Pod
Linux-Kernel
Container
Container
SpeicherArbeitsspeicherCPU
vSphere Pod
Linux-Kernel
Container
ESXi-Host
vSphere Pods sind Objekte in vCenter Server und ermöglichen daher die folgenden Funktionen für Arbeitslasten:
n Starke Isolierung. Jeder vSphere Pod verfügt über einen Linux-Kernel, der Isolierung von anderen Arbeitslasten und Objekten in vCenter Server bietet. Der Linux-Kernel basiert auf Photon OS.
n Ressourcenverwaltung. vSphere DRS übernimmt die Platzierung von vSphere Pods im Supervisor-Cluster.
n Hochleistung. vSphere Pods erhalten die gleiche Ressourcenisolierung wie VMs und eliminieren Störungen durch benachbarte Elemente, während die schnelle Startzeit und der geringe Overhead von Containern beibehalten werden.
n Diagnose. Als vSphere-Administrator können Sie alle Überwachungs- und Selbstprüfungs-Tools verwenden, die in vSphere für Arbeitslasten verfügbar sind.
vSphere Pods sind OCI-kompatibel (Open Container Initiative) und können Container von jedem Betriebssystem aus ausführen, solange diese Container ebenfalls OCI-kompatibel sind.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 17
Abbildung 2-4. Netzwerk und Speicher für vSphere Pods
Dauerhaftes Volume
vSphere Pod
Container-Engine
Container
ContainerContainer-Image
Flüchtige Festplatte
vNIC
NSX vSwitch
Spherelet
hostd
Pod-Engine
vSphere Pods verwenden drei Speichertypen, je nachdem, welche Objekte gespeichert sind: flüchtige VMDKs, dauerhafte Volume-VMDKs und Container-Image-VMDKs. Als vSphere-Administrator konfigurieren Sie Speicherrichtlinien für die Platzierung von Container-Image-Cache, flüchtigen VMDKs und Kubernetes-Steuerungsebenen-VMs auf der Ebene des Supervisor-Cluster. Auf der Ebene eines Supervisor-Namespace konfigurieren Sie Speicherrichtlinien für die Platzierung von dauerhaften Volumes und für die Platzierung der VMs von Tanzu Kubernetes-Clustern. Weitere Informationen zu den Speicheranforderungen und Konzepten für vSphere with Kubernetes finden Sie unter Speicher in vSphere with Kubernetes.
3
Für Netzwerke verwenden vSphere Pods und die VMs der Tanzu Kubernetes-Cluster, die über Tanzu Kubernetes Grid-Dienst erstellt wurden, die von NSX-T Data Center bereitgestellte Topologie. Details finden Sie unter Netzwerke in vSphere with Kubernetes.
Was ist ein Tanzu Kubernetes-Cluster?
Ein Tanzu Kubernetes-Cluster ist eine vollständige Distribution der Open Source-Orchestrierungsplattform für Kubernetes-Container, die von VMware erstellt, signiert und unterstützt wird. Sie können Tanzu Kubernetes-Cluster mithilfe von Tanzu Kubernetes Grid-Dienst im Supervisor-Cluster bereitstellen und betreiben. Bei einem Supervisor-Cluster handelt es sich um einen vSphere-Cluster, der mit vSphere with Kubernetes aktiviert ist.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 18
Wichtige Merkmale von Tanzu Kubernetes-Clustern, die von Tanzu Kubernetes Grid-Dienst bereitgestellt werden
Ein Tanzu Kubernetes-Cluster, der von Tanzu Kubernetes Grid-Dienst bereitgestellt wird, weist die folgenden Merkmale auf:
n Opinionated-Installation von Kubernetes
n Integriert in die vSphere-Infrastruktur
n Für die Produktion bereit
n Vollständig unterstützt von VMware
n Von Kubernetes verwaltet
Ein Tanzu Kubernetes-Cluster, der vom Tanzu Kubernetes Grid Service bereitgestellt wurde, wird/ist ...
Vollständig Von Kubernetesverwaltet
Integriert Für die Produktiongeeignet
Opinionatedunterstützt
Hinweis VMware vertreibt unter der Marke Tanzu eine Suite von Kubernetes-Produkten. Die Tanzu Kubernetes-Cluster, die Sie mithilfe von Tanzu Kubernetes Grid-Dienst erstellen, sind Komponenten des vSphere with Kubernetes-Add-ons für vSphere. Weitere Informationen zu den anderen Kubernetes-Produkten, die VMware unter Tanzu vertreibt, finden Sie in der Dokumentation zu VMware Tanzu.
Opinionated-Installation von Kubernetes
Bei Tanzu Kubernetes handelt es sich um eine Opinionated-Installation von Kubernetes.
Tanzu Kubernetes Grid-Dienst bietet durchdachte Standardeinstellungen, die für vSphere zur Bereitstellung von Tanzu Kubernetes-Clustern optimiert sind. Mithilfe von Tanzu Kubernetes Grid-Dienst können Sie die Zeit und den Aufwand reduzieren, die Sie normalerweise für die Bereitstellung und Ausführung eines unternehmensgerechten Kubernetes-Clusters investieren müssen.
Weitere Informationen finden Sie unter Tanzu Kubernetes Grid-Dienst – Architektur.
Integriert in die vSphere-Infrastruktur
Ein Tanzu Kubernetes-Cluster ist in die zugrunde liegende vSphere-Infrastruktur integriert, die für die Ausführung von Kubernetes optimiert ist.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 19
Ein Tanzu Kubernetes-Cluster ist in den vSphere SDDC-Stack integriert, einschließlich Speicher, Netzwerk und Authentifizierung. Darüber hinaus wird ein Tanzu Kubernetes-Cluster in einem Supervisor-Cluster erstellt, der einem vCenter Server-Cluster zugeordnet ist. Aufgrund der engen Integration bietet der Tanzu Kubernetes-Cluster bei der Ausführung eine einheitliche Produkterfahrung.
Weitere Informationen finden Sie unter vSphere with Kubernetes – Architektur
Für die Produktion bereit
Ein Tanzu Kubernetes-Cluster ist für die Ausführung von Produktionsarbeitslasten optimiert.
Der Tanzu Kubernetes Grid-Dienst stellt für die Produktion geeignete Tanzu Kubernetes-Cluster bereit. Sie können Produktionsarbeitslasten ohne zusätzliche Konfiguration ausführen. Darüber hinaus können Sie Verfügbarkeit sicherstellen, parallele Upgrades der Kubernetes-Software zulassen und verschiedene Versionen von Kubernetes in separaten Clustern ausführen.
Weitere Informationen finden Sie unter Kapitel 7 Ausführen von Tanzu Kubernetes-Clustern in vSphere with Kubernetes.
Vollständig unterstützt von VMware
Ein Tanzu Kubernetes-Cluster wird von VMware unterstützt.
Tanzu Kubernetes-Cluster nutzen das Open Source-Betriebssystem Photon OS von VMware, werden auf vSphere-Infrastruktur bereitgestellt und auf den ESXi-Hosts ausgeführt. Wenn Probleme mit einer beliebigen Schicht des Stacks – von Hypervisor bis zum Kubernetes-Cluster – auftreten, ist VMware der einzige Anbieter, den Sie kontaktieren müssen.
Weitere Informationen finden Sie in der Tanzu Kubernetes Grid-Support-Matrix.
Von Kubernetes verwaltet
Ein Tanzu Kubernetes-Cluster wird von Kubernetes verwaltet.
Tanzu Kubernetes-Cluster werden zusätzlich zum Supervisor-Cluster erstellt, der selbst ein Kubernetes-Cluster ist. Ein Tanzu Kubernetes-Cluster wird mithilfe einer benutzerdefinierten Ressource im Supervisor-Namespace definiert. Sie stellen Tanzu Kubernetes-Cluster mithilfe von bekannten kubectl-Befehlen als Self-Service-Komponenten bereit. In der gesamten Toolkette besteht Konsistenz, und zwar unabhängig davon, ob Sie einen Cluster oder Arbeitslasten bereitstellen. Sie verwenden dieselben Befehle, die schon bekannte YAML-Auszeichnungssprache und gängige Workflows.
Weitere Informationen finden Sie unter Mandantenmodell für Tanzu Kubernetes-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 20
Verwendungsfälle für vSphere Pods und Tanzu Kubernetes-Cluster
Die Verwendung von vSphere Pods oder Tanzu Kubernetes-Clustern durch den Tanzu Kubernetes Grid-Dienst hängt von Ihren Zielen im Zusammenhang mit der Bereitstellung und Verwaltung von Kubernetes-Arbeitslasten im Supervisor-Cluster ab.
Verwenden Sie vSphere Pods, wenn Sie vSphere-Administrator oder DevOps-Ingenieur sind und folgende Aufgaben durchführen möchten:
n Ausführen von Containern, ohne dass ein Kubernetes-Cluster angepasst werden muss.
n Erstellen von Containeranwendungen mit starker Ressourcen- und Sicherheitsisolierung.
n Bereitstellen von vSphere Pods direkt auf ESXi-Hosts.
Verwenden Sie die vom Tanzu Kubernetes Grid-Dienst bereitgestellten Tanzu Kubernetes-Cluster, wenn Sie ein DevOps-Ingenieur oder Entwickler mit folgenden Aufgaben sind:
n Ausführen von Containeranwendungen auf Community-orientierte Open Source-Kubernetes-Software.
n Kontrollieren des Kubernetes-Clusters, einschließlich des Zugriffs auf der Root-Ebene auf die Steuerungsebene und die Worker-Knoten.
n Aktualisiert halten der Kubernetes-Versionen, ohne Upgrades der Infrastruktur zu benötigen.
n Verwenden einer CI/CD-Pipeline, um kurzlebige Kubernetes-Cluster bereitzustellen.
n Anpassen des Kubernetes-Clusters, beispielsweise durch Installieren von benutzerdefinierten Ressourcendefinitionen, Operatoren und Helm-Diagrammen.
n Erstellen von Kubernetes-Namespaces mit der kubectl-CLI.
n Verwalten der Zugriffssteuerung auf Clusterebene und Konfigurieren von PodSecurityPolicies.
n Erstellen von Diensten des Typs NodePort.
n Verwenden von HostPath -Volumes.
n Ausführen von privilegierten Pods.
vSphere with Kubernetes-Benutzerrollen und -Workflows
Die vSphere with Kubernetes-Plattform umfasst zwei Rollen: vSphere-Administrator und DevOps-Ingenieur. Beide Rollen interagieren mit der Plattform über verschiedene Schnittstellen und können Benutzer oder Benutzergruppen aufweisen, die für sie in vCenter Single Sign-On mit zugehörigen Berechtigungen definiert sind. Die Workflows für die Rollen „vSphere-Administrator“ und „DevOps-Ingenieur“ sind verschieden und werden durch den spezifischen Fachbereich bestimmt, die diese Rollen erfordern.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 21
Benutzerrollen und Workflows
Als vSphere-Administrator ist die primäre Schnittstelle, über die Sie mit der vSphere with Kubernetes-Plattform interagieren, der vSphere Client. Auf hoher Ebene zählt zu Ihren Zuständigkeiten die Konfiguration eines Supervisor-Cluster und von Namespaces, in denen DevOps-Ingenieure Kubernetes-Arbeitslasten bereitstellen können. Sie benötigen ausgezeichnete Kenntnisse der vSphere- und NSX-T-Technologie und Grundkenntnisse in Kubernetes.
Abbildung 2-5. vSphere-Administrator-Workflow auf hoher Ebene
Workflows für vSphere Administrator
Konfigurieren von Computing, Speicher und Netzwerk für die Verwendung mit dem Supervisor-Cluster
Konfigurieren eines vSphere-Clusters als Supervisor-Cluster
Erstellen und Konfigurieren von Namespaces im Supervisor-Cluster
Als ein DevOps-Ingenieur können Sie als Kubernetes-Entwickler und Anwendungsbesitzer oder als Kubernetes-Administrator fungieren. Eine Kombination beider Funktionen ist auch möglich. Als DevOps-Ingenieur nutzen Sie kubectl-Befehle zur Bereitstellung von vSphere Pods und Tanzu Kubernetes-Clustern in vorhandenen Namespaces im Supervisor-Cluster. In der Regel brauchen Sie als DevOps-Ingenieur kein Experte für vSphere und NSX-T zu sein. Grundkenntnisse in diesen Technologien und der vSphere with Kubernetes-Plattform sind aber erforderlich, um effizienter mit vSphere-Administratoren interagieren zu können.
Abbildung 2-6. DevOps-Ingenieur-Workflow auf hoher Ebene
Workflows für DevOps-Ingenieure
Melden Sie sich beim Supervisor-Cluster über das CLI-Plug-In „kubectl-vsphere“ an.
Rufen Sie die Kontexte ab, auf die Sie Zugriff haben. Kontexte entsprechen den Namespaces im Supervisor-Cluster.
Stellen Sie vSphere Native Pods oder Tazu Kubernetes-Cluster bereit
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 22
Supervisor-Cluster-Konfigurations-Workflow
Als vSphere-Administrator konfigurieren Sie die vSphere with Kubernetes-Plattform mit den erforderlichen Computing-, Speicher- und Netzwerkkomponenten. Weitere Informationen finden Sie unter Kapitel 4 Konfigurieren eines Supervisor-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 23
Abbildung 2-7. Supervisor-Cluster-Konfigurations-Workflow
Konfigurieren von vSphere DRS und HA auf dem Cluster
Erstellen eines vSphere-Clusters
Berechnungskonfiguration
Konfigurieren von freigegebenem Speicher mit vSAN oder einer
Erstellen von Speicherrichtlinien für die Platzierung von Kubernetes-Steuerungsebenen-VMs, Container-Image-Cache und
Konfigurieren und Bereitstellen von NSX Edge-Knoten-VMs
Konfigurieren des vSphere-Clusters als Supervisor-Cluster
Speicherkonfiguration
Erstellen von Transportzonen für Overlay, VLAN und Edge
Installieren und Konfigurieren von NSX Manager
Erstellen von IP-Pools für Tunnel-Endpoints für Hosts
Erstellen eines NSX Edge-Clusters
Erstellen von Hosttransportknoten
NSX-T Data Center-Konfiguration
Erstellen von Uplink-Profilen für das logische Netzwerk von Host und Edge
Erstellen eines Uplink-Segments für NSX-T Tier-0
Erstellen eines Gateways für NSX-T Tier-0
anderen Speicherlösung
flüchtigen Container-Festplatten
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 24
Workflow zum Erstellen und Konfigurieren von Namespaces
Als vSphere-Administrator erstellen Sie Namespaces im Supervisor-Cluster. Sie müssen die spezifischen Ressourcenanforderungen von DevOps-Ingenieuren über die Anwendungen, die sie ausführen möchten, erfassen und die Namespaces entsprechend konfigurieren. Weitere Informationen finden Sie unter Kapitel 5 Arbeiten mit Namespaces in einem Supervisor-Cluster.
Abbildung 2-8. Workflow für die Konfiguration von Namespaces
Speicherrichtlinien erstellen, die Speicherklassen für die Platzierung von dauerhaften Volumes definieren
Benutzer und Benutzergruppen für DevOps-Ingenieure erstellen, die auf den Namespace zugreifen werden
Abonnierte Inhaltsbibliothek erstellen und sie zur Verwendung von TanzuKubernetes-Cluster-Knoten mit einem Supervisor-Cluster verknüpfen
URL der Kubernetes-Steuerungsebene für DevOps-Ingenieure bereitstellen, die Kubernetes-Arbeitslasten auf dem Namespace bereitstellen werden
Namespace-Konfiguration vorbereiten
Berechtigungen für Benutzer und Benutzergruppen festlegen, die auf den Namespace zugreifen werden
Namespace erstellen
Kapazitäts- und Nutzungskontingente für Speicher,
Optional. Grenzwerte für Kubernetes-Objekte festlegen
Namespace-Konfiguration
Speicherrichtlinien zuweisen, die Sie für die Platzierung von dauerhaften Volumes erstellt haben
CPU und Arbeitsspeicher festlegen
vSphere Pod-Workflow
Als DevOps-Ingenieur können Sie den vSphere Pod-Dienst verwenden, um Ihre Anwendungen auszuführen. Der vSphere Pod Service erstellt vSphere Pod auf dem Supervisor-Cluster. Weitere Informationen finden Sie unter Kapitel 6 Arbeiten mit vSphere Pods.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 25
Abbildung 2-9. Workflow für vSphere Pods
Erfragen Sie die IP-Adresse der Kubernetes-Steuerungsebene von unseremvSphere-Administrator
Abrufen erforderlicher Informationen
Laden Sie die kubectl - vsphere CLI von der Website der Kubernetes-Steuerungsebenen-IP-Adresse herunter
Melden Sie sich beim Supervisor-Cluster an und rufen Sie Kontexte ab
Melden Sie sich mit Ihren Benutzeranmeldedaten beim Supervisor-Cluster an
Listen Sie den Kontext (Namespaces) auf, für den Sie über
Stellen Sie vSphere Native Pods bereit
Erstellen Sie eine Anwendungs-YAML-Datei
Stellen Sie die Anwendungs-YAML-Datei bereit
Stellen Sie mit Ihrem vSphere Administrator sicher, dass SieBearbeitungsberechtigungen für diesen Namespace haben
Stellen Sie mit Ihrem vSphere Administrator sicher, dass mindestens ein Namespace, der die Systemanforderungen Ihrer Anwendungen erfüllt, auf dem Supervisor-Cluster vorhanden ist
Rufen Sie Ihre vCenter Single Sign-On-Anmeldedaten für die Anmeldung beim Supervisor-Cluster ab
Zugriffsberechtigungen verfügen
Tanzu Kubernetes-Cluster-Workflow
Als DevOps-Ingenieur erstellen und konfigurieren Sie Tanzu Kubernetes-Cluster in einem Namespace, der von Ihrem vSphere-Administrator erstellt und konfiguriert wurde. Weitere Informationen finden Sie unter Workflow zum Erstellen von Tanzu Kubernetes-Clustern.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 26
Abbildung 2-10. Tanzu Kubernetes-Cluster-Workflow
Erhalten Sie Ihre vCenter Single Sign-On-Anmeldedaten für die Anmeldungbeim Supervisor-Cluster
Erfragen Sie die IP-Adresse der Kubernetes-Steuerungsebene von unseremvSphere-Administrator
Abrufen erforderlicher Informationen
Laden Sie die kubectl - vsphere CLI von der Website der Kubernetes-Steuerungsebenen-IP-Adresse herunter
Melden Sie sich beim Supervisor-Cluster an und rufen Sie Kontexte ab
Melden Sie sich beim Supervisor-Cluster mit Ihren Benutzeranmeldedatenüber die kubectl - vsphere CLI an
Listen Sie den Kontext auf, d. h., die Namespaces (Kontexte), für die Sie Berechtigungen haben
Legen Sie die verfügbaren Speicher- und VM-Klassen und die Kubernetes-Distributionsversion fest
Erstellen eines Tanzu-Kubernetes-
Prüfen Sie die Liste der verfügbaren Konfigurationsparameter für dasErstellen und Aktualisieren von Tanzu Kubernetes-Clustern
Erstellen Sie eine YAML-Datei für die Kubernetes-Clusterkonfiguration
Stellen Sie den Tanzu Kubernetes-Cluster bereit
Überwachen Sie die Bereitstellung der Clusterknoten
Melden Sie sich beim Tanzu Kubernetes-Cluster an und stellen Sie eine
Stellen Sie mit Ihrem vSphere Administrator sicher, dass ein Namespacevorhanden ist, der die Ressourcenanforderungen für die Bereitstellung IhrerTanzu Kubernetes-Cluster erfüllt
Stellen Sie mit Ihrem Systemadministrator sicher, dass Sie Berechtigungenfür den Namespace haben
Stellen Sie mit Ihrem Systemadministrator sicher, dass dieser Namespace mit einer abonnierten Inhaltsbibliothek für die Verwendung mitTanzu Kubernetes-Clustern konfiguriert ist
Clusters
Testanwendung bereit.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 27
Lizenzierung für vSphere with Kubernetes
Um vSphere with Kubernetes zu verwenden, müssen Sie vSphere ordnungsgemäß lizenzieren.
Sie müssen den folgenden Komponenten eine entsprechende Lizenz zuweisen:
n Weisen Sie allen ESXi-Hosts, die Sie als Teil eines Supervisor-Clusters verwenden möchten, eine VMware vSphere 7 Enterprise Plus-Lizenz mit dem Add-On für Kubernetes zu.
n Weisen Sie NSX Manager eine NSX-T Data Center Advanced- oder eine höhere Lizenz zu.
Wie ändert vSphere with Kubernetes die vSphere-Umgebung?
Wenn ein vSphere-Cluster für Kubernetes-Arbeitslasten konfiguriert ist und so zu einem Supervisor-Cluster wird, fügt er der vCenter Server-Bestandsliste Objekte wie Namespaces, vSphere Pods und über den VMware Tanzu™ Kubernetes Grid™-Dienst erstellte Kubernetes-Cluster hinzu.
Unter jedem Supervisor-Cluster können Sie Folgendes anzeigen:
n Namespaces, die im Cluster ausgeführte logische Anwendungen darstellen.
n Ressourcenpools für jeden Namespace im Supervisor-Cluster.
In jedem Namespace können Sie Folgendes anzeigen:
n vSphere Pods.
n Über den VMware Tanzu™ Kubernetes Grid™-Dienst erstellte Kubernetes-Cluster.
n Kubernetes-Steuerungsebenen-VMs.
n Netzwerk- und Speicherressourcen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 28
Komponenten und Architektur von vSphere with Kubernetes 3Ein mit vSphere with Kubernetes aktivierter Cluster wird als Supervisor-Cluster bezeichnet. Der Cluster befindet sich innerhalb von vSphere with Kubernetes und stellt die erforderlichen Komponenten und Ressourcen für die Ausführung von vSphere Pods und Tanzu Kubernetes-Clustern bereit.
Dieses Kapitel enthält die folgenden Themen:
n vSphere with Kubernetes – Architektur
n Tanzu Kubernetes Grid-Dienst – Architektur
n Mandantenmodell für Tanzu Kubernetes-Cluster
n Netzwerke in vSphere with Kubernetes
n Speicher in vSphere with Kubernetes
n Authentifizierung für vSphere with Kubernetes
n Authentifizieren bei Tanzu Kubernetes-Clustern
vSphere with Kubernetes – Architektur
Wenn vSphere with Kubernetes auf einem vSphere-Cluster aktiviert ist, wird eine Kubernetes-Steuerungsebene innerhalb der Hypervisor-Schicht erstellt. Diese Schicht enthält bestimmte Objekte, die das Ausführen von Kubernetes-Arbeitslasten innerhalb von ESXi ermöglichen.
Abbildung 3-1. Allgemeine Supervisor-Cluster-Architektur
DevOps vSphere-Netzwerk SpeicherESXi
vSphereCenter
vSphere with Kubernetes
Supervisor-Cluster
Tanzu Kubernetes Grid Service for vSphere
Administrator
VMware, Inc. 29
Ein für vSphere with Kubernetes aktivierter Cluster wird als Supervisor-Cluster bezeichnet. Er wird oberhalb einer SDDC-Schicht ausgeführt, die aus ESXi für Computing, NSX-T Data Center für Netzwerke und vSAN oder einer anderen Lösung für freigegebenen Speicher besteht. Freigegebener Speicher wird für dauerhafte Volumes für vSphere Pods, im Supervisor-Cluster ausgeführte VMs und Pods in einem Tanzu Kubernetes-Cluster verwendet. Nachdem ein Supervisor-Cluster erstellt wurde, können Sie als vSphere-Administrator Namespaces innerhalb des Supervisor-Cluster erstellen, die als Supervisor-Namespaces bezeichnet werden. Als DevOps-Ingenieur können Sie Arbeitslasten ausführen, die aus Containern bestehen, die in vSphere Pods ausgeführt werden, und Tanzu Kubernetes-Cluster erstellen.
Abbildung 3-2. Supervisor-Cluster-Architektur
Supervisor-Cluster
ESXi-Host
K8S-
CRX
vSphere Pod
Spherelet hostd
ESXi-Host
K8S-
CRX
vSphere Pod
Spherelet hostd
CRX
vSphere Pod
ESXi-Host
K8S-
Spherelet hostd
vSphere-Administrator
DevOps
CRX
vSphere Pod
vCenter Server
Steuerungsebenen-VM Steuerungsebenen-VM Steuerungsebenen-VM
n Kubernetes-Steuerungsebenen-VM. Auf den Hosts, die Teil des Supervisor-Cluster sind, werden insgesamt drei Kubernetes-Steuerungsebenen-VMs erstellt. Die drei Steuerungsebenen-VMs verfügen über Lastausgleich, da jede eine eigene IP-Adresse hat. Darüber hinaus wird einer der VMs eine dynamische IP-Adresse zugewiesen. vSphere DRS bestimmt die exakte Platzierung der Steuerungsebenen-VMs auf den ESXi-Hosts und migriert sie bei Bedarf. vSphere DRS ist auch in den Kubernetes Scheduler in den Steuerungsebenen-VMs integriert, sodass DRS die Platzierung von vSphere Pods bestimmt. Wenn Sie als DevOps-Ingenieur eine vSphere Pod planen, durchläuft die Anforderung den regulären Kubernetes-Workflow bis zu DRS, wo die endgültige Platzierungsentscheidung getroffen wird.
n Spherelet. Ein zusätzlicher Prozess namens Spherelet wird auf jedem Host erstellt. Es handelt sich um ein Kubelet, das nativ auf ESXi portiert wird und dem ESXi-Host ermöglicht, Teil des Kubernetes-Clusters zu werden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 30
n Container Runtime Executive (CRX). Hinsichtlich Hostd und vCenter Server ist CRX mit einer VM vergleichbar. CRX umfasst einen paravirtualisierten Linux-Kernel, der mit dem Hypervisor zusammenarbeitet. CRX verwendet die gleichen Hardwarevirtualisierungstechniken wie VMs und ist von einer VM-Begrenzung umgeben. Es wird eine Direktstarttechnik verwendet, mit der der Linux-Gast von CRX den Hauptinitialisierungsprozess initiieren kann, ohne die Kernel-Initialisierung durchlaufen zu müssen. Auf diese Weise können vSphere Pods fast so schnell wie Container starten.
n Der VM-Dienst, die Cluster-API und der VMware Tanzu™ Kubernetes Grid™-Dienst sind Module, die im Supervisor-Cluster ausgeführt werden und die Bereitstellung und Verwaltung von Tanzu Kubernetes-Clustern ermöglichen.
Supervisor-Namespace
Ein Namespace legt die Ressourcengrenzen fest, in denen vSphere Pods und Tanzu Kubernetes-Cluster, die mithilfe des Tanzu Kubernetes Grid-Dienst erstellt wurden, ausgeführt werden können. Bei der anfänglichen Erstellung verfügt der Namespace über unbegrenzte Ressourcen innerhalb des Supervisor-Cluster. Als vSphere-Administrator können Sie Grenzwerte für CPU, Arbeitsspeicher und Speicher sowie die Anzahl der Kubernetes-Objekte festlegen, die innerhalb des Namespace ausgeführt werden können. Ein Ressourcenpool wird pro Namespace in vSphere erstellt. Speichereinschränkungen werden in Kubernetes als Speicherkontingente dargestellt.
Abbildung 3-3. Supervisor-Namespace
Namespace
SpeicherArbeitsspeicherCPU
vSpherePod
VMvSphere Pod
TanzuKubernetes-Cluster
VM
Supervisor-Cluster
Um dem DevOps-Ingenieur Zugriff auf Namespaces zu gewähren, weisen Sie als vSphere-Administrator den verfügbaren Benutzern oder Benutzergruppen Berechtigungen innerhalb einer Identitätsquelle zu, die mit vCenter Single Sign-On verknüpft ist.
Nachdem ein Namespace mit Ressourcen- und Objektgrenzwerten sowie mit Berechtigungen und Speicherrichtlinien erstellt und konfiguriert wurde, können Sie als DevOps-Ingenieur auf den Namespace zugreifen, um Kubernetes-Arbeitslasten auszuführen und Tanzu Kubernetes-Cluster mithilfe des Tanzu Kubernetes Grid-Dienst zu erstellen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 31
Tanzu Kubernetes-Cluster
Ein Tanzu Kubernetes-Cluster ist eine vollständige Distribution der Open-Source-Kubernetes-Software, die von VMware als Paket bereitgestellt, signiert und unterstützt wird. Im Zusammenhang mit vSphere with Kubernetes können Sie den Tanzu Kubernetes Grid-Dienst zum Bereitstellen von Tanzu Kubernetes-Clustern auf dem Supervisor-Cluster verwenden. Sie können die Tanzu Kubernetes Grid-Dienst-API deklarativ aufrufen, indem Sie kubectl und eine YAML-Definition verwenden.
Ein Tanzu Kubernetes-Cluster befindet sich in einem Supervisor-Namespace. Sie können Arbeitslasten und Dienste auf Tanzu Kubernetes-Clustern auf die gleiche Weise und unter Verwendung der selben Tools wie für Standard-Kubernetes-Cluster bereitstellen. Weitere Informationen finden Sie unter Kapitel 7 Ausführen von Tanzu Kubernetes-Clustern in vSphere with Kubernetes.
Abbildung 3-4. vSphere with Kubernetes-Architektur für Tanzu Kubernetes-Cluster
VM VM
VM VM
VMVM VM VM
VMVM
VM vSphere Pod
vSphere Pod
Linux Container
Linux Container
vSphere Pod
Linux Container
Linux Container
vSphere Pod
Linux Container
Linux Container
Pod
vSphere Pod
vSphere Pod
Supervisor-Namespace
vSphere-Cluster
vSphere mit NSX-T Data Center
vSphere-Cluster
Supervisor-Cluster
Tanzu Kubernetes-
Cluster
RUNC-Container
PodRUNC-
Container
Tanzu Kubernetes-
Cluster
Tanzu Kubernetes-
Cluster
Supervisor-Namespace
Supervisor-Namespace
Supervisor-Namespace
Supervisor-Namespace
VM-Operator
Cluster-API
VMwareTanzu™
KubernetesGrid™ Service
Tanzu Kubernetes-
Cluster-Worker-Knoten
Tanzu Kubernetes-
Cluster-Worker-Knoten
Tanzu Kubernetes-
Cluster-Knoten der
Control Plane
TanzuKubernetes-
Cluster-Knoten der
Control Plane
Supervisor-Cluster
VMwareTanzu™
KubernetesGrid™ Service
VM-Operator
Cluster-API
SC Control Plane
Knoten derSC Control
Plane
Knoten der
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 32
Tanzu Kubernetes Grid-Dienst – Architektur
Der Tanzu Kubernetes Grid-Dienst bietet die Self-Service-Lebenszyklusverwaltung von Tanzu Kubernetes-Clustern. Sie verwenden den Tanzu Kubernetes Grid-Dienst zum Erstellen und Verwalten von Tanzu Kubernetes-Clustern anhand eines deklarativen Ansatzes, der den Kubernetes-Anwendern und Entwicklern vertraut ist.
Komponenten für Tanzu Kubernetes Grid-Dienst
Der Tanzu Kubernetes Grid-Dienst verfügt über drei Ebenen von Controllern zum Verwalten des Lebenzyklus eines Tanzu Kubernetes-Clusters.
n Der Tanzu Kubernetes Grid-Dienst stellt Cluster bereit, die die Komponenten enthalten, die für die Integration der zugrunde liegenden Supervisor-Namespace-Ressourcen erforderlich sind. Zu diesen Komponenten gehört ein in das NSX- Container-Plug-In (NCP) integriertes Cloud-Anbieter-Plug-In, das im Supervisor-Cluster ausgeführt wird. Darüber hinaus übergibt ein Tanzu Kubernetes-Cluster Anforderungen bezüglich persistenter Volumes an den Supervisor-Cluster, der in VMware Cloud Native Storage (CNS) integriert ist. Weitere Informationen hierzu finden Sie unter Speicher in vSphere with Kubernetes.
n Die Cluster-API stellt deklarative APIs im Kubernetes-Stil für die Erstellung, Konfiguration und Verwaltung von Clustern bereit. Die Eingaben für die Cluster-API umfassen eine Ressource, die den Cluster beschreibt, eine Gruppe von Ressourcen, die die virtuellen Maschinen beschreiben, aus denen sich der Cluster zusammensetzt, sowie eine Reihe von Ressourcen, die Cluster-Add-Ons beschreiben.
n Der VM-Dienst stellt eine deklarative API im Kubernetes-Stil für die Verwaltung von VMs und zugeordneten vSphere-Ressourcen bereit. Der VM-Dienst führt das Konzept „Klassen virtueller Maschinen“ ein, die abstrakte wiederverwendbare Hardwarekonfigurationen darstellen. Die vom VM-Dienst bereitgestellten Funktionen werden verwendet, um den Lebenszyklus der Steuerungsebene und der Worker-Knoten-VMs zu verwalten, die einen Tanzu Kubernetes-Cluster hosten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 33
Abbildung 3-5. Tanzu Kubernetes Grid-Dienst-Architektur und -Komponenten
VM VM VM
CPI CSI
Tanzu Kubernetes-Cluster
Supervisor-Cluster
Benutzer-Namespaces Dienst-Namespaces
vCenterServer
CNI AuthTanzu
Kubernetes Grid-Ressource
Cluster-Ressource
Maschinen-Ressourcen
VM-Ressourcen
Supervisor-Ressourcen
TanzuKubernetesGrid Service
Cluster-API- Controller
Cluster-API- Anbieter
VM- Dienst
ESXi ESXi ESXi ESXi
UI- Integration
UI- Integration
UI- Integration
CNSCNS-CSINCP-CNI
Pod Pod Pod Pod
Tanzu Kubernetes-Cluster Komponenten
Die Komponenten, die in einem Tanzu Kubernetes-Cluster ausgeführt werden, erstrecken sich über vier Bereiche: Authentifizierung und Autorisierung, Speicherintegration, Pod-Netzwerk und Lastausgleich.
n Authentifizierungs-Webhook: ein Webhook, der als Pod innerhalb des Clusters ausgeführt wird, um Benutzerauthentifizierungstoken zu validieren.
n Container-Speicherschnittstellen-Plug-In: ein paravirtuelles CSI-Plug-In, das in CNS über den Supervisor-Cluster integriert wird.
n Container Network Interface-Plug-In: ein CNI-Plug-In, das Pod-Netzwerke bereitstellt.
n Cloud-Anbieterimplementierung: Unterstützt das Erstellen von Kubernetes-Lastausgleichsdiensten.
Tanzu Kubernetes Grid-Dienst-API
Sie verwenden die Tanzu Kubernetes Grid-Dienst-API zum Bereitstellen und Verwalten von Tanzu Kubernetes-Clustern. Es handelt sich dabei um eine deklarative API, die Sie mithilfe von kubectl und YAML aufrufen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 34
Mit einer deklarativen API geben Sie anstelle von imperativen Befehlen an das System den gewünschten Zustand des Tanzu Kubernetes-Clusters an: Anzahl der Knoten, verfügbarer Speicher, VM-Größen und Kubernetes-Softwareversion. Der Tanzu Kubernetes Grid-Dienst übernimmt die Aufgabe der Bereitstellung eines Clusters, dessen Zustand mit dem gewünschten Zustand übereinstimmt.
Zum Aufrufen der Tanzu Kubernetes Grid-Dienst-API rufen Sie kubectl mithilfe einer YAML-Datei auf, die ihrerseits die API aufruft. Nach der Erstellung des Clusters aktualisieren Sie die YAML-Datei, um den Cluster zu aktualisieren.
Tanzu Kubernetes Grid-Dienst-Schnittstellen
vSphere-Administratoren verwenden den vSphere Client zum Konfigurieren des Supervisor-Namespace und zum Erteilen von Berechtigungen. Sie können auch die von Clusterkomponenten verwendeten Ressourcen überwachen und relevante Informationen aus diesen Ressourcen in der vSphere-Bestandsliste anzeigen.
DevOps-Ingenieure verwenden das vSphere-Plug-In für kubectl, um mit den vCenter Single Sign-On-Anmeldedaten eine Verbindung mit dem Supervisor-Namespace herzustellen. Nach dem Herstellen der Verbindung verwenden DevOps-Ingenieure kubectl, um Tanzu Kubernetes-Cluster bereitzustellen.
Entwickler können mit dem vSphere-Plug-In für kubectl und ihren vCenter Single Sign-On-Anmeldedaten eine Verbindung mit einem bereitgestellten Cluster herstellen. Wenn der Clusteradministrator einen unterstützten Kubernetes-Authentifizierungsanbieter konfiguriert hat, können Entwickler die Verbindung auch mit kubectl herstellen. Entwickler verwenden zur Bereitstellung von Arbeitslasten in Kubernetes und zur Interaktion mit der Clusterumgebung kubectl.
Tanzu Kubernetes Grid-Dienst-Demo
Sehen Sie sich das folgende Video an, um mehr darüber zu erfahren, wie Sie den Tanzu Kubernetes Grid-Dienst für die Erstellung und den Betrieb von Tanzu Kubernetes-Clustern verwenden können: vSphere 7 with Kubernetes – Tanzu Kubernetes-Cluster – Technische Übersicht.
Mandantenmodell für Tanzu Kubernetes-Cluster
Der Supervisor-Cluster ist die Verwaltungsebene für Tanzu Kubernetes-Cluster, die vom Tanzu Kubernetes Grid-Dienst bereitgestellt werden. Das Mandantenmodell wird mithilfe eines Supervisor-Namespace erzwungen, in dem sich Tanzu Kubernetes-Cluster befinden.
Supervisor-Cluster
Der Supervisor-Cluster fungiert als Verwaltungsschicht, auf der die Tanzu Kubernetes-Cluster erstellt werden. Der Tanzu Kubernetes Grid-Dienst ist ein benutzerdefinierter Controller-Manager, der Teil des Supervisor-Clusters ist. Er verfügt über einen Satz von Controllern. Zweck des Tanzu Kubernetes Grid-Dienst ist die Bereitstellung von Tanzu Kubernetes-Clustern.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 35
Zwischen dem Supervisor-Cluster und dem vSphere-Cluster besteht eine 1:1-Beziehung, zwischen dem Supervisor-Cluster und Tanzu Kubernetes-Clustern eine 1:n-Beziehung. Sie können mehrere Tanzu Kubernetes-Cluster innerhalb eines einzelnen Supervisor-Clusters bereitstellen. Mit der vom Supervisor-Cluster bereitgestellten Funktionalität zur Arbeitslastverwaltung können Sie die Clusterkonfiguration und den Clusterlebenszyklus steuern und zugleich die Parallelität mit Upstream-Kubernetes beibehalten.
Weitere Informationen finden Sie unter Kapitel 4 Konfigurieren eines Supervisor-Cluster.
Supervisor-Namespace
Sie stellen einem Supervisor-Namespace einen oder mehrere Tanzu Kubernetes-Cluster bereit. Ressourcenkontingente und Speicherrichtlinien werden auf einen Supervisor-Namespace angewendet und von den dort bereitgestellten Tanzu Kubernetes-Clustern geerbt.
Wenn Sie einen Tanzu Kubernetes-Cluster bereitstellen, werden im Supervisor-Namespace ein Ressourcenpool und ein VM-Ordner erstellt. Die Steuerungsebene des Tanzu Kubernetes-Clusters und die VMs der Worker-Knoten werden in diesem Ressourcenpool und im VM-Ordner platziert. Mit vSphere Client können Sie diese Hierarchie anzeigen, indem Sie die Perspektive Hosts und Cluster und außerdem die Ansicht VMs und Vorlagen auswählen.
Weitere Informationen finden Sie unter Kapitel 5 Arbeiten mit Namespaces in einem Supervisor-Cluster.
Inhaltsbibliothek
Eine vSphere-Inhaltsbibliothek stellt die VM-Vorlage bereit, mit deren Hilfe die Tanzu Kubernetes-Clusterknoten erstellt werden. Für jeden Supervisor-Cluster, in dem Sie einen Tanzu Kubernetes-Cluster bereitstellen möchten, müssen Sie ein Objekt für eine abonnierte Inhaltsbibliothek definieren, das die vom Tanzu Kubernetes Grid-Dienst zum Erstellen von Clusterknoten verwendete OVA aufruft. Eine abonnierte Inhaltsbibliothek kann für mehrere Supervisor-Cluster konfiguriert werden. Es besteht keine Beziehung zwischen der abonnierten Inhaltsbibliothek und dem Supervisor-Namespace.
Weitere Informationen finden Sie unter Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster.
Clustersicherheit
Ein Tanzu Kubernetes-Cluster ist standardmäßig sicher. Für alle vom Tanzu Kubernetes Grid-Dienst bereitgestellten Tanzu Kubernetes-Cluster ist eine eingeschränkte PodSecurityPolicy-Ressource (PSP) verfügbar. Wenn Entwickler berechtigte Pods oder Root-Container ausführen müssen, muss ein Clusteradministrator mindestens ein RoleBinding-Objekt erstellen, das dem Benutzer Zugriff auf die berechtigten Standard-PSP gewährt. Weitere Informationen finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 36
Ein Tanzu Kubernetes-Cluster verfügt nicht über Anmeldedaten für die Infrastruktur. Die Anmeldedaten, die in einem Tanzu Kubernetes-Cluster gespeichert werden, reichen nur für den Zugriff auf den Supervisor-Namespace aus, in dem der Tanzu Kubernetes-Cluster mandantenfähig ist. Infolgedessen gibt es für Clusteradministratoren oder Benutzer keinen Eskalationsweg für Rechte.
Die für den Zugriff auf einen Tanzu Kubernetes-Cluster verwendeten Authentifizierungstoken werden so skaliert, dass sie nicht für den Zugriff auf den Supervisor-Cluster genutzt werden können. Dadurch wird verhindert, dass ein Clusteradministrator oder eine Person, die einen Cluster kompromittieren könnte, den Zugriff auf Root-Ebene nutzt, um bei der Anmeldung bei einem Tanzu Kubernetes-Cluster das Token eines vSphere-Administrators zu erfassen.
Netzwerke in vSphere with Kubernetes
vSphere with Kubernetes erfordert eine spezifische Netzwerkkonfiguation zum Aktivieren der Konnektivität für Namespaces, vSphere Pods, Kubernetes-Dienste und Tanzu Kubernetes-Cluster, die über den Tanzu Kubernetes Grid-Dienst bereitgestellt werden.
Supervisor-Cluster-Netzwerk
VMware NSX-T™ Data Center bietet Netzwerkkonnektivität zu den Objekten innerhalb des Supervisor-Clusters und externen Netzwerken. Die Konnektivität mit den ESXi-Hosts, die den Cluster umfassen, wird von den standardmäßigen vSphere-Netzwerken verarbeitet.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 37
Abbildung 3-6. Supervisor-Cluster-Netzwerk
Entwickler
NetzwerkUplink-VLAN
NSX Manager vCenter Server
Verwaltungsnetzwerk
Virtuelle IPs für Ingress
Virtuelle IPs für
Edge - Lastausgleichsdienst
Tier-1-Gateway
Supervisor-Cluster
ebenen-VMs
-Segment
Namespace A-Segment
Namespace B-Segment
Namespace A
vSphere Pod
Namespace B
vSphere Pod
Spherelet
ESXi-Host
Spherelet
ESXi-Host
Spherelet
ESXi-Host
Tier-0-Gateway
NCP
K8SSteuerungsebene
Steuerungs-
API-Server
n NSX Container Plug-in (NCP) bietet Integration zwischen VMware NSX-T™ Data Center und Kubernetes. Die Hauptkomponente von NCP wird in einem Container ausgeführt und kommuniziert mit NSX Manager und mit der Kubernetes-Steuerungsebene. NCP überwacht Änderungen an Containern und anderen Ressourcen und verwaltet Netzwerkressourcen wie logische Ports, Segmente, Router und Sicherheitsgruppen für die Container durch Aufrufen der NSX API.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 38
n NSX Edge bietet Konnektivität von externen Netzwerken zu Supervisor-Cluster-Objekten. Der NSX Edge-Cluster verfügt über einen Load Balancer, der Redundanz für die Kubernetes-API-Server auf den Steuerungsebenen-VMs sowie für alle Anwendungen bietet, die veröffentlicht werden müssen und auf die ein Zugriff von außerhalb des Supervisor-Clusters möglich sein muss.
n Ein Tier-0-Gateway ist mit dem NSX Edge-Cluster verknüpft, um das Routing zum externen Netzwerk bereitzustellen. Die Uplink-Schnittstelle verwendet entweder das dynamische Routing-Protokoll, BGP oder statisches Routing.
n Pro Supervisor-Cluster ist ein Tier-1-Gateway erforderlich, das Nord-Süd-Datenverkehr vom Cluster zum Tier-0-Gateway bereitstellt.
n Segmente sind mit jedem Namespace innerhalb des Supervisor-Clusters verknüpft, um Konnektivität mit vSphere Pods bereitzustellen.
n Das Steuerungsebenen-VM-Segment bietet Konnektivität zwischen den Steuerungsebenen-VMs und den vSphere Pods.
Um mehr über Supervisor-Cluster-Netzwerke zu erfahren, sehen Sie sich das Video vSphere 7 with Kubernetes-Netzwerkdienst – Teil 1 – Der Supervisor-Cluster an.
Abbildung 3-7. Namespaces-Netzwerk
K8S-Steuerungs-
ebeneVM 2
K8S-Steuerungs-
ebeneVM 1
NSX ManagervCenter Server
Tier-1-Gateway
Segment Namespace A
Segment Namespace B
Segment Namespace C
VM-Segment der Steuerungsebene
Verwaltungsnetzwerk
ESXi-Verwaltungsnetzwerk
Von NCPverwaltetesNSX-T-Overlay-Netzwerk
VorhandenesvSphere-Netzwerk
ESXi-Host 1 ESXi-Host 2 ESXi-Host 3
vSphereDistributed Switch
Spherelet Spherelet Spherelet
Namespace A Namespace B Namespace C
vSphere-Pod 1
vSphere-Pod 2
vSphere-Pod 3
vSphere-Pod 4
vSphere-Pod 5
vSphere-Pod 6
K8S-Steuerungs-
ebeneVM 3
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 39
Die Segmente für die einzelnen Namespaces befinden sich auf dem im Standardmodus funktionierenden vSphere Distributed Switch (VDS), der dem NSX Edge-Cluster zugeordnet ist. Das Segment stellt dem Supervisor-Cluster ein Overlay-Netzwerk zur Verfügung.
Jeder vSphere Pod verbindet sich über eine Schnittstelle mit dem Segment, das mit dem Namespace verknüpft ist, in dem sich der Pod befindet.
Die Spherelet-Prozesse auf den einzelnen ESXi-Hosts kommunizieren mit vCenter Server über eine Schnittstelle im Verwaltungsnetzwerk.
Netzwerkkonfigurationsmethoden
Der Supervisor-Cluster verwendet eine Opinionated-Netzwerkkonfiguration, d. h. eine Konfiguration, bei der ein bestimmter Ansatz als besser geeignet eingestuft und entsprechend priorisiert wird. Zum Konfigurieren des Supervisor-Cluster-Netzwerks gibt es zwei Methoden, die zur Bereitstellung desselben Netzwerkmodells führen:
n Die einfachste Möglichkeit zur Konfiguration des Supervisor-Cluster-Netzwerks besteht darin, VMware Cloud Foundation SDDC Manager zu verwenden. Weitere Informationen finden Sie in der Dokumentation zu VMware Cloud Foundation SDDC Manager. Weitere Informationen finden Sie unter Arbeiten mit Arbeitslastverwaltung.
n Sie können das Supervisor-Cluster-Netzwerk auch manuell konfigurieren, indem Sie eine vorhandene NSX-T Data Center-Bereitstellung verwenden oder eine neue NSX-T Data Center-Instanz bereitstellen. Weitere Informationen hierzu finden Sie unter Konfigurieren von vSphere with Kubernetes für die Verwendung von NSX-T Data Center.
Tanzu Kubernetes-Cluster-Netzwerk
Das Netzwerk, das für die vom Tanzu Kubernetes Grid-Dienst bereitgestellten Tanzu Kubernetes-Cluster verwendet wird, ist eine Kombination aus dem NSX-T-Fabric, das der vSphere with Kubernetes-Infrastruktur zugrunde liegt, und Drittanbietersoftware, die Netzwerke für Cluster-Pods, Dienste und Ingress bereitstellt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 40
Abbildung 3-8. Tanzu Kubernetes-Cluster-Netzwerk
Supervisor-Cluster
Externes Netzwerk
DevOps-Ingenieur
Namespace erstellen
TKG-Cluster erstellen
vCenterNSXT
Manager
Steuerungs-ebenen-VM
vSphere-Administrator
VDS-UplinkVerwaltung
Supervisor-NS-SegmentTKG-Clustersegment
Edge-UplinkSC-Steuerungsebenensegment
NCP
SC Tier-1-GW
TKG-Cluster
Tier-1-GWTier-0-GW
NSXT Edge-Cluster Supervisor-Namespace
Worker-Knoten-VM
Knoten-VM der Steuerungsebene
NSXT Edge-Knoten TKG-Cluster
SC-
Wenn Sie als vSphere-Administrator einen Supervisor-Namespace erstellen, wird für jeden Namespace ein NSX-T-Segment definiert. Dieses Segment ist mit dem NSX-T-Tier-1-Gateway für das Supervisor-Cluster-Netzwerk verbunden.
Wenn DevOps-Ingenieure den ersten Tanzu Kubernetes-Cluster in einem Supervisor-Namespace bereietstellen, wird ein neues Tier-1-Gateway erstellt. Für jeden in diesem Namespace bereitgestellten Tanzu Kubernetes-Cluster wird ein Segment erstellt. Dieses wird dann mit dem Tier-1-Gateway in seinem Supervisor-Namespace verbunden.
Kubernetes-Pods, die in Tanzu Kubernetes-Clustern ausgeführt werden, stellen die Verbindung mit dem Clustersegment über Container Network Interface (CNI) her. Die vom Tanzu Kubernetes Grid-Dienst bereitgestellten Tanzu Kubernetes-Cluster unterstützen das Calico-Open Source-Plug-In für CNI. Der Tanzu Kubernetes Grid-Dienst bietet ein erweiterbares Framework, das zu einem späteren Zeitpunkt noch zusätzliche CNIs unterstützen kann.
Wird ein Tanzu Kubernetes-Cluster vom Tanzu Kubernetes Grid-Dienst bereitgestellt, so wird automatisch ein NSX-T-Load Balancer auf einem NSX Edge-Knoten bereitgestellt. Dieser Load Balancer stellt Lastausgleichsdienste in Form von virtuellen Servern bereit. Es wird ein einziger virtueller Server erstellt, der den Lastausgleich auf Schicht 4 für die Kubernetes-API bereitstellt. Dieser virtuelle Server ist für das Routing von kubectl-Datenverkehr zur Steuerungsebene verantwortlich. Darüber hinaus wird für jeden auf dem Cluster zur Verfügung stehenden Load Balancer eines Kubernetes-Dienstes ein virtueller Server erstellt, der den Lastausgleich auf Schicht 4 für diesen Dienst bereitstellt.
In der folgenden Tabelle werden Netzwerkfunktionen von Tanzu Kubernetes-Clustern und deren Implementierung zusammengefasst.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 41
Tabelle 3-1. Tanzu Kubernetes-Cluster-Netzwerk für vSphere with Kubernetes
Endpoint Anbieter Beschreibung
Kubernetes-API NSX-T-Load Balancer Ein virtueller Server pro Cluster.
Knotenkonnektivität NSX-T-Segment Bietet Konnektivität zwischen Clusterknoten-VMs über den NSX-T-Tier-1-Router.
Pod-Konnektivität Calico Container-Netzwerkschnittstelle für Pods über die Linux-Bridge.
Diensttyp: ClusterIP Calico Standardmäßiger Kubernetes-Diensttyp, auf den nur innerhalb des Clusters zugegriffen werden kann.
Diensttyp: NodePort Calico Ermöglicht externen Zugriff über einen Port, der vom Kubernetes-Netzwerk-Proxy auf jedem Worker-Knoten geöffnet wird.
Diensttyp: LoadBalancer NSX-T-Load Balancer Ein virtueller Server pro Diensttypdefinition.
Pod-Ingress Ingress-Controller eines Drittanbieters Routing für eingehenden Pod-Datenverkehr. Sie können einen beliebigen Ingress-Controller eines Drittanbieters verwenden.
Netzwerkrichtlinie Calico Steuert mithilfe von Linux-IP-Tabellen, welcher Datenverkehr für ausgewählte Pods und Netzwerk-Endpoints zulässig ist.
Speicher in vSphere with Kubernetes
Eine vSphere Pod und ein Pod, der in einem Tanzu Kubernetes-Cluster ausgeführt wird, erfordern unterschiedliche Speichermerkmale für verschiedene Arten von Speicherobjekten, die in Kubernetes verfügbar sind.
vSphere with Kubernetes unterstützt drei Arten von Speicher: flüchtige virtuelle Festplatten, virtuelle Festplatten des Container-Images und virtuelle Festplatten für dauerhafte Volumes. Ein vSphere Pod und ein in einem Tanzu Kubernetes-Cluster ausgeführter Pod können alle drei Typen von virtuellen Festplatten mounten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 42
VirtuelleFestplatte[0]
für dauerhaftes Volume
Flüchtigevirtuelle
Festplatte
VirtuelleFestplatte[N]
für dauerhaftes Volume
Virtuelle Festplatte[0]
für Container- Image
vSphere Pod
VirtuelleFestplatte[N]
für Container- Image
Flüchtige virtuelle Festplatten
Ein Pod erfordert flüchtigen Speicher, um während der Vorgänge Kubernetes-Objekte wie Protokolle, emptyDir-Volumes und ConfigMaps zu speichern. Dieser flüchtige (oder transiente) Speicher steht so lange zur Verfügung, wie der Pod vorhanden ist. Flüchtige Daten werden über Container-Neustarts hinweg beibehalten, aber sobald der Pod das Ende seiner Lebensdauer erreicht, wird die flüchtige virtuelle Festplatte nicht mehr angezeigt.
Jeder Pod verfügt über eine flüchtige virtuelle Festplatte. Ein vSphere-Administrator verwendet eine Speicherrichtlinie, um den Speicherort des Datenspeichers für alle flüchtigen virtuellen Festplatten beim Konfigurieren des Speichers für den Supervisor-Cluster zu definieren. Weitere Informationen hierzu finden Sie unter Aktivieren von vSphere with Kubernetes in einem Cluster mit NSX-T Data Center.
Virtuelle Festplatten des Container-Images
Container innerhalb des Pods verwenden Images, die die auszuführende Software enthalten. Der Pod mountet Images, die von ihren Containern als virtuelle Image-Festplatten verwendet werden. Wenn der Pod seinen Lebenszyklus abgeschlossen hat, werden die virtuellen Image-Festplatten vom Pod getrennt.
Image-Dienst, eine ESXi-Komponente, ist dafür verantwortlich, Container-Images aus der Image-Registrierung abzurufen und sie in virtuelle Festplatten zu transformieren, um sie innerhalb des Pods auszuführen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 43
Image-Registrierung
Image-Dienst
Container-Image
vSphere Pod
ESXi-Host(K8s-Knoten)
SupervisorCluster
ESXi kann Images zwischenspeichern, die für die im Pod ausgeführten Container heruntergeladen werden. Nachfolgende Pods, die dasselbe Image verwenden, rufen dieses aus dem lokalen Cache und nicht aus der externen Container-Registrierung ab.
Der vSphere-Administrator gibt den Speicherort des Datenspeichers für den Image-Cache an, wenn der Speicher für den Supervisor-Cluster konfiguriert wird. Weitere Informationen hierzu finden Sie unter Aktivieren von vSphere with Kubernetes in einem Cluster mit NSX-T Data Center.
Informationen zum Arbeiten mit den Container-Images finden Sie unter Verwenden der Registrierungsdienst für die Bereitstellung einer privaten Image-Registrierung.
Virtuelle Festplatten für dauerhaften Speicher
Um dauerhaften Speicher für Kubernetes-Arbeitslasten bereitzustellen, wird vSphere with Kubernetes in den cloudnativen Speicher (CNS) integriert – eine vCenter Server-Komponente, die dauerhafte Volumes verwaltet. Dauerhafter Speicher wird von vSphere Pods und Pods innerhalb von Tanzu Kubernetes-Clustern verwendet.
Weitere Informationen und Einzelheiten zur Verwendung von dauerhaftem Speicher durch die Tanzu Kubernetes-Cluster finden Sie unter Wie ist vSphere with Kubernetes in vSphere-Speicher integriert? und Kapitel 7 Ausführen von Tanzu Kubernetes-Clustern in vSphere with Kubernetes.
K8s-Steuerungsebenen-VM
CNS-Volume-Dienst
Container-Volume
vSphere Pod
ESXi-Host(K8s-Knoten)
Supervisor-Cluster
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 44
Machen Sie sich mit den folgenden wichtigen Konzepten vertraut, damit Sie die Funktionsweise von vSphere with Kubernetes mit dauerhaftem Speicher verstehen.
Dauerhaftes Volume
Bestimmte Kubernetes-Arbeitslasten erfordern dauerhaften Speicher, um die Daten unabhängig vom Pod zu speichern. Zum Bereitstellen von dauerhaftem Speicher verwendet Kubernetes dauerhafte Volumes, die ihren Zustand und ihre Daten beibehalten können. Sie bleiben auch dann erhalten, wenn der Pod gelöscht oder neu konfiguriert wird. In der vSphere with Kubernetes-Umgebung werden die dauerhaften Volume-Objekte von Festplatten der 1. Klasse in einem Datenspeicher gestützt.
vSphere with Kubernetes unterstützt die dynamische Bereitstellung von Volumes im ReadWriteOnce-Modus, den Volumes, die von einem einzelnen Knoten gemountet werden können.
Festplatte der 1. Klasse
vSphere with Kubernetes verwendet den FCD-Typ (First Class Disk) der virtuellen Festplatten, um dauerhafte Volumes zu sichern. Die Festplatte der 1. Klasse, die auch als verbesserte virtuelle Festplatte bezeichnet wird, ist eine benannte virtuelle Festplatte, die keiner VM zugeordnet ist.
Festplatten der ersten Klasse werden durch UUID identifiziert. Diese UUID ist global eindeutig und ist der primäre Bezeichner für die FCD. Die UUID bleibt auch dann gültig, wenn ihre FCD verlagert oder ein Snapshot von ihr erstellt wird.
Beanspruchung eines dauerhaften Volumes
DevOps-Ingenieure erstellen Ansprüche für dauerhafte Volumes, um dauerhafte Speicherressourcen anzufordern. Die Anforderung stellt dynamisch ein dauerhaftes Volume-Objekt und eine übereinstimmende virtuelle Festplatte bereit. In vSphere Client manifestiert sich die Beanspruchung eines dauerhaften Volumes als virtuelle FCD-Festplatte, die von vSphere-Administratoren überwacht werden kann.
Die Beanspruchung ist an das dauerhafte Volume gebunden. Die Arbeitslasten können die Beanspruchung verwenden, um die dauerhaften Volumes zu mounten und auf den Speicher zuzugreifen.
Wenn die DevOps-Ingenieure die Beanspruchung löschen, werden auch das entsprechende dauerhafte Volume-Objekt und die bereitgestellte virtuelle Festplatte gelöscht.
Speicherklasse
Kubernetes verwendet Speicherklassen, um die Anforderungen für Speicher-Backing der dauerhaften Volumes zu beschreiben. DevOps-Ingenieure können eine bestimmte Speicherklasse in ihre Spezifikation der Beanspruchung von dauerhaften Volumes aufnehmen, um den Typ des Speichers anzufordern, den die Klasse beschreibt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 45
Workflow für dauerhaften Speicher
Der Workflow für die Bereitstellung von dauerhaftem Speicher in vSphere with Kubernetes umfasst die folgenden nacheinander erfolgenden Aktionen.
Aktion Beschreibung
vSphere-Administratoren stellen dem DevOps-Team dauerhafte Speicherressourcen bereit.
vSphere-Administratoren erstellen VM-Speicherrichtlinien, die unterschiedliche Speicheranforderungen und Dienstklassen beschreiben. Anschließend können sie die Speicherrichtlinien einem Supervisor-Namespace zuweisen.
vSphere with Kubernetes erstellt Speicherklassen, die den dem Supervisor-Namespace zugewiesenen Speicherrichtlinien entsprechen.
Die Speicherklassen werden automatisch in der Kubernetes-Umgebung angezeigt und können vom DevOps-Team verwendet werden. Wenn ein vSphere-Administrator dem Supervisor-Namespace mehrere Speicherrichtlinien zuweist, wird für jede Speicherrichtlinie eine separate Speicherklasse erstellt.
Wenn Sie den Tanzu Kubernetes Grid-Dienst verwenden, um Tanzu Kubernetes-Cluster bereitzustellen, erbt jeder Tanzu Kubernetes-Cluster Speicherklassen vom Supervisor-Namespace, in dem der Cluster bereitgestellt wird.
DevOps-Ingenieure verwenden die Speicherklassen, um dauerhafte Speicherressourcen für eine Arbeitslast anzufordern.
Die Anforderung erfolgt in Form eines Anspruchs für ein dauerhaftes Volume, der auf eine bestimmte Speicherklasse verweist.
vSphere with Kubernetes erstellt ein dauerhaftes Volume-Objekt und eine entsprechende dauerhafte virtuelle Festplatte für einen Pod.
vSphere with Kubernetes platziert die virtuelle Festplatte in den Datenspeicher, der die in der ursprünglichen Speicherrichtlinie angegebenen Anforderungen und die zugehörige Speicherklasse erfüllt. Nachdem der Pod gestartet wurde, wird die virtuelle Festplatte in den Pod gemountet.
vSphere-Administratoren überwachen dauerhafte Volumes in der vSphere with Kubernetes-Umgebung.
Mithilfe des vSphere Client überwachen vSphere-Administratoren die dauerhaften Volumes und ihre zugrunde liegenden virtuellen Festplatten. Sie können auch die Speicherübereinstimmung und den Systemzustand der dauerhaften Volumes überwachen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 46
vSphere Pod
Beanspruchung einesdauerhaften Volumes
DauerhaftesVolume
Virtuelle FCD-Festplatte
Speicherklasse
Speicherrichtlinie
Supervisor-Cluster
vSphere-Speicher
In diesem Video erfahren Sie mehr über den dauerhaften Speicher in vSphere with Kubernetes.Dauerhafter Speicher in vSphere 7.0 with Kubernetes(http://link.brightcove.com/services/player/bcpid2296383276001?bctid=ref:video_persistent_storage vs7_kubernetes)
Speicherverwaltungsaufgaben eines vSphere-Administrators
Im Allgemeinen enthalten die Speicherverwaltungsaufgaben in vSphere with Kubernetes die folgenden. Als vSphere-Administrator verwenden Sie den vSphere Client, um diese Aufgaben auszuführen.
n Sie führen Lebenszyklusvorgänge für die VM-Speicherrichtlinien durch.
Erstellen Sie vor dem Aktivieren eines Supervisor-Clusters und Konfigurieren von Namespaces Speicherrichtlinien für alle drei Speichertypen, die in Ihrer Kubernetes-Umgebung benötigt werden: flüchtigen Speicher, Container-Image-Speicher und dauerhaften Speicher. Die Speicherrichtlinien basieren auf den Speicheranforderungen, die Ihnen von den DevOps-Ingenieuren mitgeteilt werden. Weitere Informationen hierzu finden Sie unter Erstellen von Speicherrichtlinien für vSphere with Kubernetes.
Hinweis Löschen Sie die Speicherrichtlinie nicht aus vCenter Server oder einem Supervisor-Namespace, wenn im Namespace eine Beanspruchung eines dauerhaften Volumes mit der entsprechenden Speicherklasse ausgeführt wird. Diese Empfehlung gilt auch für Tanzu Kubernetes-Cluster. Löschen Sie die Speicherrichtlinie nicht, wenn ein Tanzu Kubernetes-Cluster-Pod die Speicherklasse für ihren Speicher verwendet.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 47
n Stellen Sie den DevOps-Ingenieuren Speicherressourcen bereit, indem Sie die Speicherrichtlinien dem Supervisor-Cluster und dem Namespace zuweisen und Speichergrenzwerte festlegen. Informationen zum Ändern der Zuweisungen der Speicherrichtlinien finden Sie unter Ändern der Speichereinstellungen im Supervisor-Cluster und Ändern der Speichereinstellungen in einem Namespace. Informationen zur Einstellung von Grenzwerten finden Sie unter Konfigurieren von Einschränkungen für Kubernetes-Objekte in einem Namespace.
n Überwachen Sie die Kubernetes-Objekte und deren Konformität mit den Speicherrichtlinien im vSphere Client. Weitere Informationen hierzu finden Sie unter Überwachen dauerhafter Volumes.
Speicherverwaltungsaufgaben eines DevOps-Ingenieurs
In der vSphere with Kubernetes-Umgebung kann der DevOps-Ingenieur als Kubernetes-Entwickler und Anwendungsbesitzer oder als Kubernetes-Administrator fungieren. Eine Kombination beider Funktionen ist auch möglich. In der Regel führt der DevOps-Ingenieur die Aufgaben mithilfe von kubectl aus.
n Verwalten von Speicherklassen. Weitere Informationen hierzu finden Sie unter Anzeigen von Speicherklassen in einem Supervisor-Namespace- oder Tanzu Kubernetes-Cluster.
n Bereitstellen und Verwalten statusbehafteter Anwendungen. Weitere Informationen hierzu finden Sie unter Bereitstellen einer statusbehafteten Anwendung.
n Durchführen von Lebenszyklusvorgängen für dauerhafte Volumes. Beispiel für die Beanspruchung eines dauerhaften Tanzu Kubernetes-Volumes.
Wie ist vSphere with Kubernetes in vSphere-Speicher integriert?
vSphere with Kubernetes verwendet mehrere Komponenten für die Integration in vSphere Storage.
Cloudnativer Speicher (CNS) in vCenter Server
Die CNS-Komponente befindet sich in vCenter Server. Es handelt sich um eine Erweiterung der vCenter Server-Verwaltung, die die Bereitstellungs- und Lebenszyklusvorgänge für dauerhafte Volumes implementiert.
Bei der Bereitstellung von Container-Volumes interagiert die Komponente mit der FCD-Funktionalität (First Class Disk, Festplatte der 1. Klasse bzw. erstklassige Festplatte) von vSphere, um virtuelle Festplatten zur Unterstützung der Volumes zu erstellen. Darüber hinaus kommuniziert die CNS-Serverkomponente mit der speicherrichtlinienbasierten Verwaltung, um den Festplatten die erforderliche Befehlseben zu garantieren.
Die CNS-Komponente führt auch Abfragevorgänge aus, mit denen vSphere-Administratoren dauerhafte Volumes und deren unterstützende Speicherobjekte über vCenter Server verwalten und überwachen können.
Erstklassige Festplatte (First Class Disk, FCD)
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 48
Wird auch als verbesserte virtuelle Festplatte bezeichnet. Es handelt sich um eine benannte virtuelle Festplatte, die mit keiner VM verknüpft ist. Diese Festplatten befinden sich auf einem VMFS-, NFS- oder vSAN-Datenspeicher und unterstützen dauerhafte ReadWriteOnce-Volumes.
Bei der FCD-Technologie werden Lebenszyklusvorgänge im Zusammenhang mit dauerhaften Volumes außerhalb eines VM- oder Pod-Lebenszyklus durchgeführt.
Speicherrichtlinienbasierte Verwaltung
Die speicherrichtlinienbasierte Verwaltung ist ein vCenter Server-Dienst, der die Bereitstellung von dauerhaften Volumes und deren unterstützenden virtuellen Festplatten gemäß den in einer Speicherrichtlinie beschriebenen Speicheranforderungen unterstützt. Nach der Bereitstellung überwacht der Dienst die Konformität des Volumes mit den Merkmalen der Speicherrichtlinien.
vSphere CNS-CSI
Die vSphere CNS-CSI-Komponente entspricht der CSI-Spezifikation (Container Storage Interface), einem Branchenstandard, durch den eine Schnittstelle für die Containerorchestrierung zur Verfügung gestellt wird, die u. a. von Kubernetes zur Bereitstellung von dauerhaftem Speicher genutzt wird. Der CNS-CSI-Treiber wird im Supervisor-Cluster ausgeführt und stellt in einem Supervisor-Namespace die Verbindung zwischen vSphere-Speicher und der Kubernetes-Umgebung her. vSphere CNS-CSI kommuniziert direkt mit der CNS-Steuerungsebene für alle Speicher-Provisioning-Anforderungen, die von vSphere Pods stammen, und Pods, die in einem Tanzu Kubernetes-Cluster im Namespace ausgeführt werden.
Paravirtuelle CSI (pvCSI)
pvCSI ist die für Tanzu Kubernetes-Cluster geänderte Version des vSphere CNS-CSI-Treibers. Die pvCSI-Komponente befindet sich im Tanzu Kubernetes-Cluster und ist für alle aus dem Tanzu Kubernetes-Cluster stammenden, speicherbezogenen Anforderungen zuständig. Die Anforderungen werden an CNS-CSI übermittelt und von dort an CNS in vCenter Server weitergeleitet. Dies führt dazu, dass pvCSI nicht direkt mit der CNS-Komponente kommuniziert, sondern bei allen Speicherbereitstellungsvorgängen auf CNS-CSI angewiesen ist.
Im Gegensatz zu CNS-CSI benötigt pvCSI keine Anmeldedaten für die Infrastruktur. pvCSI ist mit einem Dienstkonto im Supervisor-Namespace konfiguriert.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 49
Benutzer-Namespaces
Tanzu Kubernetes-Cluster
DauerhafteVolumes
pvCSI
vSphere Pod
Kubernetes-Speicherklasse
Supervisor-Cluster CNS-CSI
CNS
vCenter Server SPBM-Richtlinie
VirtuelleFCD-Festplatten
ESXi ESXi ESXi
NFS-DatenspeichervSAN/VMFS/
Im Folgenden ist dargestellt, wie unterschiedliche Komponenten miteinander interagieren, wenn ein DevOps-Ingenieur einen speicherbezogenen Vorgang im Tanzu Kubernetes-Cluster durchführt und z. B. eine Beanspruchung eines dauerhaften Volumes (Persistent Volume Claim, PVC) erstellt.
Der DevOps-Ingenieur erstellt ein PVC über die Befehlszeile im Tanzu Kubernetes-Cluster. Durch diese Aktion wird ein übereinstimmendes PVC auf dem Supervisor-Cluster generiert. Außerdem wird CNS-CSI ausgelöst. CNS-CSI ruft die CNS-API zum Erstellen von Volumes auf.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 50
Supervisor-Cluster vSphereTanzu Kubernetes-Cluster
Beanspruchungeines dauerhaften
Volumes
pvCSI
Beanspruchungeines dauerhaften
Volumes
CNS-CSI
Volume
CNS
Nach erfolgreicher Erstellung eines Volumes wird der Vorgang über den Supervisor-Cluster wieder an den Tanzu Kubernetes-Cluster weitergegeben. Infolge dieser Weitergabe können die Benutzer das dauerhafte Volume und die Beanspruchung des dauerhaften Volumes im gebundenen Zustand im Supervisor-Cluster sehen. Außerdem wird ihnen beides im gebundenen Zustand auch im Tanzu Kubernetes-Cluster angezeigt.
Unterstützte Funktionen von vSphere CNS-CSI und paravirtueller CSI
Der im Supervisor-Cluster-Treiber ausgeführte vSphere CNS-CSI-Treiber und der pvCSI-Treiber, die für Tanzu Kubernetes-Cluster geänderte CSI-Version, unterstützen mehrere vSphere- und Kubernetes-Speicherfunktionen. Hierbei gelten allerdings bestimmte Einschränkungen.
Unterstützte FunktionenvSphere CNS-CSI mit Supervisor-Cluster pvCSI mit Tanzu Kubernetes-Cluster
CNS-Unterstützung in vSphere Client Ja Ja
Verbesserte Objektintegrität in vSphere Client
Ja (nur vSAN) Ja (nur vSAN)
Dynamisches dauerhaftes Volume für Blöcke (ReadWriteOnce-Zugriffsmodus)
Ja Ja
Dynamisches dauerhaftes Volume für Dateien (ReadWriteMany-Zugriffsmodus)
Nein Nein
vSphere-Datenspeicher VMFS/NFS/vSAN VMFS/NFS/vSAN
Statisches dauerhaftes Volume Nein Ja
Verschlüsselung Nein Nein
Vergrößerung von Offline-Volumes Nein Nein
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 51
Unterstützte FunktionenvSphere CNS-CSI mit Supervisor-Cluster pvCSI mit Tanzu Kubernetes-Cluster
Volume-Topologie und -Zonen Nein Nein
Mehrere Steuerungsebenen-Instanzen in Kubernetes
Ja Ja
WaitForConsumerFirst Nein Nein
Speicherberechtigungen in vSphere with Kubernetes
vSphere with Kubernetes stellt die Beispielrolle Arbeitslastspeicher-Manager bereit, die eine Reihe von Rechten für Speichervorgänge umfasst. Sie können diese Rolle klonen, um eine ähnliche Rolle zu erstellen.
Rechtename Beschreibung Erforderlich bei
CNS.Durchsuchbar Ermöglicht dem Speicheradministrator das Anzeigen der Cloud Native Storage-Benutzeroberfläche.
Root-vCenter Server
Datenspeicher.Speicher zuteilenDatenspeicher.Dateivorgänge auf niedriger Ebene
Ermöglicht die Zuteilung von Speicherplatz auf einem Datenspeicher für eine virtuelle Maschine, einen Snapshot, einen Klon oder eine virtuelle Festplatte.
Ermöglicht die Durchführung von Lese-, Schreib-, Lösch- und Umbenennungsvorgängen im Datenspeicherbrowser.
Gemeinsam genutzter Datenspeicher, in dem sich persistente Volumes befinden
ESX Agent Manager.Ändern Ermöglicht Änderungen an einer virtuellen Maschine eines Agenten, wie z. B. das Ausschalten oder Löschen der virtuellen Maschine.
vSphere Pod
Ressource.Virtuelle Maschine zu Ressourcenpool zuweisen
Ermöglicht die Zuweisung einer virtuellen Maschine zu einem Ressourcenpool.
Ressourcenpools
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 52
Rechtename Beschreibung Erforderlich bei
Profilgesteuerter Speicher.Ansicht des profilgesteuerten Speichers
Ermöglicht die Anzeige festgelegter Speicherrichtlinien.
Root-vCenter Server
Virtuelle Maschine.Konfiguration ändern.Vorhandene Festplatte hinzufügenVirtuelle Maschine.Konfiguration ändern.Neue Festplatte hinzufügen
Virtuelle Maschine.Konfiguration ändern.Gerät hinzufügen oder entfernen
Virtuelle Maschine.Konfiguration ändern.Einstellungen ändern
Virtuelle Maschine.Konfiguration ändern.Festplatte entfernen
Virtuelle Maschine.Bestandsliste bearbeiten.Neue erstellen
Virtuelle Maschine.Bestandsliste bearbeiten.Entfernen
Ermöglicht das Erstellen und Löschen von virtuellen Maschinen. Ermöglicht die Konfiguration von Optionen und Geräten für virtuelle Maschinen.
vSphere Pod
Authentifizierung für vSphere with Kubernetes
Als vSphere-Administrator benötigen Sie Rechte zum Konfigurieren eines Supervisor-Clusters und zum Verwalten von Namespaces. Sie definieren die Berechtigung für Namespaces, um festzulegen, welche DevOps-Ingenieure auf sie zugreifen können. Als DevOps-Ingenieur authentifizieren Sie sich mithilfe Ihrer vCenter Single Sign-On-Anmeldedaten beim Supervisor-Cluster und können nur auf die Namespaces zugreifen, für die Sie über Berechtigungen verfügen.
Berechtigungen für vSphere-Administratoren
Als vSphere-Administrator benötigen Sie Berechtigungen für vSphere-Cluster, um sie als Supervisor-Cluster zu konfigurieren und um Namespaces zu erstellen und zu verwalten. Sie müssen über mindestens eines der folgenden Rechte verfügen, die Ihrem Benutzerkonto in einem vSphere-Cluster zugeordnet sind:
n Namespace-Konfiguration ändern. Ermöglicht es Ihnen, Namespaces in einem Supervisor-Cluster zu erstellen und zu konfigurieren.
n Clusterweite Konfiguration ändern. Ermöglicht es Ihnen, einen vSphere-Cluster als Supervisor-Cluster zu konfigurieren.
Einstellen von Berechtigungen für DevOps-Ingenieure
Als vSphere-Administrator gewähren Sie Benutzerkonten auf Namespace-Ebene Lese- oder Schreibberechtigungen. Die Benutzerkonten müssen in einer Identitätsquelle verfügbar sein, die mit vCenter Single Sign-On verbunden ist. Ein Benutzerkonto kann auf mehrere Namespaces zugreifen. Benutzer, die Mitglieder der Administratorengruppen sind, haben Zugriff auf alle Namespaces auf dem Supervisor-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 53
Nachdem Sie einen Namespace mit Berechtigungen, Ressourcenkontingenten und Speicher konfiguriert haben, stellen Sie die URL der Kubernetes-Steuerungsebene den DevOps-Ingenieuren zur Verfügung, die sich damit bei der Steuerungsebene anmelden können. Sobald sie angemeldet sind, können DevOps-Ingenieure auf alle Namespaces, für die sie über Berechtigungen verfügen, in allen zu einem vCenter Server-System gehörenden Supervisor-Clustern zugreifen. Wenn sich vCenter Server-Systeme im erweiterten verknüpften Modus befinden, können DevOps-Ingenieure auf alle Namespaces, für die sie über Berechtigungen verfügen, in allen in der Gruppe „Verknüpfter Modus“ verfügbaren Supervisor-Clustern zugreifen. Die IP-Adresse der Kubernetes-Steuerungsebene ist eine von NSX-T generierte virtuelle IP-Adresse, die als Zugriffspunkt auf die Kubernetes-Steuerungsebene dient.
Authentifizierung beim Supervisor-Cluster
Als DevOps-Ingenieur verwenden Sie das Kubernetes-CLI-Tools für vSphere, um sich mit Ihren vCenter Single Sign-On-Anmeldedaten und der IP-Adresse der Kubernetes-Steuerungsebene beim Supervisor-Cluster zu authentifizieren. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
Wenn Sie sich beim Supervisor-Cluster anmelden, leitet ein Authentifizierungs-Proxy die Anforderung an vCenter Single Sign-On weiter. Das vSphere kubectl-Plug-In richtet eine Sitzung mit vCenter Server ein und erhält ein Authentifizierungstoken von vCenter Single Sign-On. Es ruft auch eine Liste der Namespaces ab, auf die Sie Zugriff haben, und füllt die Konfiguration mit diesen Namespaces auf. Die Liste der Namespaces wird bei der nächsten Anmeldung aktualisiert, wenn Änderungen an den Berechtigungen Ihres Benutzerkontos vorgenommen wurden.
Hinweis Die Sitzung mit kubectl dauert 10 Stunden. Nach Ablauf der Sitzung müssen Sie sich erneut beim Supervisor-Cluster authentifizieren. Bei der Abmeldung wird das Token aus der Konfigurationsdatei Ihres Benutzerkontos gelöscht. Es bleibt aber bis zum Ende der Sitzung gültig.
Authentifizierung bei Tanzu Kubernetes-Clustern
Tanzu Kubernetes-Clusterbenutzer, einschließlich DevOps-Ingenieuren, Entwicklern und Administratoren, können sich auf verschiedene Arten bei einem Cluster authentifizieren. Weitere Informationen finden Sie unter Authentifizieren bei Tanzu Kubernetes-Clustern.
Hinweis Tanzu Kubernetes-Cluster erfordern, dass Benutzer- und Systemkonten über eine Pod-Sicherheitsrichtlinie zum Bereitstellen von Pods und Ressourcen für einen Cluster verfügen. Weitere Informationen finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
Authentifizieren bei Tanzu Kubernetes-Clustern
Sie können sich abhängig von Ihrer Rolle und dem von Ihnen verfolgten Zweck auf verschiedene Arten bei der Tanzu Kubernetes-Clusterumgebung authentifizieren.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 54
DevOps-Ingenieure stellen Tanzu Kubernetes-Cluster bereit und sorgen für die Aufrechterhaltung ihres Betriebs. Entwickler stellen Arbeitslasten für Tanzu Kubernetes-Cluster bereit. Administratoren müssen möglicherweise Fehler von Tanzu Kubernetes-Clustern beheben. vSphere with Kubernetes bietet Authentifizierungsmethoden zur Unterstützung jeder Rolle bzw. des verfolgten Ziels.
n DevOps-Ingenieure stellen eine Verbindung mit dem Supervisor-Cluster her, um Tanzu Kubernetes-Cluster bereitzustellen und zu aktualisieren. Die Authentifizierung erfolgt mithilfe des vSphere-Plug-In für kubectl und der vCenter Single Sign-On-Anmeldedaten. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
n Clusteradministratoren stellen eine Verbindung mit einem bereitgestellten Tanzu Kubernetes-Cluster her, um diesen zu betreiben und zu verwalten.
n Ein Benutzer mit der Berechtigung Bearbeiten auf dem Supervisor-Namespace, auf dem der Cluster bereitgestellt wird, wird der Rolle cluster-admin zugewiesen. Clusteradministratoren authentifizieren sich mithilfe des vSphere-Plug-In für kubectl und ihrer vCenter Single Sign-On-Anmeldedaten. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
n Alternativ können Clusteradministratoren als kubernetes-admin-Benutzer eine Verbindung mit einem Tanzu Kubernetes-Cluster herstellen. Diese Methode kann empfehlenswert sein, wenn die vCenter Single Sign-On-Authentifizierung nicht verfügbar ist. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit der Tanzu Kubernetes-Steuerungsebene als Kubernetes-Administrator.
n Clusterbenutzer oder Entwickler stellen eine Verbindung mit einem Tanzu Kubernetes-Cluster her, um Arbeitslasten bereitzustellen, einschließlich Pods, Diensten, Lastausgleichsdiensten und anderen Ressourcen.
n Ein Clusteradministrator gewährt Entwicklern Clusterzugriff, indem er den Benutzer oder die Gruppe an die standardmäßige oder benutzerdefinierte Pod-Sicherheitsrichtlinie bindet. Weitere Informationen finden Sie unter Gewähren des Entwicklerzugriffs auf Tanzu Kubernetes-Cluster.
n Gebundene Entwickler authentifizieren sich bei den Tanzu Kubernetes-Clustern mithilfe des vSphere-Plug-In für kubectl und ihrer vCenter Single Sign-On-Anmeldedaten. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
n Zu Fehlerbehebungszwecken können Systemadministratoren mithilfe einer der folgenden Methoden als vmware-system-user eine Verbindung mit einem Tanzu Kubernetes-Cluster herstellen:
n Mit SSH und einem privaten Schlüssel: Weitere Informationen hierzu finden Sie unter Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 55
n Mit SSH und einem Kennwort: Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Clusterknoten als Systembenutzer mithilfe eines Kennworts.
n Mithilfe des vSphere Clients und durch Zugriff auf die Konsole der virtuellen Maschine: Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Clusterknoten als Systembenutzer mithilfe eines Kennworts.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 56
Konfigurieren eines Supervisor-Cluster 4Als vSphere-Administrator aktivieren Sie vSphere-Cluster für Kubernetes-Arbeitslasten, indem Sie sie als Supervisor-Cluster konfigurieren. Sie richten Speicher mithilfe von Speicherrichtlinien für die Aufnahme von Containerdaten und der Festplatten der Kubernetes-Steuerebenen-VMs ein. Sie können auch Netzwerke mit NSX-T konfigurieren, um vSphere Pods und Kubernetes-Clustern, die mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst erstellt wurden, Konnektivität bereitzustellen. Nach der Konfiguration von Speicherrichtlinien und Netzwerken konfigurieren Sie einen vSphere-Cluster als Supervisor-Cluster.
Dieses Kapitel enthält die folgenden Themen:
n vSphere with Kubernetes-Systemanforderungen und Topologien
n Erstellen von Speicherrichtlinien für vSphere with Kubernetes
n Konfigurieren von vSphere with Kubernetes für die Verwendung von NSX-T Data Center
n Best Practices für die Konfiguration von vSphere with Kubernetes
n Ändern der Speichereinstellungen im Supervisor-Cluster
n Ändern des Kubernetes-API-Endpoint-Zertifikats
vSphere with Kubernetes-Systemanforderungen und Topologien
Um vSphere with Kubernetes für einen vSphere-Cluster zu konfigurieren, muss Ihre Umgebung bestimmte Infrastruktur-, Netzwerk- und Speicheranforderungen erfüllen.
Konfigurationsgrenzwerte für vSphere with Kubernetes-Cluster
VMware stellt im Tool für die Maximalwerte für die VMware-Konfiguration Konfigurationsgrenzwerte bereit.
Wählen Sie für die für vSphere with Kubernetes spezifischen Konfigurationsgrenzwerte, einschließlich Supervisor-Clustern und Tanzu Kubernetes-Clustern, vSphere > vSphere 7.0 > vSphere with Kubernetes > VMware Tanzu Kubernetes Grid Service for vSphere aus und klicken Sie auf Grenzwerte anzeigen oder folgen Sie diesem Link.
VMware, Inc. 57
Topologie für einen Verwaltungs-, Edge- und Arbeitslastdomänen-Cluster
Sie können vSphere with Kubernetes mit kombinierten Verwaltungs-, Edge- und Arbeitslastverwaltungsfunktionen in einem einzelnen vSphere-Cluster bereitstellen.
Abbildung 4-1. Verwaltungs-, Edge- und Arbeitslastverwaltungscluster
Externes Netzwerk
ESXi
vCenter Server
NSX Manager
ESXi
Verwaltungs-, Edge- und Arbeitslast-verwaltungscluster (Supervisor-Cluster)
NSX-Edge-Cluster
vSphere Distributed
Switch
NSX-Edge-Knoten VM 1
Egress Ingress
NSX-Edge-Knoten VM 2
ESXi
Kubernetes-Steuerungs- ebenen-VM 1
Namespace 1
Namespace 2 – Tanzu Kubernetes-Cluster
Knoten der Steuerungsebene
Pod 1
Worker-Knoten 1
Pod 2
Worker-Knoten 2
vSphere-Pod 1
vSphere-Pod 2
Kubernetes-Steuerungs- ebenen-VM 2
Kubernetes-Steuerungs- ebenen-VM 2
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 58
Tabelle 4-1. Mindestberechnungsanforderungen für Verwaltungs-, Edge- und Arbeitslastverwaltungscluster
SystemMindestbereitstellungsgröße CPU Arbeitsspeicher Speicher
vCenter Server 7.0 Klein 2 16 GB 290 GB
ESXi-Hosts 7.0 3 ESXi-Hosts mit 1 statischer IP-Adresse pro Host.
4 ESXi-Hosts für vSAN mit mindestens 2 physischen Netzwerkkarten.
Die Hosts müssen in einem Cluster mit aktiviertem vSphere DRS und HA verbunden sein. vSphere DRS muss sich im vollautomatischen oder teilweise automatisierten Modus befinden.
8 64 GB pro Host Nicht anwendbar
NSX Manager Mittel 6 24 GB 300 GB
NSX Edge 1 Groß 8 32 GB 200 GB
NSX Edge 2 Groß 8 32 GB 200 GB
Kubernetes-Steuerungsebenen-VMs
3 4 16 GB 16 GB
Topologie mit separatem Verwaltungs- und Edge-Cluster und Arbeitslastverwaltungscluster
Sie können vSphere with Kubernetes in zwei Clustern bereitstellen: einem Cluster für die Verwaltungs- und Edge-Funktionen und einem weiteren für die Arbeitslastverwaltung.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 59
Abbildung 4-2. Verwaltungs- und Edge- und Arbeitslastverwaltungscluster
Externes Netzwerk
ESXi
vCenter Server
NSX Manager
ESXi
Verwaltungs- und Edge-Cluster
NSX-Edge-Cluster
vSphere Distributed Switch
NSX-Edge-Knoten VM 1
Egress Ingress
NSX-Edge-Knoten VM 2
ESXi ESXi
Kubernetes-Steuerungs- ebenen-VM 1
Namespace 1
ESXi
Arbeitslastverwaltungscluster (Supervisor-Cluster)
Namespace 2 – Tanzu Kubernetes-Cluster
Knoten der Steuerungsebene
Pod 1
Worker-Knoten 1
Pod 2
Worker-Knoten 2
ESXi
vSphere-Pod 1
vSphere-Pod 2
Kubernetes-Steuerungs- ebenen-VM 2
Kubernetes-Steuerungs- ebenen-VM 2
Tabelle 4-2. Mindestberechnungsanforderungen für den Verwaltungs- und Edge-Cluster
SystemMindestbereitstellungsgröße CPU Arbeitsspeicher Speicher
vCenter Server 7.0 Klein 2 16 GB 290 GB
ESXi-Hosts 7.0 2 ESXi-Hosts 8 64 GB pro Host Nicht anwendbar
NSX Manager Mittel 6 24 GB 300 GB
NSX Edge 1 Groß 8 32 GB 200 GB
NSX Edge 2 Groß 8 32 GB 200 GB
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 60
Tabelle 4-3. Mindestberechnungsanforderungen für den Arbeitslastverwaltungscluster
SystemMindestbereitstellungsgröße CPU Arbeitsspeicher Speicher
vCenter Server 7.0 Klein 2 16 GB 290 GB
ESXi-Hosts 7.0 3 ESXi-Hosts mit 1 statischer IP-Adresse pro Host.
4 ESXi-Hosts für vSAN mit mindestens 2 physischen Netzwerkkarten
Die Hosts müssen in einem Cluster mit aktiviertem vSphere DRS und HA verbunden sein. vSphere DRS muss im vollautomatisierten Modus ausgeführt werden.
8 64 GB pro Host Nicht anwendbar
Kubernetes-Steuerungsebenen-VMs
3 4 16 GB 16 GB
Netzwerkanforderungen
Unabhängig von der Topologie, die Sie für die Kubernetes-Arbeitslastverwaltung in vSphere implementieren, muss Ihre Bereitstellung die folgenden Netzwerkanforderungen erfüllen:
Komponente Mindestanzahl Erforderliche Konfiguration
Statische IPs für Kubernetes Control Plane-VMs
Block mit 5 Ein Block mit 5 aufeinanderfolgenden statischen IP-Adressen, die den Kubernetes-Steuerungsebenen-VMs im Supervisor-Cluster zugewiesen werden.
Verwaltungsdatenverkehr-Netzwerk 1 Ein Verwaltungsnetzwerk, das zu den ESXi-Hosts, vCenter Server und einem DHCP-Server geroutet werden kann. Das Netzwerk muss in der Lage sein, auf eine Container-Registrierung zuzugreifen, und benötigt eine Internetverbindung, wenn sich die Container-Registrierung im externen Netzwerk befindet. Die Container-Registrierung muss über DNS aufgelöst werden können, und die unten beschriebene Egress-Einstellung muss sie erreichen können.
NTP- und DNS-Server 1 Ein DNS-Server und ein NTP-Server, die für den vCenter Server verwendet werden können.
Hinweis Konfigurieren Sie NTP auf allen ESXi-Hosts, vCenter Server-Systemen und NSX Manager-Instanzen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 61
Komponente Mindestanzahl Erforderliche Konfiguration
Image-Registrierung Zugriff auf eine Registrierung für den Dienst.
Verwaltungsnetzwerk-Subnetz 1 Das Subnetz, das für den Verwaltungsdatenverkehr zwischen ESXi-Hosts und vCenter Server, NSX-Appliances und der Kubernetes-Steuerungsebene verwendet wird. Das Subnetz muss folgende Größe haben:
n 1 IP-Adresse pro VMkernel-Adapter eines Hosts.
n 1 IP-Adresse für die vCenter Server-Appliance.
n 1 oder 4 IP-Adressen für NSX Manager. 4 IP-Adressen bei NSX Manager-Clustering von 3 Knoten und 1 virtuellen IP (VIP).
n 5 IP-Adressen für die Kubernetes-Steuerungsebene. 1 für jeden der 3 Knoten, 1 für virtuelle IP, 1 für fortlaufendes Cluster-Upgrade.
Verwaltungsnetzwerk-VLAN 1 VLAN-ID des Verwaltungsnetzwerk-Subnetzes.
VLANs 3 Diese VLAN-IPs sind die IP-Adressen für die Tunnel-Endpoints (TEP). Die TEPs des ESXi-Hosts und die Edge-TEPs müssen routingfähig sein.
VLAN-IP-Adressen sind für Folgendes erforderlich:
n ESXi-Host-VTEP
n Edge-VTEP mit statischer IP-Adresse
n Tier-0-Gateway und Uplink für Transportknoten.
ESXi-Hosts und NSX-T-Edge-Knoten fungieren als Tunnel-Endpoints, und jedem Host sowie jedem Edge-Knoten wird eine TEP-IP zugewiesen.
Da die TEP-IPs für ESXi-Hosts einen Overlay-Tunnel mit TEP-IPs auf den Edge-Knoten erstellen, müssen die VLAN-IPs routingfähig sein.
Ein zusätzliches VLAN ist erforderlich, um Nord-Süd-Konnektivität zum Tier-0-Gateway zu bieten.
IP-Pools können über Cluster hinweg gemeinsam genutzt werden. Der Host-Overlay-IP-Pool/VLAN darf jedoch nicht mit einem Edge-Overlay-IP-Pool/VLAN gemeinsam genutzt werden.
Hinweis Wenn Host-TEP und Edge-TEP verschiedene physische Netzwerkkarten verwenden, können sie dasselbe VLAN verwenden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 62
Komponente Mindestanzahl Erforderliche Konfiguration
Tier-0-Uplink-IP /24 private IP-Adressen
Das IP-Subnetz, das für den Tier-0-Uplink verwendet wird. Für die IP-Adresse des Tier-0-Uplinks gelten folgende Anforderungen:
n 1 IP, wenn Sie keine Edge-Redundanz verwenden.
n 4 IPs, wenn Sie BGP und Edge-Redundanz verwenden – 2 IP-Adressen pro Edge.
n 3 IPs, wenn Sie statische Routen und Edge-Redundanz verwenden.
Die IP, das Subnetz und das Gateway für die Edge-Verwaltung und die IP, das Subnetz und das Gateway für Uplink müssen eindeutig sein.
Physische Netzwerk-MTU 1600 Die MTU-Größe muss für jedes Netzwerk, das Overlay-Datenverkehr überträgt, mindestens 1600 betragen.
CIDR-Bereich für vSphere Pods /24 private IP-Adressen
Ein privater CIDR-Bereich, der die IP-Adressen für vSphere Pods bereitstellt. Diese Adressen werden auch für die Tanzu Kubernetes-Clusterknoten verwendet.
Sie müssen einen eindeutigen vSphere Pod-CIDR-Bereich für jeden Cluster angeben.
Hinweis Der CIDR-Bereich für vSphere Pods und der CIDR-Bereich für die Kubernetes-Dienstadressen dürfen sich nicht überlappen.
CIDR-Bereich für Kubernetes-Dienste /16 private IP-Adressen
Ein privater CIDR-Bereich für die Zuweisung von IP-Adressen zu Kubernetes-Diensten. Sie müssen für jeden Supervisor-Cluster einen eindeutigen CIDR-Bereich für Kubernetes-Dienste angeben.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 63
Komponente Mindestanzahl Erforderliche Konfiguration
Egress-CIDR-Bereich /27 statische IP-Adressen
Eine CIDR-Anmerkung zur Ermittlung der Egress-IP für Kubernetes-Dienste. Für jeden Namespace im Supervisor-Cluster wird nur eine Egress-IP-Adresse zugewiesen. Die Egress-IP ist die Adresse, die externe Entitäten für die Kommunikation mit den Diensten im Namespace verwenden. Die Anzahl der Egress-IP-Adressen beschränkt die Anzahl der Egress-Richtlinien, die der Supervisor-Cluster haben kann.
Die Mindestanzahl ist ein CIDR von/27 oder mehr. Beispielsweise 10.174.4.96/27
Hinweis Egress-IP-Adressen und Ingress-IP-Adressen dürfen sich nicht überlappen.
Ingress-CIDR /27 statische IP-Adressen
Ein privater CIDR-Bereich, der für Ingress-IP-Adressen verwendet wird. Mit Ingress können Sie Datenverkehrsrichtlinien auf Anforderungen anwenden, die in den Supervisor-Cluster von externen Netzwerken eingehen. Die Anzahl der Ingress-IP-Adressen beschränkt die Anzahl der Ingresses, die der Cluster haben kann.
Die Mindestanzahl ist ein CIDR von/27 oder mehr.
Hinweis Egress-IP-Adressen und Ingress-IP-Adressen dürfen sich nicht überlappen.
Erstellen von Speicherrichtlinien für vSphere with Kubernetes
Erstellen Sie vor dem Aktivieren von vSphere with Kubernetes Speicherrichtlinien, die im Supervisor-Cluster und den Namespaces verwendet werden sollen. Die Richtlinien stellen Datenspeicher dar, die in der vSphere-Umgebung verfügbar sind. Sie steuern die Speicherplatzierung von Objekten wie VMs der Steuerungsebene, flüchtigen Pod-Festplatten, Container-Images und dauerhaften Speicher-Volumes. Falls Sie den VMware Tanzu™ Kubernetes Grid™-Dienst verwenden, bestimmen die Speicherrichtlinien auch, wie die Tanzu Kubernetes-Clusterknoten bereitgestellt werden.
Je nach vSphere-Speicherumgebung und den Anforderungen von DevOps können Sie mehrere Speicherrichtlinien erstellen, um verschiedene Speicherklassen darzustellen. Wenn Ihre vSphere-Speicherumgebung beispielsweise über drei Klassen von Datenspeichern (Bronze, Silber und Gold) verfügt, können Sie Speicherrichtlinien für alle Datenspeicher erstellen. Sie können den Bronze-Datenspeicher dann für flüchtige virtuelle Festplatten und virtuelle Festplatten mit Container-Images und die Silber- und Gold-Datenspeicher für virtuelle Festplatten mit dauerhaften Volumes verwenden. Weitere Informationen zu Speicherrichtlinien finden Sie im Kapitel Speicherrichtlinienbasierte Verwaltung in der Dokumentation zu vSphere-Speicher.
Im folgenden Beispiel wird die Speicherrichtlinie für den als „Gold“ gekennzeichneten Datenspeicher erstellt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 64
Voraussetzungen
n Stellen Sie sicher, dass der Datenspeicher, auf den in der Speicherrichtlinie verwiesen wird, von allen ESXi-Hosts im Cluster gemeinsam genutzt wird.
n Erforderliche Rechte: VM-Speicherrichtlinien. Aktualisieren und VM-Speicherrichtlinien. Anzeigen.
Verfahren
1 Fügen Sie Tags zum Datenspeicher hinzu.
a Klicken Sie mit der rechten Maustaste auf den zu kennzeichnenden Datenspeicher und wählen Sie Tags und benutzerdefinierte Attribute > Tag zuweisen aus.
b Klicken Sie auf Tag hinzufügen und geben Sie die Eigenschaften des Tags an.
Eigenschaft Beschreibung
Name Geben Sie den Namen des Datenspeicher-Tags an, wie z. B. Gold.
Beschreibung Fügen Sie die Beschreibung des Tags hinzu. Beispielsweise Datenspeicher für Kubernetes-Objekte.
Kategorie Wählen Sie eine vorhandene Kategorie aus oder erstellen Sie eine neue Kategorie. Beispielsweise Speicher für Kubernetes.
2 Öffnen Sie im vSphere Client den Assistenten VM-Speicherrichtlinie erstellen.
a Klicken Sie auf Menü > Richtlinien und Profile.
b Klicken Sie unter Richtlinien und Profile auf VM-Speicherrichtlinien.
c Klicken Sie auf VM-Speicherrichtlinie erstellen.
3 Geben Sie den Richtliniennamen und eine Beschreibung ein.
Option Aktion
vCenter Server Wählen Sie die vCenter Server-Instanz aus.
Name Geben Sie den Namen der Speicherrichtlinie ein, z. B. Gold-Speicherrichtlinie.
Beschreibung Geben Sie die Beschreibung der Speicherrichtlinie ein.
4 Aktivieren Sie auf der Seite Richtlinienstruktur unter Datenspeicherspezifische Regeln Tag-
basierte Platzierungsregeln.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 65
5 Erstellen Sie auf der Seite Tag-basierte Platzierung die Tag-Regeln.
Wählen Sie die Optionen mithilfe des folgenden Beispiels aus.
Option Beschreibung
Tag-Kategorie Wählen Sie im Dropdown-Menü die Kategorie des Tags aus, wie z. B. Speicher für Kubernetes.
Nutzungsoption Wählen Sie Speicher verwenden, die mit folgenden Tags versehen sind aus.
Tags Klicken Sie auf Tags durchsuchen und wählen Sie das Datenspeicher-Tag aus, wie z. B. Gold.
6 Überprüfen Sie auf der Seite Speicherkompatibilität die Liste der Datenspeicher, die mit
dieser Richtlinie übereinstimmen.
In diesem Beispiel wird nur der Datenspeicher angezeigt, der als „Gold“ markiert ist.
7 Überprüfen Sie auf der Seite Überprüfen und beenden die Einstellungen der Speicherrichtlinie und klicken Sie auf Beenden.
Ergebnisse
Die neue Speicherrichtlinie für den als „Gold“ gekennzeichneten Datenspeicher wird in der Liste der vorhandenen Speicherrichtlinien angezeigt.
Nächste Schritte
Nach dem Erstellen von Speicherrichtlinien kann ein vSphere-Administrator die folgenden Aufgaben durchführen:
n Weisen Sie dem Supervisor-Cluster die Speicherrichtlinien zu. Mit den im Supervisor-Cluster konfigurierten Speicherrichtlinien wird sichergestellt, dass die VMs der Steuerungsebene, die flüchtigen Pod-Festplatten und die Container-Images auf den Datenspeichern platziert werden, die von den Richtlinien dargestellt werden. Weitere Informationen hierzu finden Sie unter Aktivieren von vSphere with Kubernetes in einem Cluster mit NSX-T Data Center.
n Weisen Sie dem Supervisor-Namespace die Speicherrichtlinien zu. Mit den für den Namespace sichtbaren Speicherrichtlinien wird festgelegt, auf welche Datenspeicher der Namespace zugreifen und welche Datenspeicher er für dauerhafte Volumes verwenden kann. Die Speicherrichtlinien werden als übereinstimmende Kubernetes-Speicherklassen im Namespace angezeigt. Sie werden auch an den Tanzu Kubernetes-Cluster in diesem Namespace weitergegeben. DevOps-Ingenieure können die Speicherklassen in ihren Anspruchsspezifikationen für dauerhafte Volumes verwenden. Weitere Informationen hierzu finden Sie unter Erstellen und Konfigurieren eines Supervisor-Namespace.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 66
Konfigurieren von vSphere with Kubernetes für die Verwendung von NSX-T Data Center
vSphere with Kubernetes erfordert eine bestimmte Netzwerkkonfiguration, um Konnektivität mit den Supervisor-Clustern, Supervisor-Namespaces und allen Objekten zu ermöglichen, die in den Namespaces ausgeführt werden, z. B. vSphere Pods und Tanzu Kubernetes-Cluster. Als vSphere-Administrator installieren und konfigurieren Sie NSX-T Data Center für vSphere with Kubernetes.
Der Supervisor-Cluster verwendet eine Opinionated-Netzwerkkonfiguration, d. h. eine Konfiguration, bei der ein bestimmter Ansatz als besser geeignet eingestuft und entsprechend priorisiert wird. Zum Konfigurieren des Supervisor-Cluster-Netzwerks gibt es zwei Methoden, die zur Bereitstellung desselben Netzwerkmodells führen:
n Die einfachste Möglichkeit zur Konfiguration des Supervisor-Cluster-Netzwerks besteht darin, VMware Cloud Foundation SDDC Manager zu verwenden. Weitere Informationen finden Sie in der Dokumentation zu VMware Cloud Foundation SDDC Manager. Weitere Informationen finden Sie unter Arbeiten mit Arbeitslastverwaltung.
n Sie können das Supervisor-Cluster-Netzwerk auch manuell konfigurieren, indem Sie eine vorhandene NSX-T Data Center-Bereitstellung verwenden oder eine neue NSX-T Data Center-Instanz bereitstellen.
In diesem Abschnitt wird beschrieben, wie das Supervisor-Cluster-Netzwerk durch Bereitstellen einer neuen NSX-T Data Center-Instanz konfiguriert wird. Die Verfahren gelten jedoch auch für eine vorhandene NSX-T Data Center-Bereitstellung. Darüber hinaus finden Sie in diesem Abschnitt auch Hintergrundinformationen zu den Schritten, die VMware Cloud Foundation SDDC Manager beim Einrichten der Supervisor-Cluster-Arbeitslastdomäne ausführt.
Voraussetzungen
n Stellen Sie sicher, dass Ihre Umgebung die Systemanforderungen für die Konfiguration eines vSphere-Clusters als Supervisor-Cluster erfüllt. Informationen zu den Anforderungen finden Sie unter vSphere with Kubernetes-Systemanforderungen und Topologien.
n Weisen Sie allen ESXi-Hosts, die als Teil eines Supervisor-Clusters verwendet werden, eine VMware vSphere 7 Enterprise Plus-Lizenz mit dem Add-On für Kubernetes zu.
n Erstellen Sie Speicherrichtlinien für die Platzierung von Steuerungsebenen-VMs, flüchtigen Pod-Festplatten und Container-Images.
n Konfigurieren Sie freigegebenen Speicher für den Cluster. Der gemeinsam genutzte Speicher ist für vSphere DRS, HA und die Speicherung persistenter Container-Volumes erforderlich.
n Stellen Sie sicher, dass DRS und HA auf dem vSphere-Cluster aktiviert ist und DRS sich im vollautomatisierten Modus befindet.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 67
n Stellen Sie sicher, dass Sie über die Berechtigung Clusterweite Konfiguration ändern auf dem Cluster verfügen.
Verfahren
1 Einen vSphere Distributed Switch erstellen
Damit die Netzwerkkonfiguration für alle Hosts im Supervisor-Cluster verarbeitet wird, erstellen Sie einen vSphere Distributed Switch und für jeden Uplink des NSX Edge-Knotens eine verteilte Portgruppe.
2 Bereitstellen und Konfigurieren von NSX Manager
Mithilfe von vSphere Client können Sie NSX Manager im vSphere-Cluster bereitstellen und gemeinsam mit vSphere with Kubernetes verwenden.
3 Hinzufügen einer Lizenz
Fügen Sie eine Lizenz mithilfe von NSX Manager hinzu.
4 Hinzufügen eines Compute Managers
Ein Compute Manager ist eine Anwendung, die Ressourcen wie Hosts und virtuelle Maschinen verwaltet.
5 Erstellen von Transportzonen
Transportzonen geben an, welche Hosts und VMs ein bestimmtes Netzwerk verwenden können. Eine Transportzone kann sich über einen oder mehrere Host-Cluster erstrecken.
6 Erstellen eines Host-Uplink-Profils
Ein-Host-Uplink-Profil definiert Richtlinien für die Uplinks von den ESXi-Hosts zu NSX-T Data Center-Segmenten.
7 Erstellen eines Edge-Uplink-Profils
Ein Uplink-Profil definiert Richtlinien für die Uplinks. Zu den vom Uplink-Profil definierten Einstellungen können Teaming-Richtlinien, aktive und Standby-Links, die Transport-VLAN-ID und die MTU-Einstellung gehören.
8 Erstellen eines IP-Pools für die IP-Adressen von Hosttunnel-Endpoints
Sie können einen IP-Pool für die Hosttunnel-Endpoints (TEPs) verwenden. TEPs sind die Quell- und Ziel-IP-Adressen, die in der externen IP-Kopfzeile verwendet werden, um die ESXi-Hosts zu identifizieren, bei denen die NSX-T-Kapselung von Frame-Overlays beginnt und endet. Sie können DHCP oder manuell konfigurierte IP-Pools für TEP-IP-Adressen verwenden.
9 Erstellen eines Transportknotenprofils
Ein Transportknotenprofil definiert, wie NSX-T Data Center auf den Hosts in einem bestimmten Cluster, an den das Profil angehängt ist, installiert und konfiguriert ist.
10 Anwenden eines Transportknotenprofils auf vSphere-Cluster
Um NSX-T Data Center zu installieren und die Overlay-TEPs vorzubereiten, wenden Sie das Transportknotenprofil auf den vSphere-Cluster an.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 68
11 Konfigurieren und Bereitstellen eines NSX Edge-Transportknotens
Sie können der NSX-T Data Center-Fabric eine NSX Edge-VM hinzufügen und sie dann als NSX Edge-Transportknoten-VM konfigurieren.
12 Erstellen eines NSX Edge-Clusters
Um sicherzustellen, dass immer mindestens eine NSX Edge-Instanz verfügbar ist, erstellen Sie einen NSX Edge-Cluster.
13 Erstellen eines Tier-0-Uplink-Segments
Das Tier-0-Uplink-Segment bietet die Nord-Süd-Konnektivität von NSX-T Data Center zur physischen Infrastruktur.
14 Erstellen eines Tier-0-Gateways
Das Tier-0-Gateway ist der logische NSX-T Data Center-Router, der der physischen Infrastruktur die Nord-Süd-Konnektivität für das logische NSX-T Data Center-Netzwerk bereitstellt. vSphere with Kubernetes unterstützt mehrere Tier-0-Gateways auf mehreren NSX Edge-Clustern in derselben Transportzone.
15 Aktivieren von vSphere with Kubernetes in einem Cluster mit NSX-T Data Center
Um Kubernetes-Arbeitslasten in einem vSphere-Cluster auszuführen, müssen Sie den Cluster mit vSphere with Kubernetes aktivieren. Nach der Aktivierung erstellt vSphere with Kubernetes Kubernetes-Steuerungsebenenknoten im Cluster und den Spherelet-Prozess auf jedem Host, wodurch die Verwendung von Containern nativ auf ESXi ermöglicht wird. Ein mit vSphere with Kubernetes aktivierter Cluster wird als Supervisor-Cluster bezeichnet.
Einen vSphere Distributed Switch erstellen
Damit die Netzwerkkonfiguration für alle Hosts im Supervisor-Cluster verarbeitet wird, erstellen Sie einen vSphere Distributed Switch und für jeden Uplink des NSX Edge-Knotens eine verteilte Portgruppe.
Verfahren
1 Navigieren Sie im vSphere Client zu einem Datencenter.
2 Klicken Sie mit der rechten Maustaste auf das Datencenter im Navigator und wählen Sie Distributed Switch > Neuer Distributed Switch aus.
3 Geben Sie einen Namen für den neuen Distributed Switch ein.
Beispiel: VSK_VDS.
4 Geben Sie die erforderlichen Konfigurationsinformationen ein und klicken Sie auf Fertigstellen.
5 Klicken Sie mit der rechten Maustaste auf den von Ihnen erstellten Distributed Switch und wählen Sie Einstellungen > Einstellungen bearbeiten aus.
6 Geben Sie auf der Registerkarte Erweitert 1600 als MTU-Wert (Byte) ein und klicken Sie auf OK.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 69
7 Klicken Sie mit der rechten Maustaste auf den Distributed Switch und wählen Sie Verteilte Portgruppe > Neue verteilte Portgruppe aus.
8 Erstellen Sie eine Portgruppe für den NSX Edge-Uplink.
Beispiel: VSK_EDGE_LEFT_UPLINK.
9 Konfigurieren Sie VLAN-Typ als „VLAN-Trunking“.
10 Wählen Sie im Menü Aktionen die Option Verteilte Portgruppe > Verteilte Portgruppen verwalten aus.
11 Wählen Sie Teaming und Failover aus, und klicken Sie auf Weiter.
12 Konfigurieren Sie aktive und Standby-Uplinks.
Der aktive Uplink ist beispielsweise Uplink1, der Standby-Uplink Uplink2.
13 Wiederholen Sie die Schritte 7 bis 11 für jeden NSX Edge-Uplink.
Erstellen Sie beispielsweise einen zweiten NSX Edge-Uplink mit dem Namen VSK_EDGE_RIGHT_UPLINK. Konfigurieren Sie den aktiven Uplink als Uplink2 und den Standby-Uplink als Uplink1.
14 (Optional) Erstellen Sie Portgruppen für die folgenden Komponenten:
n Verwaltung
n vSphere vMotion
n Freigegebenen Speicher
n VM-Datenverkehr
Nächste Schritte
Stellen Sie NSX Manager bereit und führen Sie die Konfiguration durch. Weitere Informationen hierzu finden Sie unter Bereitstellen und Konfigurieren von NSX Manager.
Bereitstellen und Konfigurieren von NSX Manager
Mithilfe von vSphere Client können Sie NSX Manager im vSphere-Cluster bereitstellen und gemeinsam mit vSphere with Kubernetes verwenden.
Um NSX Manager über die OVA-Datei bereitzustellen, führen Sie die in diesem Verfahren angegebenen Schritte aus.
Informationen zum Bereitstellen von NSX Manager über die Benutzeroberfläche oder CLI finden Sie im Installationshandbuch für NSX-T Data Center.
Voraussetzungen
n Vergewissern Sie sich, dass Ihre Umgebung die Netzwerkanforderungen erfüllt. Weitere Informationen hierzu finden Sie unter vSphere with Kubernetes-Systemanforderungen und Topologien.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 70
n Vergewissern Sie sich, dass die erforderlichen Ports geöffnet sind. Weitere Informationen zu Ports und Protokollen finden Sie im Installationshandbuch für NSX-T Data Center.
Verfahren
1 Suchen Sie die OVA-Datei von NSX-T Data Center im VMware-Download-Portal.
Kopieren Sie entweder die Download-URL oder laden Sie die OVA-Datei herunter.
2 Klicken Sie mit der rechten Maustaste und wählen Sie OVF-Vorlage bereitstellen aus, um den Installationsassistenten zu starten.
3 Geben Sie die Download-URL der OVA-Datei ein oder navigieren Sie zur OVA-Datei.
4 Geben Sie einen Namen für die NSX Manager-VM ein.
5 Wählen Sie den vSphere-Cluster aus, in dem NSX Manager bereitgestellt werden soll.
6 Wählen Sie die Größe der NSX-T-Bereitstellung aus.
Die empfohlene Mindestbereitstellungsgröße ist „Mittel“.
7 Wählen Sie den freigegebenen Speicher für die Bereitstellung aus.
8 Aktivieren Sie Thin Provisioning. Dazu aktivieren Sie das Kontrollkästchen Thin-Festplattenmodus aktivieren.
Die virtuellen Festplatten werden standardmäßig per Thick Provisioning bereitgestellt.
9 Wählen Sie die Portgruppe oder das Zielnetzwerk für NSX Manager aus.
10 Geben Sie die System-Root-, CLI-Administrator- und Überwachungskennwörter für NSX Manager ein. Ihre Kennwörter müssen den Einschränkungen für die Kennwortsicherheit entsprechen.
n Mindestens 12 Zeichen.
n Mindestens ein Kleinbuchstabe.
n Mindestens ein Großbuchstabe.
n Mindestens eine Ziffer.
n Mindestens ein Sonderzeichen.
n Mindestens fünf verschiedene Zeichen.
n Standardmäßig werden die Komplexitätsregeln des Kennworts durch das Linux PAM-Modul erzwungen.
11 Geben Sie den NSX Manager-Hostnamen ein.
12 Übernehmen Sie die Standardrolle NSX Manager für die VM.
13 Geben Sie für das IPv4-Gateway, die IPv4-Adresse des Verwaltungsnetzwerks, die Netzmaske des Verwaltungsnetzwerks, den DNS-Server, die Domänensuchliste und die NTP-IP-Adresse jeweils die Standardwerte ein.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 71
14 Aktivieren Sie SSH und lassen Sie die Root-SSH-Anmeldung bei der NSX Manager-Befehlszeile zu.
Die SSH-Optionen sind aus Sicherheitsgründen standardmäßig deaktiviert.
15 Stellen Sie sicher, dass Ihre benutzerdefinierte OVF-Vorlagenspezifikation korrekt ist, und klicken Sie auf Beenden, um die Installation zu initiieren.
16 Melden Sie sich nach dem Start von NSX Manager als Administrator bei der CLI an und führen Sie den Befehl get interface eth0 aus, um zu überprüfen, ob die IP-Adresse erwartungsgemäß angewendet wurde.
17 Geben Sie den Befehl get services ein, um zu überprüfen, ob alle Dienste ausgeführt werden.
Hinzufügen einer Lizenz
Fügen Sie eine Lizenz mithilfe von NSX Manager hinzu.
Voraussetzungen
Rufen Sie eine Advanced- oder höhere NSX-T Data Center-Lizenz ab.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Lizenzen > Hinzufügen aus.
3 Geben Sie den Lizenzschlüssel ein.
4 Klicken Sie auf Hinzufügen.
Hinzufügen eines Compute Managers
Ein Compute Manager ist eine Anwendung, die Ressourcen wie Hosts und virtuelle Maschinen verwaltet.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Compute Manager > Hinzufügen aus.
3 Geben Sie die Details zum Compute Manager ein.
Option Beschreibung
Name und Beschreibung Geben Sie den Namen und die Beschreibung von vCenter Server ein.
FQDN oder IP-Adresse Geben Sie den FQDN oder die IP-Adresse von vCenter Server ein.
Benutzername und Kennwort Geben Sie die vCenter Server-Anmeldedaten ein.
4 Wählen Sie Vertrauensstellung aktivieren aus, damit vCenter Server mit NSX-T Data Center
kommunizieren kann.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 72
5 Klicken Sie auf Hinzufügen.
Ergebnisse
Nach einiger Zeit wird der Compute Manager bei vCenter Server registriert, und der Verbindungsstatus wechselt zu Aktiv. Wenn sich der FQDN/die PNID von vCenter Server ändert, müssen Sie sie beim NSX Manager erneut registrieren. Weitere Informationen finden Sie unter vCenter Server bei NSX Manager erneut registrieren.
Hinweis Nachdem vCenter Server erfolgreich registriert wurde, müssen Sie zuerst den Compute Manager löschen, bevor Sie die NSX Manager-VM ausschalten und löschen. Andernfalls können Sie beim Bereitstellen einer neuen NSX Manager-Instanz dieselbe vCenter Server-Instanz nicht wieder registrieren. Sie erhalten eine Fehlermeldung, dass vCenter Server bereits bei einer anderen NSX Manager-Instanz registriert ist.
Sie können auf den Namen des Compute Managers klicken, um die Details anzuzeigen, den Compute Manager zu bearbeiten oder Tags zu verwalten, die auf den Compute Manager angewendet wurden.
Erstellen von Transportzonen
Transportzonen geben an, welche Hosts und VMs ein bestimmtes Netzwerk verwenden können. Eine Transportzone kann sich über einen oder mehrere Host-Cluster erstrecken.
Als vSphere-Administrator erstellen Sie die folgenden Transportzonen:
n Eine Overlay-Transportzone, die von den VMs der Supervisor-Cluster-Steuerungsebene verwendet wird.
n Eine VLAN-Transportzone für die NSX Edge-Knoten, die für Uplinks mit dem physischen Netzwerk verwendet werden sollen.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Transportzonen > Hinzufügen aus.
3 Geben Sie einen Namen für die Transportzone und optional eine Beschreibung ein.
4 Wählen Sie einen Datenverkehrstyp aus.
Sie können Overlay oder VLAN auswählen.
Erstellen Sie z. B. die folgenden Transportzonen:
n Eine VLAN-Transportzone mit dem Namen VSK_TZ_VLAN und dem Datenverkehrstyp VLAN
n Eine Overlay-Transportzone mit dem Namen VSK_TZ_Overlay und dem Datenverkehrstyp Overlay
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 73
5 (Optional) Geben Sie einen oder mehrere Namen für die Uplink-Teaming-Richtlinie ein.
Die an die Transportzonen angehängten Segmente verwenden diese benannten Teaming-Richtlinien. Wenn die Segmente keine übereinstimmende benannte Teaming-Richtlinie finden, wird die standardmäßige Uplink-Teaming-Richtlinie verwendet.
Ergebnisse
Die neue Transportzone wird auf der Seite Transportzonen angezeigt.
Erstellen eines Host-Uplink-Profils
Ein-Host-Uplink-Profil definiert Richtlinien für die Uplinks von den ESXi-Hosts zu NSX-T Data Center-Segmenten.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Profile > Uplink-Profile > Hinzufügen aus.
3 Geben Sie einen Namen und optional eine Beschreibung für das Uplink-Profil ein.
Beispiel: VSK_HOST_UPLINK_PROFILE.
4 Klicken Sie im Abschnitt Teaming auf Hinzufügen, um eine Teaming-Richtlinie für die Benennung hinzuzufügen, und konfigurieren Sie eine Richtlinie für die Lastausgleichsquelle.
Eine Liste der aktiven Uplinks wird angegeben, und jede Schnittstelle auf dem Transportknoten ist an einen aktiven Uplink gebunden. Bei dieser Konfiguration können mehrere aktive Uplinks gleichzeitig verwendet werden.
5 Konfigurieren Sie aktive und Standby-Uplinks.
Sie können z. B. Uplink1 als aktiven Uplink und Uplink2 als Standby-Uplink konfigurieren.
6 Geben Sie einen Wert für das Transport-VLAN ein.
Das in den Tags des Uplink-Profils festgelegte Transport-VLAN überlagert den Datenverkehr, und die VLAN-ID wird vom Tunnel-Endpoint (TEP) verwendet.
7 Geben Sie den MTU-Wert ein.
Der Standardwert für die MTU des Uplink-Profils ist 1600.
Hinweis Der Wert muss mindestens 1600 betragen, darf aber nicht höher sein als der MTU-Wert auf den physischen Switches und dem vSphere Distributed Switch.
Erstellen eines Edge-Uplink-Profils
Ein Uplink-Profil definiert Richtlinien für die Uplinks. Zu den vom Uplink-Profil definierten Einstellungen können Teaming-Richtlinien, aktive und Standby-Links, die Transport-VLAN-ID und die MTU-Einstellung gehören.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 74
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Profile > Uplink-Profile > Hinzufügen aus.
3 Geben Sie einen Uplink-Profilnamen ein und fügen Sie optional eine Beschreibung für das Uplink-Profil hinzu.
Beispiel: VSK_EDGE_UPLINK_PROFILE.
4 Klicken Sie im Abschnitt Teaming auf Hinzufügen, um eine Teaming-Richtlinie für die Benennung hinzuzufügen, und konfigurieren Sie eine Richtlinie für die Lastausgleichsquelle.
Eine Liste der aktiven Uplinks wird angezeigt, und jede Schnittstelle auf dem Transportknoten wird an einen aktiven Uplink gebunden. Bei dieser Konfiguration können mehrere aktive Uplinks gleichzeitig verwendet werden.
5 Konfigurieren Sie zwei aktive Uplinks.
Konfigurieren Sie z. B. Uplink1 und Uplink2 als aktive Uplinks.
6 Geben Sie einen Wert für das Transport-VLAN ein.
7 Geben Sie den MTU-Wert ein.
Der Standardwert für die MTU des Uplink-Profils ist 1600.
Hinweis Der Wert muss mindestens 1600 betragen, darf aber nicht höher sein als der MTU-Wert auf den physischen Switches und dem vSphere Distributed Switch.
8 Zeigen Sie die Uplinks auf der Seite Uplink-Profil an.
Erstellen eines IP-Pools für die IP-Adressen von Hosttunnel-Endpoints
Sie können einen IP-Pool für die Hosttunnel-Endpoints (TEPs) verwenden. TEPs sind die Quell- und Ziel-IP-Adressen, die in der externen IP-Kopfzeile verwendet werden, um die ESXi-Hosts zu identifizieren, bei denen die NSX-T-Kapselung von Frame-Overlays beginnt und endet. Sie können DHCP oder manuell konfigurierte IP-Pools für TEP-IP-Adressen verwenden.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie Netzwerk > IP-Adresspools > IP-Adresspool hinzufügen aus.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 75
3 Geben Sie die folgenden Details zum IP-Pool ein:
Option Beschreibung
Name und Beschreibung Geben Sie den IP-Poolnamen und eine optionale Beschreibung ein.
Beispiel: VSK_EDGE_TEP_POOL.
IP-Bereiche Geben Sie den IP-Zuteilungsbereich ein.
CIDR Geben Sie die Netzwerkadresse in einer CIDR-Notation ein.
4 Klicken Sie auf Hinzufügen und Übernehmen.
5 Stellen Sie sicher, dass der von Ihnen erstellte TEP-IP-Pool auf der Seite IP-Pool angezeigt wird.
Erstellen eines Transportknotenprofils
Ein Transportknotenprofil definiert, wie NSX-T Data Center auf den Hosts in einem bestimmten Cluster, an den das Profil angehängt ist, installiert und konfiguriert ist.
Voraussetzungen
Stellen Sie sicher, dass Sie eine Overlay-Transportzone erstellt haben.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Profile > Transportknotenprofile > Hinzufügen aus.
3 Geben Sie einen Namen für das Transportknotenprofil und optional eine Beschreibung ein.
Beispiel: VSK_TN_PROFILE.
4 Wählen Sie die verfügbaren Transportzonen aus und klicken Sie auf die Schaltfläche + Switch hinzufügen, um die Transportzonen in das Transportknotenprofil aufzunehmen.
5 Wählen Sie „VDS“ als Typ aus.
6 Wählen Sie „Modus“ als Standard aus.
7 Wählen Sie die vCenter Server- und vSphere Distributed Switch-Namen aus der Liste aus.
8 Wählen Sie die zuvor erstellte Overlay-Transportzone aus.
Beispiel: VSK_TZ_OVERLAY.
9 Wählen Sie das zuvor erstellte Host-Uplink-Profil aus.
Beispiel: VSK_HOST_UPLINK_PROFILE.
10 Wählen Sie aus der Liste IP-Zuweisung die Option IP-Pool verwenden aus.
11 Wählen Sie den zuvor erstellten Host-TEP-Pool aus.
Beispiel: VSK_EDGE_TEP_POOL.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 76
12 Wählen Sie die zuvor erstellten Uplinks aus.
Beispiele: Uplink1 und Uplink2.
13 Klicken Sie auf Hinzufügen.
Anwenden eines Transportknotenprofils auf vSphere-Cluster
Um NSX-T Data Center zu installieren und die Overlay-TEPs vorzubereiten, wenden Sie das Transportknotenprofil auf den vSphere-Cluster an.
Voraussetzungen
Stellen Sie sicher, dass Sie ein Transportknotenprofil erstellt haben.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Knoten > Host-Transportknoten aus.
3 Wählen Sie im Dropdown-Menü Verwaltet von eine vorhandene vCenter Server-Instanz aus.
Auf der Seite werden die verfügbaren vSphere-Cluster aufgelistet.
4 Wählen Sie den Cluster aus.
5 Klicken Sie auf NSX konfigurieren.
6 Wählen Sie das zuvor erstellte Transportknotenprofil aus und klicken Sie auf Übernehmen.
Beispiel: VSK_TN_PROFILE.
7 Stellen Sie auf der Seite Host-Transportknoten sicher, dass der Konfigurationszustand von NSX-T Data Center „Erfolgreich“ und der NSX Manager-Konnektivitätsstatus der Hosts im Cluster Aktiv ist.
Ergebnisse
Das zuvor erstellte Transportknotenprofil wird auf den vSphere-Cluster angewendet, um NSX-T Data Center zu installieren und die Overlay-TEPs vorzubereiten.
Konfigurieren und Bereitstellen eines NSX Edge-Transportknotens
Sie können der NSX-T Data Center-Fabric eine NSX Edge-VM hinzufügen und sie dann als NSX Edge-Transportknoten-VM konfigurieren.
Voraussetzungen
Stellen Sie sicher, dass Sie Transportzonen, das Edge-Uplink-Profile und den Edge-TEP-IP-Pool erstellt haben.
Verfahren
1 Melden Sie sich beim NSX Manager an.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 77
2 Wählen Sie System > Fabric > Knoten > Edge-Transportknoten > Edge-VM hinzufügen aus.
3 Geben Sie einen Namen für die NSX Edge-VM ein.
4 Geben Sie den Hostnamen oder den FQDN aus vCenter Server ein.
5 Wählen Sie den Formfaktor „Groß“ aus.
6 Geben Sie die CLI und die Root-Kennwörter für die NSX Edge-VM ein. Ihre Kennwörter müssen den Einschränkungen für die Kennwortsicherheit entsprechen.
n Mindestens 12 Zeichen.
n Mindestens ein Kleinbuchstabe.
n Mindestens ein Großbuchstabe.
n Mindestens eine Ziffer.
n Mindestens ein Sonderzeichen.
n Mindestens fünf verschiedene Zeichen.
n Standardmäßig werden die Komplexitätsregeln des Kennworts durch das Linux PAM-Modul erzwungen.
7 Geben Sie die NSX Edge-Details ein.
Option Beschreibung
Compute Manager Wählen Sie im Dropdown-Menü den Compute Manager aus.
Cluster Wählen Sie im Dropdown-Menü den Cluster aus.
Datenspeicher Wählen Sie den gemeinsam genutzten Datenspeicher aus der Liste aus.
8 Konfigurieren Sie die Knoteneinstellungen.
Option Beschreibung
IP-Zuweisung Wählen Sie „Statisch“ aus.
Geben Sie Werte für folgende Elemente ein:
n Verwaltungs-IP: Geben Sie die IP-Adresse im selben VLAN ein, in dem sich das vCenter Server-Verwaltungsnetzwerk befindet.
n Standard-Gateway: Das Standard-Gateway des Verwaltungsnetzwerks.
Verwaltungsschnittstelle Wählen Sie im Dropdown-Menü die vSphere Distributed Switch-Portgruppe im selben VLAN aus, in dem sich das Verwaltungsnetzwerk befindet.
9 Geben Sie den Domänennamen, die IP-Adresse des DNS-Servers und die IP-Adressen des
NTP-Servers ein.
10 Verwenden Sie für Edge-Switchname den Standardnamen.
11 Wählen Sie die Transportzonen aus, zu denen der Transportknoten gehört.
Wählen Sie die beiden zuvor erstellten Transportzonen aus.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 78
Beispiele: VSK_TZ_OVERLAY und VSK_TZ_VLAN.
12 Wählen Sie das zuvor erstellte Edge-Uplink-Profil aus.
Beispiel: VSK_EDGE_UPLINK_PROFILE.
13 Wählen Sie unter IP-Zuweisung die Option IP-Pool verwenden aus.
14 Wählen Sie den zuvor erstellten Edge-TEP-IP-Pool aus.
Beispiel: VSK_EDGE_TEP_POOL.
15 Ordnen Sie im Abschnitt Switch-Zuordnung für Teaming-Richtlinien alle Uplinks den zuvor erstellten Edge-Uplink-Profilen zu.
Wählen Sie z. B. VSK_EDGE_LEFT_UPLINK für Uplink1 und VSK_EDGE_RIGHT_UPLINK für Uplink2 aus.
16 Klicken Sie auf Beenden.
17 Wiederholen Sie die Schritte 10 bis 16 für eine zweite NSX Edge-VM.
Sie können beide NSX Edge-VMs gleichzeitig bereitstellen.
18 Sehen Sie sich auf der Seite Edge-Transportknoten den Verbindungsstatus an.
Erstellen eines NSX Edge-Clusters
Um sicherzustellen, dass immer mindestens eine NSX Edge-Instanz verfügbar ist, erstellen Sie einen NSX Edge-Cluster.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie System > Fabric > Knoten > Edge-Cluster > Hinzufügen aus.
3 Geben Sie den NSX Edge-Clusternamen ein.
Beispiel: VSK_EC.
4 Wählen Sie im Dropdown-Menü ein NSX Edge-Clusterprofil aus.
Wählen Sie nsx-default-edge-high-availability-profile aus.
5 Wählen Sie im Dropdown-Menü Mitgliedstyp die NSX Edge-Knoten aus.
6 Wählen Sie in der Spalte Verfügbar die zuvor erstellten NSX Edge-VMs aus und klicken Sie auf den Pfeil nach rechts, um sie in die Spalte Ausgewählt zu verschieben.
7 Klicken Sie auf Speichern.
Erstellen eines Tier-0-Uplink-Segments
Das Tier-0-Uplink-Segment bietet die Nord-Süd-Konnektivität von NSX-T Data Center zur physischen Infrastruktur.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 79
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie Netzwerk > Segmente > Segment hinzufügen aus.
3 Geben Sie einen Namen für das Segment ein.
Beispiel: VSK_UL_SEG.
4 Wählen Sie für Konnektivität die Option „Isoliert“ aus.
5 Wählen Sie die zuvor erstellte Transportzone aus.
Wählen Sie z. B. VSK_TZ_VLAN aus.
6 Schalten Sie die Option Administrativer Status um, um sie zu aktivieren.
7 Geben Sie eine VLAN-ID ein.
8 Klicken Sie auf Speichern.
Erstellen eines Tier-0-Gateways
Das Tier-0-Gateway ist der logische NSX-T Data Center-Router, der der physischen Infrastruktur die Nord-Süd-Konnektivität für das logische NSX-T Data Center-Netzwerk bereitstellt. vSphere with Kubernetes unterstützt mehrere Tier-0-Gateways auf mehreren NSX Edge-Clustern in derselben Transportzone.
Voraussetzungen
Stellen Sie sicher, dass Sie einen NSX Edge-Cluster erstellt haben.
Verfahren
1 Melden Sie sich beim NSX Manager an.
2 Wählen Sie Netzwerk > Tier-0 Gateways aus.
3 Klicken Sie auf Tier-0-Gateway hinzufügen.
4 Geben Sie einen Namen für das Tier-0-Gateway ein.
Beispiel: VSK_T0.
5 Wählen Sie einen Aktiv-Standby-HA-Modus aus.
Im Aktiv-Standby-Modus verarbeitet das gewählte aktive Mitglied den gesamten Datenverkehr. Wenn das aktive Mitglied ausfällt, wird ein neues Mitglied als aktives Mitglied ausgewählt.
6 Wählen Sie den zuvor erstellten NSX Edge-Cluster aus.
Wählen Sie z. B. VSK_EC aus.
7 Klicken Sie auf Speichern.
8 Um mit der Konfiguration von fortzufahren, wählen Sie Ja aus.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 80
9 Konfigurieren Sie Schnittstellen.
a Klicken Sie auf Schnittstellen und Satz.
b Klicken Sie auf Schnittstelle hinzufügen.
c Geben Sie einen Namen ein.
Geben Sie z. B. den Namen VSK_T0_UL1 ein.
d Wählen Sie für Typ die Option Extern aus.
e Geben Sie eine IP-Adresse aus dem Uplink-VLAN des logischen Edge-Routers ein. Die IP-Adresse darf nicht mit der Verwaltungs-IP-Adresse identisch sein, die für die zuvor erstellten NSX Edge-VMs konfiguriert wurde.
f Wählen Sie einen NSX Edge-Knoten aus der Liste aus.
g Klicken Sie auf Speichern.
h Wiederholen Sie die Schritte a bis f für die anderen NSX Edge-Knoten-VMs.
i Klicken Sie auf Schließen.
10 Um Routing oder BGP zu konfigurieren, klicken Sie auf Routing.
a Klicken Sie unter „Statische Routen“ auf Festlegen.
b Geben Sie einen Namen ein.
c Geben Sie eine Netzwerk-IP-Adresse ein.
d Um die nächsten Hops zu konfigurieren, klicken Sie auf Nächste Hops festlegen und Nächsten Hop hinzufügen.
e Geben Sie die IP-Adresse des Routers für den nächsten Hop ein. In der Regel handelt es sich hierbei um das Standard-Gateway des VLAN des Verwaltungsnetzwerks aus dem Uplink-VLAN des logischen Routers in NSX Edge.
f Klicken Sie auf Übernehmen und Speichern.
11 Klicken Sie auf Schließen.
12 Stellen Sie zum Überprüfen der Konnektivität sicher, dass ein externes Gerät in der physischen Architektur die von Ihnen konfigurierten Schnittstellen pingen kann.
Aktivieren von vSphere with Kubernetes in einem Cluster mit NSX-T Data Center
Um Kubernetes-Arbeitslasten in einem vSphere-Cluster auszuführen, müssen Sie den Cluster mit vSphere with Kubernetes aktivieren. Nach der Aktivierung erstellt vSphere with Kubernetes Kubernetes-Steuerungsebenenknoten im Cluster und den Spherelet-Prozess auf jedem Host, wodurch die Verwendung von Containern nativ auf ESXi ermöglicht wird. Ein mit vSphere with Kubernetes aktivierter Cluster wird als Supervisor-Cluster bezeichnet.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 81
Verfahren
1 Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastverwaltung aus.
2 Wählen Sie die vCenter Server-Instanz aus, die Sie konfigurieren möchten.
3 Wählen Sie Aktivieren aus.
4 Wählen Sie Cluster auswählen > Datencenter aus.
5 Wählen Sie aus der Liste der kompatiblen Cluster den gewünschten Cluster aus und klicken Sie auf Weiter.
6 Wählen Sie unter Clustereinstellungen die Dimensionierung für die VMs der Steuerungsebene aus.
Die Größe der Cluster Plane-VMs bestimmt die Anzahl der vSphere Pods, die Sie im Cluster ausführen können.
Weitere Informationen finden Sie auf der Website zu den Maximalwerten für die VMware-Konfiguration.
7 Klicken Sie auf Weiter.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 82
8 Konfigurieren Sie unter Netzwerkeinstellungen die Netzwerkeinstellungen für die Steuerungsebene und die Worker-Knoten.
a Konfigurieren Sie im Bereich Verwaltungsnetzwerk die folgenden Einstellungen für den Verwaltungsdatenverkehr:
Option Bezeichnung
Netzwerk Wählen Sie ein Netzwerk aus, für das ein VMkernel-Adapter für den Verwaltungsdatenverkehr konfiguriert ist.
IP der Start-Steuerungsebene Geben Sie eine IP-Adresse ein, die den Startpunkt für die Reservierung von aufeinanderfolgenden IP-Adressen für die Kubernetes-Steuerungsebenen-VMs wie folgt festlegt:
n Eine IP-Adresse für jede der Kubernetes-Steuerungsebenen-VMs.
n Eine Floating-IP-Adresse für eine der Kubernetes-Steuerungsebenen-VMs als Schnittstelle zum Verwaltungsnetzwerk. Die Control Plane-VM mit der zugewiesenen Floating-IP-Adresse fungiert als führende VM für alle drei Kubernetes Control Plane-VMs.
n Eine IP-Adresse, die als Puffer dienen soll, falls eine Kubernetes-Steuerungsebenen-VM ausfällt und eine neue Steuerungsebenen-VM als Ersatz bereitgestellt wird.
Subnetzmaske Geben Sie die Subnetzmaske für das Verwaltungsnetzwerk ein.
DNS-Server Geben Sie die Adressen der DNS-Server ein, die Sie in Ihrer Umgebung verwenden. Wenn das vCenter Server-System mit einem FQDN registriert ist, müssen Sie die IP-Adressen der DNS-Server eingeben, die Sie mit der vSphere-Umgebung verwenden, damit der FQDN im Supervisor-Cluster aufgelöst werden kann.
NTP-Server Geben Sie die Adressen der NTP-Server ein, die Sie in Ihrer Umgebung verwenden (sofern vorhanden).
DNS-Suchdomänen Geben Sie Domänennamen ein, die von DNS innerhalb der Kubernetes Control Plane-Knoten durchsucht werden, z. B. corp.local, damit der DNS-Server sie auflösen kann.
b Konfigurieren Sie im Bereich Arbeitslastennetzwerk die Einstellungen für die Netzwerke
für Namespaces.
Die Namespace-Netzwerkeinstellungen bieten Konnektivität zu vSphere Pods und Namespaces, die im Supervisor-Cluster werden.
Option Bezeichnung
vSphere Distributed Switch Wählen Sie den vSphere Distributed Switch aus, der das Overlay-Netzwerk für den Supervisor-Cluster verarbeitet.
Beispiel: VKS_VDS.
Edge-Cluster Wählen Sie den NSX Edge-Cluster mit dem Tier-0-Gateway aus, das Sie für das Namespace-Netzwerk verwenden möchten.
Wählen Sie z. B. VSK_EC aus.
FQDN des API-Server-Endpoints Geben Sie optional den FQDN des API-Server-Endpoints ein.
DNS-Server Geben Sie, sofern vorhanden, die IP-Adressen der DNS-Server ein, die Sie in Ihrer Umgebung verwenden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 83
Option Bezeichnung
NTP-Server Geben Sie die IP-Adresse des NTP-Servers ein.
Pod-CIDRs Geben Sie eine CIDR-Anmerkung ein, um den IP-Bereich für vSphere Native Pods zu ermitteln. Sie können den Standardwert verwenden.
Dienste-CIDRs Geben Sie eine CIDR-Anmerkung ein, um den IP-Bereich für Kubernetes-Dienste zu ermitteln. Sie können den Standardwert verwenden.
Ingress-CIDRs Geben Sie eine CIDR-Anmerkung zur Ermittlung des Ingress-IP-Bereichs für die Kubernetes-Dienste ein. Dieser Bereich wird für Dienste vom Typ „Load Balancer“ und „Ingress“ verwendet.
Egress-CIDRs Geben Sie eine CIDR-Anmerkung zur Ermittlung der Egress-IP für Kubernetes-Dienste ein. Für jeden Namespace im Supervisor-Cluster wird nur eine Egress-IP-Adresse zugewiesen. Bei der Egress-IP handelt es sich um die IP-Adresse, die die vSphere Pods im jeweiligen Namespace verwenden, um außerhalb von NSX-T Data Center zu kommunizieren.
9 Konfigurieren Sie in den Speichereinstellungen den Speicher für den Supervisor-Cluster.
Mit der Speicherrichtlinie, die Sie für jedes der folgenden Objekte auswählen, wird sichergestellt, dass das Objekt in dem Datenspeicher platziert wird, auf den in der Speicherrichtlinie verwiesen wird. Sie können dieselben oder unterschiedliche Speicherrichtlinien für die Objekte verwenden.
Option Bezeichnung
Steuerungsebenenknoten Wählen Sie die Speicherrichtlinie für die Platzierung der Control Plane-VMs aus.
Flüchtige Pod-Festplatten Wählen Sie die Speicherrichtlinie für die Platzierung der vSphere Pods aus.
Container-Image-Cache Wählen Sie die Speicherrichtlinie für die Platzierung des Caches von Container-Images aus.
10 Überprüfen Sie im Abschnitt Bereit zum Abschließen die Einstellungen und klicken Sie auf
Beenden.
Der Cluster ist mit vSphere with Kubernetes aktiviert, und Sie können Supervisor-Namespaces erstellen, um sie DevOps-Ingenieuren zur Verfügung zu stellen. Es werden Kubernetes-Steuerungsebenenknoten auf den Hosts erstellt, die Teil des Clusters und des Spherelet-Prozesses sind.
Nächste Schritte
Erstellen und konfigurieren Sie einen Supervisor-Namespace im Supervisor-Cluster. Siehe Erstellen und Konfigurieren eines Supervisor-Namespace.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 84
Best Practices für die Konfiguration von vSphere with Kubernetes
Berücksichtigen Sie diese Best Practices, wenn Sie vSphere with Kubernetes auf einem vSphere-Cluster konfigurieren.
n Verwenden Sie vSAN-Datenspeicher für die NSX Edges.
n Wenn Sie einen vSAN-Datenspeicher verwenden, stellen Sie sicher, dass die vSAN-Umgebung für die Arbeitslasten ordnungsgemäß dimensioniert ist. Das vSAN-Setup erfordert mehr Arbeitsspeicher, da der Kernel-Arbeitsspeicher für vSAN verwendet wird. Dadurch wird der für die NSX Edge-VMs verfügbare Arbeitsspeicher reduziert. Verwenden Sie den vSAN-Rechner für die entsprechende Größenanpassung. Weitere Informationen zur vSAN-Dimensionierung finden Sie in den folgenden Ressourcen:
n https://blogs.vmware.com/virtualblocks/2015/11/11/vsan-design-sizing-memory-overhead-considerations/
n https://www.vmbaggum.nl/2017/11/vsan-memory-consumption-calculator/
n https://communities.vmware.com/thread/572229
n Wenn Sie NFS-Datenspeicher verwenden, stellen Sie sicher, dass er für alle Hosts im Cluster freigegeben ist. Erstellen Sie einen eindeutigen NFS-Datenspeicher für jeden NSX Edge-Knoten.
n Konfigurieren Sie einen dedizierten Ressourcenpool für jeden NSX Edge-Cluster. Verwenden Sie den Ressourcenpool nicht für andere VMs.
n Wenn Sie ESXi-Host-Overlay konfigurieren, verwenden Sie VLANs im Bereich 1-4094.
n Wenn Sie Edge-Overlay konfigurieren, verwenden Sie VLANs im Bereich 1-4094.
Ändern der Speichereinstellungen im Supervisor-Cluster
Durch Speicherrichtlinien, die dem Supervisor-Cluster zugewiesen sind, wird verwaltet, wie Objekte wie eine Steuerungsebenen-VM, vSphere Pod und der Cache des Container-Image in Datenspeichern in der vSphere-Speicherumgebung platziert werden. Als vSphere-Administrator konfigurieren Sie die Speicherrichtlinien in der Regel, wenn Sie den Supervisor-Cluster aktivieren. Falls Sie nach der Erstkonfiguration des Supervisor-Clusters Änderungen an den Zuweisungen der Speicherrichtlinien vornehmen müssen, führen Sie diese Aufgabe aus.
Die Änderungen, die Sie an den Speichereinstellungen vornehmen, gelten nur für neue Objekte.
Verfahren
1 Navigieren Sie in vSphere Client zu dem Host-Cluster, für den vSphere with Kubernetes aktiviert ist.
2 Klicken Sie auf die Registerkarte Konfigurieren und anschließend unter Namespaces auf Speicher.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 85
3 Ändern Sie die Zuweisungen der Speicherrichtlinien für die folgenden Elemente:
Option Bezeichnung
Knoten der Steuerungsebene Wählen Sie die Speicherrichtlinie für die Platzierung der Steuerungsebenen-VMs aus.
Flüchtige Pod-Festplatten Wählen Sie die Speicherrichtlinie für die Platzierung der vSphere Pods aus.
Container-Image-Cache Wählen Sie die Speicherrichtlinie für die Platzierung des Caches von Container-Images aus.
Ändern des Kubernetes-API-Endpoint-Zertifikats
Als vSphere-Administrator können Sie das Kubernetes-API-Endpoint-Zertifikat ändern. Das Zertifikat authentifiziert die Kubernetes-Steuerungsebene für DevOps-Techniker, sowohl während der Anmeldung als auch bei nachfolgenden Interaktionen mit dem Supervisor-Cluster.
Voraussetzungen
Überprüfen Sie, ob Sie Zugriff auf eine Zertifizierungsstelle haben, die CSRs signieren kann. Für DevOps-Techniker muss die Zertifizierungsstelle auf ihrem System als vertrauenswürdiger Root installiert sein.
Verfahren
1 Navigieren Sie in vSphere Client zum Supervisor-Cluster.
2 Klicken Sie auf Konfigurieren und wählen Sie dann unter Namespaces die Option Zertifikate.
3 Wählen Sie im Bereich Arbeitslastplattform MTG die Option Aktionen > CSR generieren aus.
4 Geben Sie die Details für das Zertifikat an.
5 Nachdem das CSR generiert wurde, klicken Sie auf Kopieren.
6 Signieren Sie das Zertifikat mit einer Zertifizierungsstelle.
7 Wählen Sie im Bereich Arbeitslastplattform MTG die Option Aktionen > Zertifikat ersetzen aus.
8 Laden Sie die signierte Zertifikatsdatei hoch und klicken Sie auf Zertifikat ersetzen.
9 Validieren Sie das Zertifikat hinsichtlich der IP-Adresse der Kubernetes-Steuerungsebene.
Sie können beispielsweise die Downloadseite Kubernetes-CLI-Tools für vSphere öffnen und durch Nutzung des Browsers bestätigen, dass das Zertifikat erfolgreich durch die ersetzt wurde. Sie können auch echo | openssl s_client -connect https://ip:6443 verwenden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 86
Arbeiten mit Namespaces in einem Supervisor-Cluster 5Als vSphere-Administrator können Sie Namespaces in einem Supervisor-Cluster erstellen und mit Ressourcenkontingenten und Speicher konfigurieren sowie Berechtigungen für DevOps-Ingenieure festlegen. Nach der Konfiguration eines Namespace können Sie diesen DevOps-Ingenieuren zur Verfügung stellen, die vSphere Pods und Kubernetes-Cluster ausführen, die mithilfe des VMware Tanzu™ Kubernetes Grid™-Dienst erstellt wurden.
Dieses Kapitel enthält die folgenden Themen:
n Erstellen und Konfigurieren eines Supervisor-Namespace
n Konfigurieren von Einschränkungen für Kubernetes-Objekte in einem Namespace
n Festlegen von standardmäßigen Arbeitsspeicher- und CPU-Reservierungen und Grenzwerten für Container
n Verwenden der Registrierungsdienst für die Bereitstellung einer privaten Image-Registrierung
n Ändern der Speichereinstellungen in einem Namespace
Erstellen und Konfigurieren eines Supervisor-Namespace
Als vSphere-Administrator erstellen Sie einen Supervisor-Namespace im Supervisor-Cluster. Sie legen Ressourcengrenzwerte für den Namespace und die Berechtigungen fest, damit DevOps-Ingenieure darauf zugreifen können. Sie stellen DevOps-Ingenieuren die URL der Kubernetes-Steuerungsebene bereit, auf der Kubernetes-Arbeitslasten in den Namespaces ausführt werden können, für die die Ingenieure Berechtigungen aufweisen.
Voraussetzungen
n Konfigurieren Sie einen Cluster mit vSphere with Kubernetes.
n Erstellen Sie Benutzer oder Gruppen für alle DevOps-Ingenieure, die auf den Namespace zugreifen.
n Erstellen Sie Speicherrichtlinien für dauerhaften Speicher, die vSphere Pods und Pods in einem Tanzu Kubernetes-Cluster verwenden. Speicherrichtlinien definieren möglicherweise verschiedene Speichertypen und -klassen wie „Gold“, „Silber“ und „Bronze“.
n Stellen Sie sicher, dass Sie die Berechtigung privilege.Namespaces.Manage.label im Supervisor-Cluster besitzen.
VMware, Inc. 87
Verfahren
1 Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastplattform aus.
2 Klicken Sie auf Namespaces und klicken Sie auf Namespace erstellen.
3 Wählen Sie den Supervisor-Cluster aus, in dem Sie den Namespace platzieren möchten.
4 Geben Sie einen Namen und eine Beschreibung ein und klicken Sie auf Erstellen.
Der Namespace wird im Supervisor-Cluster erstellt.
5 Legen Sie Berechtigungen fest, damit DevOps-Ingenieure auf den Namespace zugreifen können.
a Wählen Sie im Bereich Berechtigungen die Option Berechtigungen hinzufügen.
b Wählen Sie eine Identitätsquelle, einen Benutzer oder eine Gruppe und eine Rolle aus und klicken Sie auf OK.
6 Legen Sie den dauerhaften Speicher auf den Namespace fest.
Speicherrichtlinien, die Sie dem Namespace zuweisen, steuern, wie dauerhafte Volumes und Tanzu Kubernetes-Clusterknoten innerhalb der vSphere-Speicherumgebung in Datenspeichern platziert werden. Die Beanspruchungen dauerhafter Volumes, die dauerhaften Volumes entsprechen, können aus einem vSphere Pod oder aus dem Tanzu Kubernetes-Cluster stammen.
a Wählen Sie im Bereich Speicher die Option Speicher hinzufügen aus.
b Wählen Sie eine Speicherrichtlinie aus, um die Datenspeicherplatzierung dauerhafter Volumes zu steuern, und klicken Sie auf OK.
Nach der Zuweisung der Speicherrichtlinie erstellt vSphere with Kubernetes im Supervisor-Namespace eine übereinstimmende Kubernetes-Speicherklasse. Bei Verwendung von VMware Tanzu™ Kubernetes Grid™-Dienst wird die Speicherklasse automatisch aus dem Namespace in das Kubernetes-Cluster repliziert. Wenn Sie dem Namespace mehrere Speicherrichtlinien zuweisen, wird für jede Speicherrichtlinie eine separate Speicherklasse erstellt.
7 Wählen Sie im Bereich „Kapazität und Nutzung“ Kontingente bearbeiten und konfigurieren Sie Ressourceneinschränkungen für den Namespace.
Option Bezeichnung
CPU Die Menge der CPU-Ressourcen, die für den Namespace reserviert werden soll.
Arbeitsspeicher Die Menge an Arbeitsspeicher, die für den Namespace reserviert werden soll.
Gesamtspeicher-Grenzwert Die Gesamtmenge an Speicherplatz, die für den Namespace reserviert werden soll.
Grenzwerte für Speicherrichtlinien Legen Sie die Speichermenge fest, die für jede Speicherrichtlinie reserviert ist, die Sie mit dem Namespace verknüpft haben.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 88
Ein Ressourcenpool für den Namespace wird in vCenter Server erstellt. Die Speicherbeschränkung bestimmt die Gesamtmenge des Speichers, die dem Namespace zur Verfügung steht, während Speicherrichtlinien die Platzierung dauerhafter Volumes für vSphere Pods in den zugeordneten Speicherklassen bestimmen.
Nächste Schritte
Teilen Sie die Kubernetes-Steuerungsebenen-URL mit DevOps-Ingenieuren und geben Sie den Benutzernamen an, den sie für die Anmeldung bei vCenter Server über kubectl verwenden können. Sie können einem DevOps-Ingenieur Zugriff auf mehr als einen Namespace gewähren.
Konfigurieren von Einschränkungen für Kubernetes-Objekte in einem Namespace
Sie können Einschränkungen für Container konfigurieren, die innerhalb des Namespaces ausgeführt werden, sowie Einschränkungen für verschiedene Kubernetes-Objekte. Die Einschränkungen, die Sie für ein Objekt konfigurieren, hängen von den Besonderheiten Ihrer Anwendungen und der Art und Weise ab, in der Sie Ressourcen innerhalb eines Namespaces verbrauchen möchten.
Voraussetzungen
n Stellen Sie sicher, dass Sie über die Berechtigung Namespace-Konfiguration ändern auf dem Supervisor-Cluster verfügen.
Verfahren
1 Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastplattform aus.
2 Wählen Sie einen Namespace aus und wählen Sie Konfigurieren und Objektgrenzwerte aus.
3 Konfigurieren Sie die Objektgrenzwerte für den Namespace.
Die Anzahl der von Ihnen festgelegten Pods wirkt sich auf die Anzahl der vSphere Pods aus, die Sie über Bereitstellungen, Aufträge, Replikatsätze, Replizierungs-Controller usw. bereitstellen können.
Festlegen von standardmäßigen Arbeitsspeicher- und CPU-Reservierungen und Grenzwerten für Container
Sie können die standardmäßigen Arbeitsspeicher- und CPU-Reservierungen und Grenzwerte für Container in einem Namespace über den vSphere Client festlegen. DevOps-Ingenieure können diese Werte später in den von ihnen definierten Pod-Spezifikationen außer Kraft setzen. Container-Anforderungen werden in Ressourcenreservierungen auf vSphere Pods übersetzt.
Voraussetzungen
n Stellen Sie sicher, dass Sie über die Berechtigung Namespace-Konfiguration ändern auf dem Supervisor-Cluster verfügen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 89
Verfahren
1 Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastplattform aus.
2 Wählen Sie einen Namespace aus, wählen Sie Konfigurieren aus und klicken Sie auf Ressourcengrenzwerte.
3 Konfigurieren Sie die standardmäßigen Arbeitsspeicher- und CPU-Reservierungen und Grenzwerte für die Container im Namespace.
Option Bezeichnung
CPU-Anforderung Legen Sie die standardmäßige CPU-Reservierung für Container im Namespace fest.
CPU-Grenzwert Legen Sie den Standardgrenzwert für die CPU-Auslastung für Container im Namespace fest.
Arbeitsspeicheranforderung Legen Sie die standardmäßige Arbeitsspeicherreservierung für Container im Namespace fest.
Arbeitsspeichergrenzwert Legen Sie den Standardgrenzwert für die Arbeitsspeichernutzung für Container im Namespace fest.
Verwenden der Registrierungsdienst für die Bereitstellung einer privaten Image-Registrierung
Sie können eine private Image-Registrierung auf einem Supervisor-Cluster über die Registrierungsdienst aktivieren. Ein Cluster kann über eine Instanz einer privaten Image-Registrierung verfügen. Alle Namespaces in einem Supervisor-Cluster werden als Projekte in der privaten Registrierung dargestellt.
Als vSphere-Administrator aktivieren Sie die private Image-Registrierung auf dem Supervisor-Cluster. Sie stellen die URL zur Benutzeroberfläche der privaten Image-Registrierung für DevOps-Ingenieure bereit, die eine sichere Anmeldung bei Docker vSphere Credential Helper und Docker vornehmen können, um Images an Projekte in der privaten Image-Registrierung weiterzugeben und von dort abzurufen. Sobald ein Image an ein Projekt in der privaten Image-Registrierung weitergegeben wurde, können DevOps-Ingenieure vSphere Pods bereitstellen.
Falls DevOps-Ingenieure berichten, dass zu viele Images für ein Projekt gespeichert werden, können Sie als vSphere-Administrator die Images für dieses Projekt in der privaten Image-Registrierung löschen. Durch das Bereinigen der Images aus einem Projekt werden alle Verweise auf diese Images gelöscht, aber sie werden nicht aus dem vSphere-Datenspeicher gelöscht. Jeden Samstag um 2 Uhr löscht der Garbage Collector-Dienst alle Images aus der gesamten privaten Image-Registrierung, die nicht von Anwendungen referenziert werden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 90
Aktivieren einer privaten Image-Registrierung über die Registrierungsdienst in einem Supervisor-Cluster
Als vSphere-Administrator können Sie eine private Image-Registrierung im Supervisor-Cluster über die Registrierungsdienst aktivieren. DevOps-Ingenieure können Images an die Registrierung weitergeben und daraus abrufen sowie mithilfe dieser Images vSphere Pods bereitstellen.
Voraussetzungen
n Erstellen Sie eine Speicherrichtlinie für die Platzierung von Container-Images.
Verfahren
1 Navigieren Sie in vSphere Client zu dem Cluster, in dem Sie die Image-Registrierung aktivieren möchten.
2 Wählen Sie Konfigurieren aus.
3 Wählen Sie unter Namespaces die Option Image-Registrierung aus.
4 Klicken Sie auf Harbor aktivieren.
5 Wählen Sie die Speicherrichtlinie für die Platzierung von Container-Images aus.
Ergebnisse
Nach einigen Minuten wird eine private Image-Registrierung aktiviert. Für diese Instanz der privaten Image-Registrierung wird ein spezieller Namespace erstellt. In diesem Namespace können Sie keine Vorgänge durchführen, da er für vSphere-Benutzer schreibgeschützt ist.
Für jeden Namespace im Supervisor-Cluster gibt es ein übereinstimmendes Projekt, dessen Name mit dem der privaten Image-Registrierung identisch ist. Jeder Benutzer bzw. jede Gruppe mit der Berechtigung zum Bearbeiten oder Anzeigen eines Namespace wird im übereinstimmenden Projekt mit demselben Namen in der privaten Image-Registrierung zu einem Mitglied mit der entsprechenden Rolle. Der Lebenszyklus von Projekten und Mitgliedern der privaten Image-Registrierung wird automatisch verwaltet und ist mit dem Lebenszyklus von Namespaces und Benutzer- oder Gruppenberechtigungen in Namespaces verknüpft.
Nächste Schritte
Stellen Sie den DevOps-Ingenieuren die URL der privaten Image-Registrierungsinstanz bereit.
Löschen von Images aus der privaten Image-Registrierung
Als vSphere Administrator können Sie die Images für ein Projekt in der privaten Image-Registrierung auf Anforderung von DevOps-Ingenieuren löschen. Beim Löschen von Images aus der privaten Image-Registrierung werden alle Verweise auf die von Pods erstellten Images gelöscht. Die Images selbst werden jedoch nicht aus der Image-Registrierung entfernt.
Verfahren
1 Navigieren Sie in vSphere Client zum Namespace.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 91
2 Wählen Sie Konfigurieren und dann Allgemein aus.
3 Klicken Sie neben Eingebettete Registrierung auf Löschen.
Ändern der Speichereinstellungen in einem Namespace
Speicherrichtlinien, die ein vSphere-Administrator einem Namespace in einem Supervisor-Cluster zuweist, steuern, wie persistente Volumes und Tanzu Kubernetes-Clusterknoten in vSphere-Datenspeichern platziert werden. Die Beanspruchungen von persistenten Volumes, die persistenten Volumes entsprechen, können aus einem vSphere Pod oder aus einem Tanzu Kubernetes-Cluster stammen. Sie können die ursprünglichen Zuweisungen der Speicherrichtlinien ändern.
Voraussetzungen
Bevor Sie eine Speicherrichtlinie aus vCenter Server oder einem Supervisor-Namespace löschen oder die Zuweisung der Speicherrichtlinie ändern, stellen Sie sicher, dass keine Beanspruchung eines dauerhaften Volumes mit der entsprechenden Speicherklasse im Namespace ausgeführt wird. Stellen Sie außerdem sicher, dass kein Tanzu Kubernetes-Cluster die Speicherklasse verwendet.
Verfahren
1 Navigieren Sie in vSphere Client zum Namespace.
a Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastplattform aus.
b Wählen Sie den Namespace aus.
2 Klicken Sie auf die Registerkarte Speicher und anschließend auf Speicherrichtlinien.
3 Klicken Sie auf das Symbol Bearbeiten, um die Zuweisungen der Speicherrichtlinien zu ändern.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 92
Arbeiten mit vSphere Pods 6Als DevOps-Ingenieur können Sie den Lebenszyklus von vSphere Pods innerhalb der Ressourcengrenzen eines auf einem Supervisor-Cluster ausgeführten Cluster bereitstellen und verwalten. Sie müssen über Schreibberechtigungen für einen Namespace verfügen, um vSphere Pod darauf bereitstellen zu können.
Dieses Kapitel enthält die folgenden Themen:
n Authentifizieren beim Supervisor-Cluster und Abrufen von Kontexten
n Anzeigen von Speicherklassen in einem Supervisor-Namespace- oder Tanzu Kubernetes-Cluster
n Bereitstellen einer Anwendung in einem Namespace
n Vertikales Hoch- und Herunterskalieren einer Anwendung
n Weitergeben von Images an einen Namespace in der Registrierungsdienst
n Bereitstellen einer Anwendung mithilfe eines Images aus Registrierungsdienst
n Bereitstellen einer statusbehafteten Anwendung
n Überwachen dauerhafter Volumes
Authentifizieren beim Supervisor-Cluster und Abrufen von Kontexten
Nachdem Sie vom vSphere-Administrator die IP-Adresse der Kubernetes-Steuerungsebene im Supervisor-Cluster erhalten haben, können Sie sich beim Supervisor-Cluster anmelden und die Kontexte abrufen, auf die Sie Zugriff haben. Kontexte entsprechen den Namespaces im Supervisor-Cluster.
Voraussetzungen
n Bitten Sie den vSphere-Administrator um die IP-Adresse für die Kubernetes-Steuerungsebene auf dem Supervisor-Cluster.
n Richten Sie Ihr Benutzerkonto in vCenter Single Sign-On ein.
n Stellen Sie mit Ihrem vSphere-Administrator sicher, dass Sie über die Berechtigungen für den Zugriff auf den von Ihnen benötigten Kontext verfügen.
VMware, Inc. 93
n Stellen Sie sicher, dass das Zertifikat, das von der Kubernetes-Steuerungsebene bereitgestellt wird, auf Ihrem System als vertrauenswürdig eingestuft wird, indem Sie entweder die signierende Zertifizierungsstelle als vertrauenswürdigen Root installieren oder das Zertifikat direkt als vertrauenswürdigen Root hinzufügen.
Verfahren
1 Öffnen Sie in einem Browserfenster die URL der Kubernetes Control Plane.
2 Vergewissern Sie sich, dass die SHA256-Prüfsumme von vsphere-plugin.zip mit der Prüfsumme aus der Datei sha256sum.txt übereinstimmt.
3 Laden Sie die Datei vsphere-plugin.zip auf Ihren Computer herunter und legen Sie sie im Suchpfad für die ausführbare Datei Ihres Betriebssystems fest.
4 Führen Sie in einem Eingabeaufforderungsfenster den folgenden Befehl aus, um sich bei vCenter Server anzumelden:
kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
5 Führen Sie folgenden kubectl-Befehl aus, um Details zu den Konfigurationskontexten anzuzeigen, auf die Sie zugreifen können:
kubectl config get-contexts
Die CLI zeigt die Details für jeden verfügbaren Kontext an.
6 Verwenden Sie den folgenden Befehl, um zwischen den Kontexten zu wechseln:
kubectl config use-context <example-context-name>
Ergebnisse
Die Anmelde-API auf der Kubernetes-Steuerungsebene wird aufgerufen. Ein Authentifizierungs-Proxy leitet eine Authentifizierungsanforderung an vCenter Single Sign-On weiter. vCenter Server gibt ein JSON-Webtoken zurück und fügt es der kubeconfig-Datei hinzu. Dieses Token wird mit jedem neuen kubectl-Befehl an die Kubernetes Control Plane gesendet, um den Benutzer zu authentifizieren.
Anzeigen von Speicherklassen in einem Supervisor-Namespace- oder Tanzu Kubernetes-Cluster
Nachdem ein vSphere-Administrator eine Speicherrichtlinie erstellt und dem Supervisor-Namespace zugewiesen hat, wird die Speicherrichtlinie als übereinstimmende Kubernetes-Speicherklasse im Namespace und in allen verfügbaren Tanzu Kubernetes-Clustern angezeigt. Als DevOps-Ingenieur können Sie sicherstellen, dass die Speicherklasse verfügbar ist.
Ob Sie Befehle ausführen können, hängt von Ihren Berechtigungen ab.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 94
Voraussetzungen
Stellen Sie sicher, dass Ihr vSphere-Administrator eine geeignete Speicherrichtlinie erstellt und dem Supervisor-Namespace die Richtlinie zugewiesen hat.
Verfahren
1 Verwenden Sie einen der folgenden Befehle, um zu überprüfen, ob die Speicherklassen verfügbar sind:
n kubectl get storageclass
Hinweis Dieser Befehl ist nur für einen Benutzer mit Administratorrechten verfügbar.
Sie erhalten eine Ausgabe ähnlich der Folgenden: Der Name der Speicherklasse stimmt mit dem Namen der Speicherrichtlinie in vSphere überein.
NAME PROVISIONER AGE
silver csi.vsphere.vmware.com 2d
gold csi.vsphere.vmware.com 1d
n kubectl describe namespace namespace_name
Der Name der Speicherklasse wird in der Ausgabe als Teil des Parameters storageclass_name.storageclass.storage.k8s.io/requests.storage angezeigt. Beispiel:
–––––––––––––––––
Name: namespace_name
Resource Used Hard
-------- --- ---
silver.storageclass.storage.k8s.io/requests.storage 1Gi 9223372036854775807
gold.storageclass.storage.k8s.io/requests.storage 0 9223372036854775807
2 Führen Sie den folgenden Befehl aus, um die auf dem Namespace verfügbare Menge an Speicherplatz zu überprüfen.
kubectl describe resourcequotas -namespace namespace
Sie erhalten eine Ausgabe ähnlich der Folgenden:
Name: ns-my-namespace
Namespace: ns-my-namespace
Resource Used Hard
-------- ---- ----
requests.storage 0 200Gi
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 95
Bereitstellen einer Anwendung in einem Namespace
Sie können eine Anwendung in einem Namespace in einem Supervisor-Cluster bereitstellen. Sobald die Anwendung bereitgestellt wurde, wird die entsprechende Anzahl von vSphere Pods im Supervisor-Cluster innerhalb des Namespace erstellt.
Sie können auch Anwendungen aus Images bereitstellen, die in der Harbor-Image-Registrierung gespeichert sind. Weitere Informationen hierzu finden Sie unter Bereitstellen einer Anwendung mithilfe eines Images aus Registrierungsdienst.
Voraussetzungen
n Bitten Sie den vSphere-Administrator um die IP-Adresse für die Kubernetes-Steuerungsebene auf dem Supervisor-Cluster.
n Richten Sie Ihr Benutzerkonto in vCenter Single Sign-On ein.
n Stellen Sie mit Ihrem vSphere-Administrator sicher, dass Sie über die Berechtigungen für den Zugriff auf den von Ihnen benötigten Kontext verfügen.
Verfahren
1 Authentifizieren Sie sich beim Supervisor-Cluster.
kubectl vsphere login --server <makster URL> --vsphere-username <vSphere user account name>
2 Wechseln Sie zu dem Kontext, in dem Sie die Anwendung bereitstellen möchten.
kubectl config use-context <namespace>
3 Stellen Sie die Anwendung bereit.
kubectl apply -f <application name>.yaml
Vertikales Hoch- und Herunterskalieren einer Anwendung
Sie können die Anzahl der Replikate für jede Anwendung, die in einem Supervisor-Cluster ausgeführt wird, vertikal hoch- und herunterskalieren.
Voraussetzungen
n Bitten Sie den vSphere-Administrator um die IP-Adresse für die Kubernetes-Steuerungsebene auf dem Supervisor-Cluster.
n Richten Sie Ihr Benutzerkonto in vCenter Single Sign-On ein.
n Stellen Sie mit Ihrem vSphere-Administrator sicher, dass Sie über die Berechtigungen für den Zugriff auf den von Ihnen benötigten Kontext verfügen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 96
Verfahren
1 Authentifizieren Sie sich beim Supervisor-Cluster.
kubectl vsphere login --server <control plane load balancer IP address> --vsphere-username
<vSphere user account name>
2 Skalieren Sie eine Anwendung vertikal hoch oder herunter.
kubectl get deployments
kubectl scale deployment <deployment-name> --replicas=<number-of-replicas>
Weitergeben von Images an einen Namespace in der Registrierungsdienst
Sie können Images von Docker an ein Projekt in Registrierungsdienst weitergeben. Projekte in der Registrierungsdienst entsprechen den Namespaces in einem Supervisor-Cluster auf vSphere with Kubernetes.
Voraussetzungen
n Vergewissern Sie sich, dass Registrierungsdienst für den Supervisor-Cluster aktiviert ist.
n Erhalten Sie die URL der Registrierungsdienst-Benutzeroberfläche von Ihrem vSphere-Administrator.
n Erhalten Sie Ihr Benutzerkonto, für das Sie über Schreibberechtigungen im Namespace verfügen, der dem Projekt in Registrierungsdienst entspricht, an das Sie Images weitergeben möchten.
n Bitten Sie den vSphere-Administrator um die IP-Adresse für die Kubernetes-Steuerungsebene auf dem Supervisor-Cluster.
n Laden Sie das vSphere Docker Credential Helper-Plug-In von der Seite der Kubernetes-Steuerungsebene herunter und konfigurieren Sie das Plug-In im Pfad der ausführbaren Datei Ihres Systems.
Verfahren
1 Melden Sie sich in einem Browser bei der Registrierungsdienst-Benutzeroberfläche über die Registrierungsdienst-URL an.
2 Klicken Sie auf Registrierungszertifikat, um das Zertifikat auf Ihrem Computer zu speichern.
3 Kopieren Sie das Zertifikat in das folgende Verzeichnis, je nach Ihrem Betriebssystem.
n Linux
/etc/docker/certs.d/<Container Registry IP>
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 97
n Mac OS
security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ca.crt
Sobald der Importvorgang abgeschlossen ist, starten Sie Docker neu.
4 Melden Sie sich bei Registrierungsdienst mit dem vSphere Docker Credential Helper an.
docker-credential-vsphere login <container-registry-IP>
5 Taggen Sie das Image, das Sie an das Projekt weitergeben möchten, in Registrierungsdienst mit demselben Namen wie der Namespace, in dem Sie es verwenden möchten:
docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
6 Um ein Image an ein Projekt in Harbor weiterzugeben, führen Sie den folgenden Befehl aus:
docker push <container-registry-IP>/<namespace-name>/<image_name>
Beispiel
Geben Sie das folgende Image an die Harbor-Image-Registrierung weiter:
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest
Nächste Schritte
Stellen Sie vSphere Pods mithilfe von Images aus der Harbor-Registrierung bereit.
Bereitstellen einer Anwendung mithilfe eines Images aus Registrierungsdienst
Sie können in Registrierungsdienst gespeicherte Images verwenden, um vSphere Pods in Namespaces im Supervisor-Cluster bereitzustellen.
Voraussetzungen
n Geben Sie Images an ein Projekt in Registrierungsdienst mit demselben Namen wie der Namespace weiter, in dem Sie Ihre Anwendung bereitstellen möchten. Weitere Informationen hierzu finden Sie unter Weitergeben von Images an einen Namespace in der Registrierungsdienst .
n Fügen Sie den Inhalt der Datei vsphere-plugin.zip dem Ausführungsdateipfad Ihrer Umgebung hinzu.
Verfahren
1 Erstellen Sie eine YAML-Datei, die die folgenden Parameter enthält:
...
namespace: <namespace-name>
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 98
...
spec:
...
image: <image registry URL>/<namespace name>/<image name>
2 Melden Sie sich beim Supervisor-Cluster an:
kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
3 Wechseln Sie zu dem Namespace, in dem Sie die Anwendung bereitstellen möchten.
kubectl config use-context <namespace>
4 Stellen Sie eine vSphere Pod aus dieser YAML-Datei bereit:
kubectl apply -f <yaml file name>.yaml
5 Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das Image aus der Registrierungsdienst abgerufen wird und die vSphere Pod den Status „ausgeführt“ aufweist:
kubectl describe pod/<yaml name>
Ergebnisse
Die YAML-Datei, die Sie erstellt haben, wird im angegebenen Namespace bereitgestellt, indem das Image aus dem Projekt in Registrierungsdienst verwendet wird, das nach dem Namespace benannt ist.
Beispiel:Erstellen Sie die folgende YAML-Datei im Namespace demoapp1 und stellen Sie sie bereit, indem Sie das busybox-Image aus dem demoapp1-Projekt in Registrierungsdienst verwenden:
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: demoapp1
spec:
containers:
- name: busybox
image: <harbor_IP>/demoapp1/busybox:latest
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 99
Bereitstellen einer statusbehafteten Anwendung
Statusbehaftete Anwendungen, wie z. B. Datenbanken, speichern Daten zwischen Sitzungen und benötigen dauerhaften Speicher zum Speichern der Daten. Die gespeicherten Daten werden als Anwendungsstatus bezeichnet. Sie können die Daten später abrufen und in der nächsten Sitzung verwenden. Kubernetes stellt dauerhafte Volumes als Objekte bereit, die ihren Status und ihre Daten beibehalten können.
In der vSphere-Umgebung werden die Objekte eines dauerhaften Volumes von virtuellen Festplatten gesichert, die sich in Datenspeichern befinden. Datenspeicher werden durch Speicherrichtlinien dargestellt. Nachdem der vSphere-Administrator eine Speicherrichtlinie (z. B. Gold) erstellt und dem Namespace in einem Supervisor-Cluster zugewiesen hat, wird die Speicherrichtlinie als übereinstimmende Kubernetes-Speicherklasse im Supervisor-Namespace und in allen verfügbaren Tanzu Kubernetes-Clustern angezeigt.
Als DevOps-Ingenieur können Sie die Speicherklasse in Ihren Anspruchsspezifikationen für dauerhafte Volumes verwenden. Anschließend können Sie eine Anwendung bereitstellen, die Speicher aus dem Anspruch für dauerhafte Volumes verwendet.
Voraussetzungen
Stellen Sie sicher, dass Ihr vSphere-Administrator eine geeignete Speicherrichtlinie erstellt und dem Namespace die Richtlinie zugewiesen hat.
Verfahren
1 Greifen Sie in der vSphere Kubernetes-Umgebung auf Ihren Namespace zu.
Weitere Informationen hierzu finden Sie unter Authentifizieren beim Supervisor-Cluster und Abrufen von Kontexten.
2 Stellen Sie sicher, dass die Speicherklassen verfügbar sind.
Weitere Informationen hierzu finden Sie unter Anzeigen von Speicherklassen in einem Supervisor-Namespace- oder Tanzu Kubernetes-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 100
3 Erstellen Sie einen Anspruch für dauerhafte Volumes.
a Erstellen Sie eine YAML-Datei, die die Konfiguration der Beanspruchung eines dauerhaften Volumes enthält.
In diesem Beispiel verweist die Datei auf die Speicherklasse Gold.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: gold
resources:
requests:
storage: 3Gi
b Wenden Sie die Beanspruchung eines dauerhaften Volumes auf den Kubernetes-Cluster an.
kubectl apply -f pvc_name.yaml
Dieser Befehl erstellt ein dauerhaftes Kubernetes-Volume sowie ein vSphere-Volume mit einer zugrunde liegenden virtuellen Festplatte, die die Speicheranforderungen des Anspruchs erfüllt.
c Überprüfen Sie den Status der Beanspruchung eines dauerhaften Volumes.
kubectl get pvc my-pvc
Die Ausgabe zeigt, dass das Volume an Anspruch für dauerhafte Volumes gebunden ist.
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
my-pvc Bound my-pvc 2Gi RWO gold 30s
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 101
4 Erstellen Sie einen Pod, der das dauerhafte Volume mountet.
a Erstellen Sie eine YAML-Datei, die das dauerhafte Volume enthält.
Die Datei enthält diese Parameter.
...
volumes:
- name: my-pvc
persistentVolumeClaim:
claimName: my-pvc
b Stellen Sie einen Pod aus der YAML-Datei bereit:
kubectl create -f pv_pod_name.yaml
c Stellen Sie sicher, dass der Pod erstellt wurde.
kubectl get pod
NAME READY STATUS RESTARTS AGE
pod_name 1/1 Ready 0 40s
Ergebnisse
Der von Ihnen konfigurierte Pod verwendet dauerhaften Speicher, der im Anspruch für dauerhafte Volumes beschrieben wird.
Nächste Schritte
Der vSphere-Administrator kann das dauerhafte Volume im vSphere Client überprüfen und überwachen. Weitere Informationen hierzu finden Sie unter Überwachen dauerhafter Volumes.
Überwachen dauerhafter Volumes
Wenn DevOps-Ingenieure eine statusbehaftete Anwendung mit einem Anspruch für dauerhafte Volumes bereitstellen, erstellt vSphere with Kubernetes ein dauerhaftes Volume-Objekt und eine passende dauerhafte virtuelle Festplatte. Als vSphere-Administrator können Sie Details des dauerhaften Volumes im vSphere Client überprüfen. Sie können auch die Speicherübereinstimmung und den Systemzustand des Volumes überwachen.
Verfahren
1 Navigieren Sie im vSphere Client zu dem Namespace, der über dauerhafte Volumes verfügt.
a Wählen Sie im vSphere Client-Startmenü die Option Arbeitslastplattform aus.
b Klicken Sie auf den Namespace.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 102
2 Klicken Sie auf die Registerkarte Speicher und dann auf Anforderungen von dauerhaften Datenträgern.
Der vSphere Client listet alle Objekte mit Ansprüchen für dauerhafte Volumes sowie entsprechende im Namespace verfügbare Volumes auf.
3 Klicken Sie zum Anzeigen der Details eines Anspruchs für ein ausgewähltes dauerhaftes Volume in der Spalte Name des dauerhaften Volumes auf den Namen des Volumes.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 103
4 Überprüfen Sie auf der Seite Container-Volumes den Integritätsstatus und die Speicherrichtlinienübereinstimmung des Volumes.
a Klicken Sie auf das Symbol Details und wechseln Sie zwischen den Registerkarten Grundlagen und Kubernetes-Objekte, um zusätzliche Informationen für das dauerhafte Kubernetes-Volume anzuzeigen.
b Überprüfen Sie den Status der Speicherübereinstimmung.
Einer der folgenden Werte wird in der Spalte Übereinstimmungsstatus angezeigt.
Übereinstimmungsstatus Beschreibung
Übereinstimmung Der Datenspeicher, in dem sich die zugrunde liegende virtuelle Festplatte des Volumes befindet, enthält die von der Richtlinie benötigten Speicherfunktionen.
Veraltet Dieser Status gibt an, dass die Richtlinie bearbeitet wurde, die neuen Anforderungen aber nicht an den Datenspeicher weitergegeben wurden. Zum Übermitteln der Änderungen wenden Sie die Richtlinie erneut auf das veraltete Volume an.
Nicht übereinstimmend Der Datenspeicher unterstützt festgelegte Speicheranforderungen, kann jedoch zurzeit nicht die Speicherrichtlinie erfüllen. Der Status kann z. B. in „Keine Übereinstimmung“ wechseln, wenn physische Ressourcen für den Datenspeicher nicht verfügbar sind. Sie können die Übereinstimmung des Datenspeichers wiederherstellen, indem Sie Änderungen an der physischen Konfiguration Ihres Hostclusters vornehmen, indem Sie Hosts oder Festplatten beispielsweise zum Cluster hinzufügen. Wenn weitere Ressourcen die Speicherrichtlinie erfüllen, ändert sich der Status in „Übereinstimmung“.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 104
Übereinstimmungsstatus Beschreibung
Nicht anwendbar Die Speicherrichtlinie verweist auf Datenspeicherkapazitäten, die vom Datenspeicher nicht unterstützt werden.
c Wenn der Übereinstimmungsstatus auf „Veraltet“ gesetzt ist, wählen Sie das Volume aus und klicken Sie auf Richtlinie erneut anwenden.
Der Status wird in „Übereinstimmung“ geändert.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 105
Ausführen von Tanzu Kubernetes-Clustern in vSphere with Kubernetes
7Sie können containerbasierte Arbeitslasten auf vSphere bereitstellen, indem Sie Tanzu Kubernetes-Cluster mithilfe der deklarativen API für Tanzu Kubernetes Grid-Dienst bereitstellen. Der Tanzu Kubernetes Grid-Dienst bietet eine native Integration in vSphere und eine vollständige Lebenszyklusverwaltung von Kubernetes-Clustern. Ein Tanzu Kubernetes-Cluster bietet Unterstützung für Authentifizierungs-, Speicher-, Netzwerk- und Cloudvorgänge. Sie interagieren mit dem Dienst und den bereitgestellten Clustern mithilfe von vertrauten Schnittstellen, einschließlich vSphere Client und der Kubernetes-CLI.
Dieses Kapitel enthält die folgenden Themen:
n Herstellen einer Verbindung mit der Tanzu Kubernetes-Clusterumgebung
n Erstellen von Tanzu Kubernetes-Clustern
n Bereitstellen von Arbeitslasten für Tanzu Kubernetes-Cluster
n Betreiben von Tanzu Kubernetes-Clustern
Herstellen einer Verbindung mit der Tanzu Kubernetes-Clusterumgebung
Sie können mit verschiedenen Methoden eine Verbindung mit Tanzu Kubernetes-Clustern herstellen und sich basierend auf Ihrer Rolle und dem von Ihnen verfolgten Ziel authentifizieren.
Herunterladen und Installieren von Kubernetes-CLI-Tools für vSphere
Mit Kubernetes-CLI-Tools für vSphere können Sie vSphere with Kubernetes-Namespaces und -Cluster anzeigen und steuern.
Das Downloadpaket der Kubernetes CLI-Tools enthält zwei ausführbare Dateien: die standardmäßige kubectl-Open Source-Datei und das vSphere-Plug-In für kubectl. Die kubectl-CLI weist eine austauschbare Architektur (Pluggable Storage Architecture, PSA) auf. Durch das vSphere-Plug-In für kubectl werden die für kubectl verfügbaren Befehle erweitert, sodass Sie mithilfe von vCenter Single Sign-On-Anmeldedaten eine Verbindung mit dem Supervisor-Cluster und den Tanzu Kubernetes-Clustern herstellen können.
Hinweis Es wird empfohlen, die neueste Edition des vSphere-Plug-In für kubectl herunterzuladen und zu installieren.
VMware, Inc. 106
Voraussetzungen
n Bitten Sie den vSphere-Administrator um den Link für die Downloadseite der Kubernetes-CLI-Tools.
n Alternativ können Sie den Link wie folgt abrufen, falls Sie Zugriff auf vCenter Server haben:
n Melden Sie sich über vSphere Client bei vCenter Server an.
n Navigieren Sie zu vSphere-Cluster > Namespaces > Supervisor-Namespace.
n Wählen Sie die Registerkarte Übersicht aus und suchen Sie den Bereich Status auf dieser Seite.
n Wählen Sie unter der Überschrift Link zu CLI-Tools die Option Öffnen aus, um die Downloadseite zu öffnen. Sie können den Link auch kopieren.
Verfahren
1 Navigieren Sie mit einem Browser zur Download-URL der Kubernetes-CLI-Tools für Ihre Umgebung.
2 Wählen Sie das Betriebssystem aus.
3 Laden Sie die Datei vsphere-plugin.zip herunter.
4 Extrahieren Sie den Inhalt der ZIP-Datei in ein Arbeitsverzeichnis.
Das Paket vsphere-plugin.zip enthält zwei ausführbare Dateien: kubectl und vSphere-Plug-In für kubectl. kubectl ist die standardmäßige Kubernetes-CLI. kubectl-vsphere ist das vSphere-Plug-In für kubectl, mit dem Sie sich mithilfe Ihrer vCenter Single Sign-On Anmeldedaten beim Supervisor-Cluster und bei den Tanzu Kubernetes-Clustern authentifizieren können.
5 Fügen Sie den Speicherort der beiden ausführbaren Dateien der Variable PATH Ihres Systempfads hinzu.
6 Um die Installation der kubectl-CLI zu überprüfen, starten Sie eine Sitzung über eine Shell, ein Terminal oder eine Eingabeaufforderung und führen Sie den kubectl-Befehl aus.
Die kubectl-Banner-Meldung und die Liste der Befehlszeilenoptionen werden für die CLI angezeigt.
7 Führen Sie zum Überprüfen der Installation des vSphere-Plug-In für kubectl den Befehl kubectl vsphere aus.
Die vSphere-Plug-In für kubectl-Banner-Meldung und die Liste der Befehlszeilenoptionen für das Plug-In werden angezeigt.
Nächste Schritte
Herunterladen und Installieren von TLS-Zertifikaten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 107
Herunterladen und Installieren von TLS-Zertifikaten
Um sich sicher bei Tanzu Kubernetes-Clustern anzumelden, laden Sie das CA-Root-Zertifikat für den vCenter Server und die neueste Edition des vSphere-Plug-In für kubectl herunter.
vCenter Server-CA-Zertifikat
vSphere with Kubernetes unterstützt vCenter Single Sign-On für den Clusterzugriff mithilfe des vSphere-Plug-In für kubectl-Befehls kubectl vsphere login ….
Um sich mithilfe des Plug-Ins sicher bei einem Tanzu Kubernetes-Cluster anzumelden, benötigen Sie das CA-Root-Zertifikat für den vCenter Server oder das benutzerdefinierte CA-Zertifikat, wenn Ihr vSphere-Administrator das CA-Root-Zertifikat ersetzt hat.
Informationen zum Herunterladen und Installieren des CA-Root-Zertifikats für vCenter Server finden Sie im VMware-Knowledgebase-Artikel zum Herunterladen und Installieren von vCenter Server-Root-Zertifikaten.
CA-Zertifikat für Tanzu Kubernetes-Cluster
Um mithilfe der kubectl-CLI eine sichere Verbindung mit dem API-Server des Tanzu Kubernetes-Clusters herzustellen, benötigen Sie das CA-Zertifikat für den Tanzu Kubernetes-Cluster.
Wenn Sie die neueste Edition des vSphere-Plug-In für kubectl verwenden, installiert das Plug-In bei Ihrer ersten Anmeldung beim Tanzu Kubernetes-Cluster das CA-Zertifikat für den Tanzu Kubernetes-Cluster. Dieses Zertifikat wird im geheimen Kubernetes-Schlüssel mit dem Namen TANZU-KUBERNETES-CLUSTER-NAME-ca gespeichert. Das Plug-In verwendet dieses Zertifikat, um die CA-Informationen im Datenspeicher der Zertifizierungsstelle des entsprechenden Clusters aufzufüllen.
Wenn Sie vSphere with Kubernetes aktualisieren, stellen Sie sicher, dass das Update auf die neueste Version des Plug-Ins erfolgt. Weitere Informationen hierzu finden Sie unter Update des vSphere-Plug-In für kubectl.
Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer
Zum Bereitstellen von Tanzu Kubernetes-Clustern mithilfe des Tanzu Kubernetes Grid-Dienst stellen Sie mithilfe des vSphere-Plug-In für kubectl eine Verbindung mit dem Supervisor-Cluster her und authentifizieren sich mit den vCenter Single Sign-On-Anmeldedaten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 108
Nach der Anmeldung beim Supervisor-Cluster generiert das vSphere-Plug-In für kubectl den Kontext für den Cluster. In Kubernetes enthält ein Konfigurationskontext einen Cluster, einen Namespace und einen Benutzer. Sie können sich den Clusterkontext in der Datei .kube/config ansehen. Diese Datei wird gemeinhin als kubeconfig-Datei bezeichnet.
Hinweis Wenn Sie über eine vorhandene kubeconfig-Datei verfügen, wird sie an jeden Clusterkontext angehängt. Das vSphere-Plug-In für kubectl berücksichtigt die KUBECONFIG-Umgebungsvariable, die kubectl selbst verwendet. Auch wenn dies nicht erforderlich ist, kann es hilfreich sein, diese Variable vor der Ausführung von kubectl vsphere login ... festzulegen, damit die Informationen in eine neue Datei geschrieben werden (und nicht Ihrer aktuellen kubeconfig-Datei hinzugefügt werden).
Voraussetzungen
n Rufen Sie Ihre vCenter Single Sign-On-Anmeldedaten ab.
n Rufen Sie die IP-Adresse der Supervisor-Cluster Control Plane ab.
n Rufen Sie den Namen des Supervisor-Namespace ab.
n Lassen Sie sich bestätigen, dass Sie Berechtigungen des Typs Bearbeiten für den Supervisor-Namespace haben.
n Herunterladen und Installieren von Kubernetes-CLI-Tools für vSphere.
n Stellen Sie sicher, dass das Zertifikat, das von der Kubernetes-Steuerungsebene bereitgestellt wird, auf Ihrem System als vertrauenswürdig eingestuft wird, indem Sie entweder die signierende Zertifizierungsstelle als vertrauenswürdigen Root installieren oder das Zertifikat direkt als vertrauenswürdigen Root hinzufügen.
Verfahren
1 Um die Befehlssyntax und die Optionen für die Anmeldung anzuzeigen, führen Sie folgenden Befehl aus:
kubectl vsphere login --help
2 Um eine Verbindung mit dem Supervisor-Cluster herzustellen, führen Sie den folgenden Befehl aus.
kubectl vsphere login --server=<KUBERNETES-CONTROL-PLANE-IP-ADDRESS> --vsphere-username <VCENTER-
SSO-USER>
Beispiel:
kubectl vsphere login --server=10.92.42.13 --vsphere-username [email protected]
Bei dieser Aktion wird eine Konfigurationsdatei mit dem JSON-Web-Token (JWT) für die Authentifizierung bei der Kubernetes-API erstellt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 109
3 Geben Sie zur Authentifizierung das Kennwort für den Benutzer ein.
Nachdem Sie eine Verbindung mit dem Supervisor-Cluster hergestellt haben, werden Ihnen die Konfigurationskontexte angezeigt, auf die zugegriffen werden kann. Beispiel:
You have access to the following contexts:
tanzu-ns-1
tkg-cluster-1
tkg-cluster-2
4 Führen Sie folgenden kubectl-Befehl aus, um Details zu den Konfigurationskontexten anzuzeigen, auf die Sie zugreifen können:
kubectl config get-contexts
Die CLI zeigt die Details für jeden verfügbaren Kontext an.
5 Verwenden Sie den folgenden Befehl, um zwischen den Kontexten zu wechseln:
kubectl config use-context <example-context-name>
Nächste Schritte
Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer
Sie können mit dem vSphere-Plug-In für kubectl eine Verbindung mit einem Tanzu Kubernetes-Cluster herstellen und sich mit Ihren vCenter Single Sign-On-Anmeldedaten authentifizieren.
Nach der Anmeldung beim Tanzu Kubernetes-Cluster generiert das vSphere-Plug-In für kubectl den Kontext für den Cluster. In Kubernetes enthält ein Konfigurationskontext einen Cluster, einen Namespace und einen Benutzer. Sie können sich den Clusterkontext in der Datei .kube/config ansehen. Diese Datei wird gemeinhin als kubeconfig-Datei bezeichnet.
Hinweis Wenn Sie über eine vorhandene kubeconfig-Datei verfügen, wird sie an jeden Clusterkontext angehängt. Das vSphere-Plug-In für kubectl berücksichtigt die KUBECONFIG-Umgebungsvariable, die kubectl selbst verwendet. Auch wenn dies nicht erforderlich ist, kann es hilfreich sein, diese Variable vor der Ausführung von kubectl vsphere login ... festzulegen, damit die Informationen in eine neue Datei geschrieben werden (und nicht Ihrer aktuellen kubeconfig-Datei hinzugefügt werden).
Voraussetzungen
Besorgen Sie sich die folgenden Informationen bei Ihrem vSphere-Administrator:
n Rufen Sie Ihre vCenter Single Sign-On-Anmeldedaten ab.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 110
n Rufen Sie die IP-Adresse der Supervisor-Cluster-Steuerungsebene ab.
n Rufen Sie den Namen des Supervisor-Namespace ab.
n Herunterladen und Installieren von Kubernetes-CLI-Tools für vSphere.
Verfahren
1 Um die Befehlssyntax und die Optionen für die Anmeldung anzuzeigen, führen Sie folgenden Befehl aus:
kubectl vsphere login --help
2 Um eine Verbindung mit dem Tanzu Kubernetes-Cluster herzustellen, führen Sie den folgenden Befehl aus.
kubectl vsphere login --server=SUPERVISOR-CLUSTER-CONTROL-PLANE-IP
--tanzu-kubernetes-cluster-name TANZU-KUBERNETES-CLUSTER-NAME
--tanzu-kubernetes-cluster-namespace SUPERVISOR-NAMESPACE-WHERE-THE-CLUSTER-IS-DEPLOYED
--vsphere-username VCENTER-SSO-USER-NAME
Beispiel:
kubectl vsphere login --server=10.92.42.137
--tanzu-kubernetes-cluster-name tanzu-kubernetes-cluster-01
--tanzu-kubernetes-cluster-namespace tanzu-ns-1
--vsphere-username [email protected]
Bei dieser Aktion wird eine Konfigurationsdatei mit dem JSON-Web-Token (JWT) für die Authentifizierung bei der Kubernetes-API erstellt.
3 Geben Sie Ihr vCenter Single Sign-On-Kennwort ein, um sich zu authentifizieren.
Wenn der Vorgang erfolgreich ist, wird die Meldung Logged in successfully angezeigt, und Sie können kubectl-Befehle für den Cluster ausführen. Wenn der Befehl Error from server (Forbidden) zurückgibt, bedeutet dieser Fehler in der Regel, dass Sie nicht über die erforderlichen Berechtigungen verfügen. Weitere Informationen finden Sie unter Fehlerbehebung bei vCenter Single Sign-On-Verbindungsfehlern.
4 Führen Sie zum Abrufen einer Liste mit für Sie verfügbaren Kontexten folgenden Befehl aus:
kubectl config get-contexts
Dieser Befehl listet die Konfigurationskontexte auf, auf die Sie zugreifen können. Ein Konfigurationskontext für den Zielcluster, wie z. B. tkg-cluster-01, wird angezeigt.
5 Zur Verwendung des Kontexts für den Zielcluster führen Sie folgenden Befehl aus:
kubectl config use-context CLUSTER-NAME
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 111
6 Führen Sie zum Auflisten von Clusterknoten folgenden Befehl aus:
kubectl get nodes
Die Steuerungsebene und die Worker-Knoten in diesem Cluster werden angezeigt.
7 Führen Sie zum Auflisten aller Cluster-Pods folgenden Befehl aus:
kubectl get pods -A
Sie sehen alle Pods in diesem Cluster über alle Kubernetes-Namespaces hinweg, auf die Sie Zugriff haben. Wenn Sie keine Arbeitslasten bereitgestellt haben, sehen Sie im Standard-Namespace keine Pods.
Herstellen einer Verbindung mit der Tanzu Kubernetes-Steuerungsebene als Kubernetes-Administrator
Sie können als kubernetes-admin-Benutzer eine Verbindung mit der Steuerungsebene des Tanzu Kubernetes-Clusters herstellen, um administrative Aufgaben durchzuführen und Clusterprobleme zu beheben.
Eine gültige kubeconfig-Datei für einen bereitgestellten Tanzu Kubernetes-Cluster ist im Supervisor-Cluster als Objekt für den geheimen Schlüssel mit dem Namen CLUSTER-NAME-kubeconfig verfügbar. Mit diesem geheimen Schlüssel können Sie als Benutzer kubernetes-admin eine Verbindung mit der Cluster-Steuerungsebene herstellen. Dies ist möglicherweise erforderlich, wenn vCenter Single Sign-On nicht verfügbar ist. Weitere Informationen zu diesem geheimen Schlüssel finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
Voraussetzungen
Stellen Sie eine Verbindung mit dem Supervisor-Cluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Wechseln Sie den Kontext zum Supervisor-Namespace, in dem der Tanzu Kubernetes-Cluster bereitgestellt wird.
kubectl config use-context SUPERVISOR-NAMESPACE
2 Zeigen Sie den geheimen Schlüssel an, indem Sie den folgenden Befehl ausführen.
kubectl get secrets
Dieser Befehl gibt mehrere geheime Schlüsselobjekte zurück, die im Namespace verwendet werden. Der geheime Schlüssel, den Sie für diesen Zweck benötigen, hat den Namen CLUSTER-NAME-kubeconfig. Weitere Informationen zu diesem geheimen Schlüsselobjekt finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 112
3 Greifen Sie auf den geheimen Schlüssel zu, indem Sie den folgenden Befehl ausführen.
Hinweis Die Anmeldedaten zum Entschlüsseln des Kennworts sind Base64-verschlüsselt. Unter Linux verwenden Sie -d, um sie zu entschlüsseln. Auf einem Mac verwenden Sie -D.
kubectl get secret CLUSTER-NAME-kubeconfig -o jsonpath='{.data.value}' | base64 -d > tkg-cluster-
kubeconfig-admin
Dieser Befehl schreibt den entschlüsselten geheimen Schlüssel in eine lokale Datei mit dem Namen tkg-cluster-kubeconfig-admin. Mithilfe des Befehls cat können Sie die Datei lesen und überprüfen.
4 Stellen Sie als Kubernetes-Administrator mithilfe der entschlüsselten tkg-cluster-kubeconfig-admin-Datei eine Verbindung mit dem Tanzu Kubernetes-Cluster her.
Dazu haben Sie zwei Optionen:
Option Beschreibung
--kubeconfig <path\to\kubeconfig> Verwenden Sie das Flag --kubeconfig und den Pfad zur lokalen kubeconfig-Datei. Angenommen etwa, die kubeconfig-Datei befindet sich im selben Verzeichnis, in dem Sie den folgenden Befehl ausführen: kubectl --kubeconfig tkg-cluster-kubeconfig-admin get nodes.
KUBECONFIG Legen Sie die Umgebungsvariable KUBECONFIG so fest, dass Sie auf die entschlüsselte kubeconfig-Datei verweist, und führen Sie kubectl aus, z. B. als kubectl get nodes.
Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer
Sie können mithilfe des SSH-Protokolls auf Tanzu Kubernetes-Clusterknoten als vmware-system-user zugreifen und Fehler beheben.
Zur Fehlerbehebung können Sie sich über SSH bei jedem Tanzu Kubernetes-Clusterknoten als vmware-system-user-Benutzer anmelden. Der geheime Schlüssel, der den privaten SSH-Schlüssel enthält, wird CLUSTER-NAME-ssh genannt. Weitere Informationen zu diesem geheimen Schlüssel finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
Voraussetzungen
Stellen Sie eine Verbindung mit dem Tanzu Kubernetes-Cluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Erstellen Sie eine Umgebungsvariable mit dem Namen NAMESPACE, deren Wert der Name des Supervisor-Namespace ist.
export NAMESPACE=YOUR-SUPERVISOR-NAMESPACE
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 113
2 Wechseln Sie den Kontext zum Supervisor-Namespace, in dem der Tanzu Kubernetes-Cluster bereitgestellt wird.
kubectl config use-context $NAMESPACE
3 Führen Sie den folgenden kubectl-Befehl aus, um das Objekt für den geheimen Schlüssel YOUR-CLUSTER-NAME-ssh anzuzeigen.
kubectl get secrets
Weitere Informationen zum Objekt für den geheimen Schlüssel YOUR-CLUSTER-NAME-ssh finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
4 Erstellen Sie einen Jump-Box-Pod mit der folgenden jumpbox.yaml-Pod-Spezifikation. Ersetzen Sie die Werte für namespace und secretName mit Werten, die mit Ihrer Umgebung übereinstimmen.
apiVersion: v1
kind: Pod
metadata:
name: jumpbox
namespace: YOUR-NAMESPACE #REPLACE YOUR-NAMESPACE
spec:
containers:
- image: "photon:3.0"
name: jumpbox
command: [ "/bin/bash", "-c", "--" ]
args: [ "yum install -y openssh-server; mkdir /root/.ssh; cp /root/ssh/ssh-privatekey /
root/.ssh/id_rsa; chmod 600 /root/.ssh/id_rsa; while true; do sleep 30; done;" ]
volumeMounts:
- mountPath: "/root/ssh"
name: ssh-key
readOnly: true
volumes:
- name: ssh-key
secret:
secretName: YOUR-CLUSTER-NAME-ssh #REPLACE YOUR-CLUSTER-NAME
5 Stellen Sie den Jump-Box-Pod bereit, indem Sie die jumpbox.yaml-Spezifikation anwenden.
kubectl apply -f jumpbox.yaml
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 114
6 Erstellen Sie eine Umgebungsvariable mit der IP-Adresse des Zielclusterknotens, indem Sie den folgenden Befehlssatz ausführen.
a Rufen Sie den Namen der virtuellen Zielmaschine ab.
kubectl get virtualmachines
b Erstellen Sie eine Umgebungsvariable mit dem Namen VMNAME, deren Wert der Name des Zielknotens ist.
export VMNAME=NAME-OF-THE-VIRTUAL-MACHINE
c Erstellen Sie eine Umgebungsvariable mit dem Namen VMIP, deren Wert die IP-Adresse der Zielknoten-VM ist.
export VMIP=$(kubectl -n $NAMESPACE get virtualmachine/$VMNAME -o jsonpath='{.status.vmIp}')
7 Greifen Sie mithilfe des Jump Box-Pods per SSH auf den Clusterknoten zu, indem Sie den folgenden Befehl ausführen.
kubectl exec -it jumpbox /usr/bin/ssh vmware-system-user@$VMIP
Nächste Schritte
Nach der Authentifizierung müssen Sie möglicherweise sudo oder sudo su verwenden, um bestimmte Vorgänge durchzuführen, wie z. B. den Neustart von kubelet.
Herstellen einer Verbindung mit einem Clusterknoten als Systembenutzer mithilfe eines Kennworts
Sie können als vmware-system-user mithilfe eines Kennworts eine Verbindung mit einem beliebigen Clusterknoten herstellen, um Fehler eines Tanzu Kubernetes-Clusters zu beheben. Sie können das Kennwort über SSH oder über die Konsole für die virtuelle Maschine angeben.
Sie können als vmware-system-user-Benutzer mit einem Kennwort eine Verbindung mit einem Clusterknoten herstellen. Das Kennwort wird als geheimer Schlüssel mit dem Namen CLUSTER-NAME-ssh-password gespeichert. Das Kennwort ist in .data.ssh-passwordkey Base64-verschlüsselt. Sie können die Bereitstellung über eine SSH-Sitzung oder durch Zugreifen auf die Konsole der virtuellen Maschine über den vSphere Client durchführen. Weitere Informationen zu diesem geheimen Schlüssel finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
Voraussetzungen
Stellen Sie eine Verbindung mit dem Supervisor-Cluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 115
Verfahren
1 Wechseln Sie den Kontext zum Supervisor-Namespace, in dem der Tanzu Kubernetes-Cluster bereitgestellt wird.
kubectl config use-context NAMESPACE
2 Zeigen Sie den geheimen Schlüssel an.
kubectl get secrets
3 Rufen Sie das Kennwort für den Zielcluster ab, entschlüsseln sie es und schreiben Sie es in eine lokale Datei.
kubectl get secret CLUSTER-NAME-ssh-password -o jsonpath='{.data.ssh-passwordkey}' | base64 -d >
tkg-cluster-password
Hinweis Die Anmeldedaten zum Entschlüsseln des Kennworts sind Base64-verschlüsselt. Unter Linux verwenden Sie -d, um sie zu entschlüsseln. Auf einem Mac verwenden Sie -D.
Der Befehl schreibt das Kennwort in eine lokale Datei mit dem Namen tkg-cluster-password.
4 Rufen Sie die IP-Adresse der virtuellen Maschine des Zielclusterknotens ab.
kubectl get virtualmachines
5 Melden Sie sich beim Zielknoten der virtuellen Maschine mithilfe von SSH oder der Web-Konsole an.
Option Beschreibung
Anmeldung mit SSH a Führen Sie eine Shell- oder Terminalsitzung aus.
b Führen Sie den folgenden Befehl aus:
ssh vmware-system-user@NODE-IP-ADDRESS
c Geben Sie an der Eingabeaufforderung das Kennwort ein.
Anmeldung über die Web-Konsole a Melden Sie sich über vSphere Client bei vCenter Server an.
b Wählen Sie Menü > VMs und Vorlagen aus.
c Suchen Sie die virtuelle Maschine in der vSphere-Bestandsliste.
d Klicken Sie auf Web-Konsole starten und wählen Sie OK aus.
e Geben Sie an der Eingabeaufforderung den Benutzernamen vmware-system-user ein.
f Geben Sie an der Eingabeaufforderung das Kennwort ein.
Gewähren des Entwicklerzugriffs auf Tanzu Kubernetes-Cluster
Entwickler sind die Zielbenutzer von Kubernetes. Sobald ein Tanzu Kubernetes-Cluster bereitgestellt wurde, können Sie mittels vCenter Single Sign-On-Authentifizierung Entwicklerzugriff darauf gewähren.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 116
Authentifizierung für Entwickler
Ein Clusteradministrator kann anderen Benutzern, z. B. Entwicklern, Clusterzugriff gewähren. Entwickler können Pods für Cluster direkt über ihre Benutzerkonten oder indirekt über Dienstkonten bereitstellen. Weitere Informationen finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
n Für die Authentifizierung über Benutzerkonten bieten Tanzu Kubernetes-Cluster Unterstützung für vCenter Single Sign-On-Benutzer und -Gruppen. Der Benutzer oder die Gruppe kann sich lokal in vCenter Server befinden oder von einem unterstützten Verzeichnisserver aus synchronisiert werden.
n Für die Authentifizierung über Dienstkonten können Sie Diensttoken verwenden. Weitere Informationen dazu finden Sie in der Kubernetes-Dokumentation.
Hinzufügen von Entwicklern zu einem Cluster
So gewähren Sie Entwicklern Clusterzugriff:
1 Definieren Sie ein Role- oder ClusterRole-Objekt für den Benutzer bzw. die Gruppe und wenden Sie es auf den Cluster an. Weitere Informationen dazu finden Sie in der Kubernetes-Dokumentation.
2 Erstellen Sie ein RoleBinding- oder ClusterRoleBinding-Objekt für den Benutzer bzw. die Gruppe und wenden Sie es auf den Cluster an. Betrachten Sie das folgende Beispiel.
RoleBinding – Beispiel
Um einem vCenter Single Sign-On-Benutzer oder einer vCenter Single Sign-On-Gruppe Zugriff zu gewähren, muss im RoleBinding-Objekt unter „subjects“ einer der folgenden Werte für den Parameter name angegeben sein.
Tabelle 7-1. Unterstützte Felder für Benutzer und Gruppen
Feld Beschreibung
sso:USER-NAME@DOMAIN Beispielsweise ein lokaler Benutzername wie sso:[email protected].
sso:GROUP-NAME@DOMAIN Beispielsweise ein von einem in vCenter Server integrierten Verzeichnisserver stammender Gruppenname wie sso:[email protected].
Im folgenden Beispiel für ein RoleBinding-Objekt wird der lokale vCenter Single Sign-On-Benutzer mit dem Namen „Joe“ an das standardmäßige ClusterRole-Objekt mit dem Namen edit gebunden. Diese Rolle ermöglicht Lese-/Schreibzugriff auf die meisten Objekte in einem Namespace. In diesem Fall ist dies der Namespace default.
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rolebinding-cluster-user-joe
namespace: default
roleRef:
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 117
kind: ClusterRole
name: edit #Default ClusterRole
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User
name: sso:[email protected] #sso:<username>@<domain>
apiGroup: rbac.authorization.k8s.io
Erstellen von Tanzu Kubernetes-Clustern
Sie erstellen Tanzu Kubernetes-Cluster, indem Sie die deklarative API des Tanzu Kubernetes Grid-Dienst mithilfe der kubectl-CLI und einer unter Verwendung von YAML definierten Clusterspezifikation aufrufen.
Workflow zum Erstellen von Tanzu Kubernetes-Clustern
Sie können Tanzu Kubernetes-Cluster bereitstellen, indem Sie die deklarative Tanzu Kubernetes Grid-Dienst-API aufrufen. Nach der Bereitstellung eines Clusters können Sie benutzerdefinierte Ressourcen verwenden, um ihn zu verwalten, und mithilfe von kubectl Arbeitslasten bereitstellen.
Workflow zum Erstellen von Tanzu Kubernetes-Clustern
Der Workflow bietet einen Überblick über die Bereitstellung auf hoher Ebene. Jeder Schritt enthält Links für weitere Informationen über die jeweilige Aufgabe.
1 Vergewissern Sie sich bei Ihrem vSphere-Administrator, dass die folgenden Voraussetzungen erfüllt sind.
a vSphere with Kubernetes (Arbeitslastverwaltung) ist für Ihr Datencenter aktiviert.
b Ein Supervisor-Namespace wird für das Hosten des Tanzu Kubernetes-Clusters erstellt und konfiguriert.
n Bearbeitungsberechtigungen werden für einen oder mehrere DevOps-Ingenieure hinzugefügt, damit diese auf den Supervisor-Namespace mit ihren vCenter Single Sign-On-Anmeldedaten zugreifen können.
n Eine tagbasierte Speicherrichtlinie wird definiert und mit dem Supervisor-Namespace verknüpft.
n Kapazitäts- und Nutzungskontingente werden bei Bedarf überprüft und angepasst.
2 Zum Hosten der OVA-Dateien zum Erstellen von Tanzu Kubernetes-Clusterknoten erstellen Sie eine abonnierte Inhaltsbibliothek in einem gemeinsam genutzten Datenspeicher. Weitere Informationen finden Sie unter Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster.
3 Um eine Verbindung zu Tanzu Kubernetes-Clustern herzustellen und diese zu betreiben, laden Sie die Kubernetes-CLI-Tools für vSphere herunter und installieren Sie sie. Weitere Informationen finden Sie unter Herunterladen und Installieren von Kubernetes-CLI-Tools für vSphere.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 118
4 Um Tanzu Kubernetes-Cluster bereitzustellen, authentifizieren Sie sich beim Supervisor-Cluster. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
5 Um die Spezifikation für einen Tanzu Kubernetes-Cluster zu definieren, erstellen Sie die YAML-Datei der Clusterkonfiguration wie folgt.
a Eine Liste der Konfigurationsparameter für die Bereitstellung von Tanzu Kubernetes-Clustern finden Sie unter Konfigurationsparameter für Tanzu Kubernetes-Cluster.
b Um die verfügbaren Klassen virtueller Maschinen aufzulisten und zu entscheiden, welche verwendet werden, führen Sie den folgenden Befehl aus. Weitere Informationen finden Sie unter Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster.
kubectl describe virtualmachineclasses
c Um verfügbare Speicherklassen zu ermitteln und zu entscheiden, welche verwendet werden, führen Sie den folgenden Befehl aus. Weitere Informationen finden Sie unter Speicher in vSphere with Kubernetes.
kubectl describe namespace SUPERVISOR-NAMESPACE
d Um die verfügbaren Kubernetes-Softwareversionen aufzulisten, führen Sie den folgenden Befehl aus.
kubectl get virtualmachineimages
e Um die YAML-Datei für die Bereitstellung des Tanzu Kubernetes-Clusters zu erstellen, verwenden Sie die Informationen aus den Teilschritten a, b, c und d und sehen Sie sich die Beispiele an: Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern.
6 Führen Sie zum Bereitstellen des Clusters den folgenden Befehl aus. Weitere Informationen finden Sie unter Bereitstellen eines Tanzu Kubernetes-Clusters.
kubectl apply -f CLUSTER-NAME.yaml
7 Um die Bereitstellung von Clusterknoten zu überwachen, verwenden Sie den vSphere Client und kubectl. Weitere Informationen finden Sie unter Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe des vSphere Client und Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe von kubectl.
8 Um sich beim Cluster anzumelden, verwenden Sie das vSphere-Plug-In für kubectl. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
9 Stellen Sie zum Überprüfen der Tanzu Kubernetes-Clustererstellung eine Beispielarbeitslast bereit. Weitere Informationen finden Sie in den folgenden Abschnitten:
n Beispiel für Tanzu Kubernetes-Arbeitslast
n Beispiel für einen Load Balancer für den Tanzu Kubernetes-Dienst
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 119
n Beispiel für Tanzu Kubernetes-Ingress
n Beispiel für die Beanspruchung eines dauerhaften Tanzu Kubernetes-Volumes
Hinweis Für Tanzu Kubernetes-Cluster ist die Pod-Sicherheitsrichtlinie aktiviert. Abhängig von der Arbeitslast und dem Benutzer müssen Sie möglicherweise ein geeignetes RoleBinding oder eine benutzerdefinierte PodSecurityPolicy erstellen. Weitere Informationen finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster
Der vSphere-Administrator konfiguriert eine abonnierte Inhaltsbibliothek im Supervisor-Cluster. Das für die Tanzu Kubernetes-Clusterknoten verwendete VM-Image wird aus dieser Bibliothek abgerufen.
Eine abonnierte Inhaltsbibliothek stammt aus einer veröffentlichten Inhaltsbibliothek. Nach der Erstellung des Abonnements wird es vom System mit der veröffentlichten Bibliothek synchronisiert. Zum Erstellen der Tanzu Kubernetes-Clusterknoten veröffentlicht VMware eine Photon OS-OVA-Bibliothek, die Sie abonnieren. Nachdem der Synchronisierung von Abonnent und Herausgeber verknüpfen Sie die Inhaltsbibliothek mit dem Supervisor-Cluster.
Zum Synchronisieren von Images gibt es zwei Möglichkeiten:
n Bei Bedarf: Die Inhaltsbibliothek lädt die abonnierten Images bei Bedarf herunter.
n Bei Veröffentlichung: Die Inhaltsbibliothek synchronisiert die abonnierten Images automatisch, wenn sie veröffentlicht werden.
Der Download bei Bedarf erfordert weniger Speicherplatz. Dies ist ein wichtiger Gesichtspunkt, wenn mehr Images mit unterschiedlichen Kubernetes-Versionen veröffentlicht werden. Falls Sie jedoch zum ersten Mal eine neue Version verwenden, müssen Sie warten, bis sie heruntergeladen wurde.
Hinweis Wenn die abonnierte Inhaltsbibliothek die Speicherkapazität ihres Datenspeichers erreicht, müssen Sie die Cluster migrieren, damit sie eine neue Bibliothek verwenden. Weitere Informationen hierzu finden Sie unter Migrieren von Tanzu Kubernetes-Clustern zu einer neuen Inhaltsbibliothek.
Voraussetzungen
Zum Erstellen einer abonnierten Inhaltsbibliothek sind folgende Rechte erforderlich:
n Inhaltsbibliothek.Lokale Bibliothek erstellen oder Inhaltsbibliothek.Abonnierte Bibliothek erstellen in der vCenter Server-Instanz, in der Sie die Bibliothek erstellen möchten.
n Datenspeicher.Speicher zuteilen auf dem Zieldatenspeicher.
Verfahren
1 Wählen Sie in vSphere Client Menü > Inhaltsbibliotheken aus.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 120
2 Klicken Sie auf das Symbol Neue Inhaltsbibliothek erstellen.
Der Assistent Neue Inhaltsbibliothek wird geöffnet.
3 Geben Sie auf der Seite Name und Speicherort Identifikationsdaten ein.
a Geben Sie im Feld Name einen Namen für die Inhaltsbibliothek ein.
b Wählen Sie für vCenter Server die vCenter Server-Instanz aus, in der der Supervisor-Cluster konfiguriert ist.
c Klicken Sie auf Weiter.
4 Geben Sie auf der Seite Inhaltsbibliothek konfigurieren Konfigurationsdetails für die Inhaltsbibliothek an.
a Wählen Sie das Menüelement Abonnierte Inhaltsbibliothek aus.
b Geben Sie im Textfeld URL für Abonnement die URL-Adresse für die veröffentlichte Bibliothek ein: https://wp-content.vmware.com/v2/latest/lib.json.
c Wählen Sie für die Option Inhalt herunterladen die Option Bibliotheksinhalt nur bei Bedarf herunterladen, wodurch die OVA bei Bedarf heruntergeladen wird.
d Klicken Sie auf Weiter.
5 Akzeptieren Sie den Fingerabdruck des SSL-Zertifikats, wenn Sie dazu aufgefordert werden.
Der Fingerabdruck des SSL-Zertifikats wird auf Ihrem System gespeichert, bis Sie die abonnierte Inhaltsbibliothek aus dem Bestand löschen.
6 Wählen Sie auf der Seite Speicher hinzufügen einen Datenspeicher als Speicherort für die Inhalte der Inhaltsbibliothek aus und klicken Sie auf Weiter.
7 Überprüfen Sie auf der Seite Bereit zum Abschließen die Details und klicken Sie auf Beenden.
8 Bestätigen Sie auf der Seite Inhaltsbibliotheken, dass die Bibliothek synchronisiert wurde.
9 Navigieren Sie zur Ansicht Menü > Hosts und Cluster.
10 Wählen Sie in der vSphere-Bestandsliste das vSphere-Clusterobjekt aus und klicken Sie dann auf die Registerkarte Konfigurieren.
11 Wählen Sie die Option Namespaces > Allgemein aus.
12 Klicken Sie für die Inhaltsbibliothek auf Bearbeiten.
13 Klicken Sie auf Bibliothek hinzufügen.
14 Wählen Sie die von Ihnen erstellte Abonnierte Kubernetes-Inhaltsbibliothek aus.
15 Klicken Sie zum Abschließen des Vorgangs auf OK.
Bereitstellen eines Tanzu Kubernetes-Clusters
Sie können einen Tanzu Kubernetes-Cluster mithilfe einer deklarativen YAML-Datei bereitstellen, die die Tanzu Kubernetes Grid-Dienst-API aufruft.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 121
Voraussetzungen
n Rufen Sie die IP-Adresse der Supervisor-Cluster-Steuerungsebene ab.
n Rufen Sie den Namen des Supervisor-Namespace ab, in dem Sie den Tanzu Kubernetes-Cluster bereitstellen möchten.
n Erstellen und verknüpfen Sie eine abonnierte Inhaltsbibliothek. Weitere Informationen hierzu finden Sie unter Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster.
n Authentifizieren Sie sich beim Supervisor-Cluster. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Wechseln Sie zu dem Namespace, in dem Sie den Tanzu Kubernetes-Cluster bereitstellen möchten.
kubectl config use-context SUPERVISOR-NAMESPACE
Beispiel:
kubectl config use-context sns-1
2 Wählen Sie eine Image-Version aus.
a Rufen Sie eine Liste der verfügbaren Inhalts-Images und die vom Image bereitgestellte Kubernetes-Version ab.
kubectl get virtualmachineimages
Beispielergebnis:
NAME VERSION OSTYPE
photon-3-k8s-v1.16.4---vmware.1-tkg.1.baa5e61 v1.16.4+vmware.1-tkg.1.baa5e61
vmwarePhoton64Guest
b Um weitere Informationen zu den verfügbaren Images anzuzeigen, führen Sie folgenden Befehl aus:
kubectl describe virtualmachineimages
c Ermitteln Sie die zu verwendende Image-Version. Beispielsweise v1.16.6+vmware.1-tkg.1.886c781.
Hinweis Das Beispiel zeigt die vollqualifizierte semantische Version. Versionskürzel wie version: v1.16.6 und version: v1.16 werden unterstützt. Weitere Informationen hierzu finden Sie unter Konfigurationsparameter für Tanzu Kubernetes-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 122
3 Erstellen Sie eine YAML-Datei mit den erforderlichen Konfigurationsparametern, um den Cluster zu definieren.
a Beginnen Sie mit einer der YAML-Beispieldateien. Weitere Informationen hierzu finden Sie unter Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern.
b Erstellen Sie anhand der Liste der unterstützten Parameter die YAML-Datei passend zu Ihren Spezifikationen. Weitere Informationen hierzu finden Sie unter Konfigurationsparameter für Tanzu Kubernetes-Cluster.
4 Stellen Sie den Tanzu Kubernetes-Cluster mit dem folgenden kubectl-Befehl bereit.
kubectl apply -f CLUSTER-NAME.yaml
5 Überwachen Sie die Clusterbereitstellung und die Knotenerstellung mithilfe von vSphere Client. Weitere Informationen hierzu finden Sie unter Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe des vSphere Client.
6 Um zu überprüfen, ob der Cluster erfolgreich bereitgestellt wurde, führen Sie die folgenden kubectl-Befehle aus.
a Zum Auflisten der im Namespace bereitgestellten Cluster führen Sie folgenden Befehl aus:
kubectl get tanzukubernetesclusters
Beispielergebnis:
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkc-cluster 1 1 v1.16.4+vmware.1-tkg.1.886c781 6d5h running
b Zum Anzeigen von Details zu einem speziellen Cluster führen Sie folgenden Befehl aus:
kubectl describe tanzukubernetescluster CLUSTER-NAME
Hinweis Weitere Informationen finden Sie unter Befehle für den Betrieb des Tanzu Kubernetes-Clusters.
7 Um zu überprüfen, ob der Cluster erfolgreich bereitgestellt wurde, melden Sie sich an. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
8 Führen Sie zum Debuggen der Bereitstellung eines Clusters folgenden Befehl aus:
kubectl get tanzukubernetescluster,cluster-
api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
Hinweis Weitere Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Tanzu Kubernetes-Clustern.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 123
Konfigurationsparameter für Tanzu Kubernetes-Cluster
Die Tanzu Kubernetes Grid-Dienst-API weist mehrere Parameter für die Bereitstellung und Aktualisierung von Tanzu Kubernetes-Clustern auf.
Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern
In dieser Tabelle werden alle YAML-Parameter und zulässigen Werte für die Clusterbereitstellung aufgelistet und beschrieben.
Hinweis Diese Tabelle ist eine Referenz für alle Clusterbereitstellungsparameter. Informationen zum Anzeigen der Hierarchie der Parameter in YAML-Beispieldateien finden Sie unter Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern.
Tabelle 7-2. Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern
Name Wert Beschreibung
apiVersion run.tanzu.vmware.com/v1alpha1 Gibt die Version der Tanzu Kubernetes Grid-Dienst-API an.
kind TanzuKubernetesCluster Gibt den Typ der zu erstellenden Kubernetes-Ressource an. Der einzige zulässige Wert ist TanzuKubernetesCluster (Groß-/Kleinschreibung beachten).
metadata Nicht anwendbar Beinhaltet Clustermetadaten wie name und namespace. Dies sind standardmäßige Kubernetes-Metadaten. Sie können daher generateName anstelle von name verwenden, Beschriftungen und Anmerkungen hinzufügen und so weiter.
name Eine benutzerdefinierte Zeichenfolge, die alphanumerische Zeichen und Bindestriche akzeptiert, z. B.: my-tkg-cluster-1
Gibt den Namen des zu erstellenden Clusters an. Aktuelle Einschränkungen für die Benennung von Clustern:
n Der Name darf maximal 41 Zeichen lang sein.
n Der Name muss mit einem Buchstaben beginnen.
n Der Name darf Buchstaben, Ziffern und Bindestriche enthalten.
n Der Name muss mit einem Buchstaben oder einer Ziffer enden.
namespace Eine benutzerdefinierte Zeichenfolge, die alphanumerische Zeichen und Bindestriche akzeptiert, z. B.: my-sns-1
Identifiziert den Namen des Supervisor-Namespace, in dem der Cluster bereitgestellt wird. Dies ist ein Verweis auf einen Supervisor-Namespace, der im Supervisor-Cluster vorhanden ist.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 124
Tabelle 7-2. Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern (Fortsetzung)
Name Wert Beschreibung
spec Nicht anwendbar Enthält die deklarativ ausgedrückte Spezifikation für den Endzustand des Clusters, einschließlich toplogy für den Knoten und distribution für die Kubernetes-Software.
topology Nicht anwendbar Enthält Felder, die die Anzahl, den Zweck und die Organisation der Clusterknoten sowie die diesen jeweils zugeteilten Ressourcen beschreiben. Clusterknoten werden basierend auf dem Verwendungszweck in Pools zusammengefasst: entweder control-plane oder worker. Jeder Pool ist homogen, weist dieselbe Ressourcenzuteilung auf und verwendet denselben Speicher.
controlPlane Nicht anwendbar Gibt die Topologie der Steuerungsebene des Clusters an, einschließlich der Anzahl der Knoten (count), des VM-Typs (class) und der jedem Knoten zugeordneten Speicherressourcen (storageClass).
count Eine Ganzzahl, die entweder 1 oder 3 lautet
Gibt die Anzahl der Knoten der Steuerungsebene an. Die Steuerungsebene muss eine ungerade Anzahl an Knoten aufweisen.
class Ein systemdefiniertes Element in Form einer Zeichenfolge aus einem Enumerationssatz, z. B.: guaranteed-small oder best-effort-large
Gibt den Namen der VirtualMachineClass zur Beschreibung der für jeden Knoten im Pool zu verwendenden virtuellen Hardwareeinstellungen an. Hiermit werden die Hardware, die dem Knoten (CPU und Arbeitsspeicher) zur Verfügung steht, sowie die Anforderungen und Grenzwerte für diese Ressourcen gesteuert. Weitere Informationen hierzu finden Sie unter Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 125
Tabelle 7-2. Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern (Fortsetzung)
Name Wert Beschreibung
storageClass Beispiel: node-storage Gibt die Speicherklasse an, die für den Speicher der Festplatten verwendet werden soll, auf denen die Root-Dateisysteme der Knoten der Steuerungsebene gespeichert werden. Führen Sie kubectl describe ns im Namespace aus, um die verfügbaren Speicherklassen anzuzeigen. Die verfügbaren Speicherklassen für den Namespace richten sich nach dem Speicher, der vom vSphere-Administrator festgelegt wurde. Die mit dem Supervisor-Namespace verknüpften Speicherklassen werden im Cluster repliziert. Mit anderen Worten: Die Speicherklasse muss im Supervisor-Namespace verfügbar sein, damit sie ein gültiger Wert für dieses Feld sein kann.
workers Nicht anwendbar Gibt die Topologie der Worker-Knoten des Clusters an, einschließlich der Anzahl der Knoten (count), des VM-Typs (class) und der jedem Knoten zugeordneten Speicherressourcen (storageClass).
count Eine Ganzzahl zwischen 0 und 150, z. B.: 1, 2 oder 7
Gibt die Anzahl der Worker-Knoten im Cluster an. Es kann ein Cluster mit null Worker-Knoten erstellt werden, also ein Cluster, der nur Knoten der Steuerungsebene umfasst. Es gibt zwar keinen strikten Höchstwert für die Anzahl der Worker-Knoten, aber ein angemessener Grenzwert liegt bei 150.
class Ein systemdefiniertes Element in Form einer Zeichenfolge aus einem Enumerationssatz, z. B.: guaranteed-small oder best-effort-large
Gibt den Namen der VirtualMachineClass zur Beschreibung der für jeden Knoten im Pool zu verwendenden virtuellen Hardwareeinstellungen an. Hiermit werden die Hardware, die dem Knoten (CPU und Arbeitsspeicher) zur Verfügung steht, sowie die Anforderungen und Grenzwerte für diese Ressourcen gesteuert. Weitere Informationen hierzu finden Sie unter Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 126
Tabelle 7-2. Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern (Fortsetzung)
Name Wert Beschreibung
storageClass Beispiel: node-storage Gibt die Speicherklasse an, die für den Speicher der Festplatten verwendet werden soll, auf denen die Root-Dateisysteme der Worker-Knoten gespeichert werden. Führen Sie kubectl describe ns im Namespace aus, um die verfügbaren Speicherklassen aufzulisten. Die verfügbaren Speicherklassen für den Namespace richten sich nach dem Speicher, der vom vSphere-Administrator festgelegt wurde. Die mit dem Supervisor-Namespace verknüpften Speicherklassen werden im Cluster repliziert. Mit anderen Worten: Die Speicherklasse muss im Supervisor-Namespace verfügbar sein, damit sie gültig ist.
distribution Nicht anwendbar Gibt die Distribution für den Cluster an: die auf der Steuerungsebene und den Worker-Knoten installierte Tanzu Kubernetes-Cluster-Software, einschließlich Kubernetes selbst.
version Alphanumerische Zeichenfolge mit Bindestrichen für die Kubernetes-Version, z. B.: v1.16.6+vmware.1-tkg.1, v1.16.6 oder v1.16
Gibt unter Verwendung der semantischen Versionsnotation die Softwareversion der Kubernetes-Verteilung an, die auf Clusterknoten installiert werden soll. Kann die vollqualifizierte Version angeben oder Kurzschreibungen der Version verwenden, z. B. „version: v1.16.6“ (wird zum neuesten mit dieser Patchversion übereinstimmenden Image aufgelöst) oder „version: v1.16“ (wird zur neuesten übereinstimmenden Patchversion aufgelöst). Die aufgelöste Version wird in der Clusterbeschreibung als „fullVersion“ angezeigt, nachdem Sie sie erstellt haben.
settings Nicht anwendbar Identifiziert optionale Laufzeitkonfigurationsinformationen für den Cluster, einschließlich network-Details zum Knoten und persistentem storage für Pods.
network Nicht anwendbar Gibt netzwerkbezogene Einstellungen für den Cluster an.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 127
Tabelle 7-2. Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern (Fortsetzung)
Name Wert Beschreibung
cni Nicht anwendbar Identifiziert das CNI-Plug-In (Container Networking Interface) für den Cluster. Standardmäßig ist dies Calico.
name calico Gibt das zu verwendende CNI an. Derzeit wird nur Calico unterstützt. Jeder andere Wert ist ungültig.
services Nicht anwendbar Identifiziert Netzwerkeinstellungen für Kubernetes-Dienste. Standardwert ist 10.96.0.0/12.
cidrBlocks Beispiel: ["198.51.100.0/12"] Gibt einen IP-Adressbereich an, der für Kubernetes-Dienste verwendet werden soll. Standardwert ist 10.96.0.0/12. Dieser darf sich nicht mit den für den Supervisor-Cluster ausgewählten Einstellungen überschneiden. Obwohl es sich bei diesem Feld um ein Array handelt, das mehrere Bereiche zulässt, unterstützt Calico nur einen einzigen Bereich. Außerdem ist Calico derzeit das einzige unterstützte CNI.
pods Nicht anwendbar Gibt Netzwerkeinstellungen für Pods an. Standardwert ist 192.168.0.0/16.
cidrBlocks Beispiel: ["192.0.2.0/16"] Gibt einen IP-Adressbereich an, der für Kubernetes-Pods verwendet werden soll. Standardwert ist 192.168.0.0/16. Dieser darf sich nicht mit den für den Supervisor-Cluster ausgewählten Einstellungen überschneiden. Obwohl es sich bei diesem Feld um ein Array handelt, das mehrere Bereiche zulässt, unterstützt Calico nur einen einzigen Bereich. Außerdem ist Calico derzeit das einzige unterstützte CNI.
serviceDomain "cluster.local" Gibt die Dienstdomäne für den Cluster an. Der Standardwert lautet cluster.local.
storage Nicht anwendbar Identifiziert Speichereinträge persistenter Volumes (PV) für Containerarbeitslasten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 128
Tabelle 7-2. Parameter für die Bereitstellung von Tanzu Kubernetes-Clustern (Fortsetzung)
Name Wert Beschreibung
classes Array aus einer oder mehreren benutzerdefinierten Zeichenfolgen, z. B.: ["gold", "silver"]
Gibt Speicherklassen benannter persistenter Volumes (PV) für Containerarbeitslasten an. Die mit dem Supervisor-Namespace verknüpften Speicherklassen werden im Cluster repliziert. Mit anderen Worten: Die Speicherklasse muss im Supervisor-Namespace verfügbar sein, damit sie ein gültiger Wert sein kann.
defaultClass Beispiel: silver Gibt eine benannte Speicherklasse an, die als Standard im Cluster gekennzeichnet werden soll. Unterlassen Sie diese Angabe, gibt es keinen Standard. Sie müssen nicht eine oder mehrere classes angeben, um eine defaultClass anzugeben.
Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster
Wenn Sie einen Tanzu Kubernetes-Cluster bereitstellen, geben Sie den Klassentyp der virtuellen Maschinen an. Jeder Klassentyp reserviert eine Reihe von Ressourcen für die VM, einschließlich Prozessor, Arbeitsspeicher und Speicher. Darüber hinaus gibt es für jeden Typ garantierte und bestmögliche Editionen, je nach Ihrem Anwendungsfall.
Standardwerte für ausgewählte Klassentypen virtueller Maschinen
In der Tabelle sind die Standardwerte ausgewählte Klassentypen virtueller Maschinen aufgelistet, die als VM-Bereitstellungsgrößen für Tanzu Kubernetes-Clusterknoten verwendet werden. Jeder Klassentyp ist eine Anforderung für Ressourcenreservierungen auf der virtuellen Maschine für Prozessor, Arbeitsspeicher und Speicher.
Für jeden Klassentyp gibt es zwei Editionen: garantiert und bestmöglich. Eine garantierte Klassenedition reserviert ihre konfigurierten Ressourcen vollständig, d. h. für einen Cluster entspricht spec.policies.resources.requests den spec.hardware-Einstellungen. Für eine bestmögliche Klassenedition gilt dies nicht; das bedeutet, dass die Ressourcen überbelegt werden können. In der Regel werden garantierte Klassen für Produktionsarbeitslasten verwendet.
Hinweis Die Liste ist möglicherweise nicht vollständig, und in Zukunft können VMs anpassbar sein. Um die aktuelle und vollständige Liste der in Ihrer Umgebung verfügbaren-VM-Typen anzuzeigen, melden Sie sich beim Supervisor-Cluster an und führen Sie den Befehl kubectl describe virtualmachineclasses aus.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 129
Tabelle 7-3. Standardwerte für ausgewählte Klassentypen virtueller Maschinen
Klasse CPU Arbeitsspeicher (GB) Speicher (GB)
Reservierte CPU und reservierter Arbeitsspeicher
guaranteed-xlarge 4 32 16 Ja
best-effort-xlarge 4 32 16 Nein
guaranteed-large 4 16 16 Ja
best-effort-large 4 16 16 Nein
guaranteed-medium 2 8 16 Ja
best-effort-medium 2 8 16 Nein
guaranteed-small 2 4 16 Ja
best-effort-small 2 4 16 Nein
guaranteed-xsmall 2 2 16 Ja
best-effort-xsmall 2 2 16 Nein
Beispiel-YAML-Dateien für die Bereitstellung von Tanzu Kubernetes-Clustern
Sie können die Beispiel-YAML-Dateien als Ausgangspunkt für die Bereitstellung und Aktualisierung von Tanzu Kubernetes-Clustern mithilfe des Tanzu Kubernetes Grid-Dienst verwenden.
Minimale YAML für Clusterbereitstellung
Die für die Erstellung eines Tanzu Kubernetes-Clusters erforderliche minimale YAML-Konfiguration weist die folgenden Merkmale auf:
n Diese YAML stellt einen Cluster mit einem einzigen Control Plane-Knoten und drei Worker-Knoten bereit.
n Die Parameterwerte apiVersion und kind sind Konstanten.
n Die als v1.16 aufgelistete Kubernetes-Version wird als neueste Distribution aufgelöst, die dieser Nebenversion entspricht, z. B. v1.16.8+vmware.1-tkg.3.60d2ffd.
n Die VM-Klasse best-effort-<size> weist keine Reservierungen auf. Weitere Informationen finden Sie unter Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster.
n Wenn Sie Helm oder Kubeapps als defaultClass verwenden möchten – auf diese wird von vielen Diagrammen verwiesen –, fügen Sie dem Beispiel für die minimale YAML-Konfiguration spec.settings.storage.defaultClass hinzu.
n Laufzeitparameter für settings.storage werden nicht angegeben, da die Standardeinstellungen verwendet werden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 130
n Laufzeitparameter für settings.network sind nicht erforderlich, da die Standardeinstellungen verwendet werden. Nachstehend finden Sie die Standardnetzwerkeinstellungen. Weitere Informationen finden Sie unter Konfigurationsparameter für Tanzu Kubernetes-Cluster.
n Standard-Pod-CIDR: 192.168.0.0/16
n Standard-CIDR der Dienste: 10.96.0.0/12
n Standarddienstdomäne: cluster.local
n Da die Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern, können Sie nach dem Erstellen eines Tanzu Kubernetes-Clusters gemäß dieser exemplarischen YAML zwar Pods ausführen, jedoch keine Bereitstellungen. Um eine Bereitstellung zu erstellen, Beispielbindungen für die standardmäßige Pod-Sicherheitsrichtlinie an eine der standardmäßigen Pod-Sicherheitsrichtlinien.
apiVersion: run.tanzu.vmware.com/v1alpha1 #TKG API endpoint
kind: TanzuKubernetesCluster #required parameter
metadata:
name: tkg-cluster-1 #cluster name, user defined
namespace: namespace-a #supervisor namespace
spec:
distribution:
version: v1.16 #resolved kubernetes version
topology:
controlPlane:
count: 1 #number of control plane nodes
class: best-effort-small #vmclass for control plane nodes
storageClass: tkc-storage-policy #storageclass for control plane
workers:
count: 3 #number of worker nodes
class: best-effort-small #vmclass for worker nodes
storageClass: tkc-storage-policy #storageclass for worker nodes
Vollständige YAML für Clusterbereitstellung
Die vollständige YAML-Konfiguration, die zum Erstellen eines Tanzu Kubernetes-Clusters erforderlich ist, weist die folgenden Merkmale auf:
n Diese YAML stellt einen Cluster mit drei Control Plane-Knoten und fünf Worker-Knoten bereit.
n Der vollständige Distributionsname und die Kubernetes-Version sind angegeben: v1.16.8+vmware.1-tkg.3.60d2ffd.
n Die Netzwerkeinstellungen sind enthalten, da die Standardeinstellungen nicht verwendet werden. Die CIDR-Bereiche dürfen sich nicht mit denen des Supervisor-Cluster überschneiden. Weitere Informationen finden Sie unter Konfigurationsparameter für Tanzu Kubernetes-Cluster.
n Verschiedene Speicherklassen werden für die Control Plane und Worker-Knoten verwendet.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 131
n Die VM-Klasse guaranteed-effort-<size> weist vollständige Reservierungen auf. Weitere Informationen finden Sie unter Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster.
apiVersion: run.tanzu.vmware.com/v1alpha1
kind: TanzuKubernetesCluster
metadata:
name: tkg-cluster-2
namespace: namespace-b
spec:
distribution:
version: v1.16.8+vmware.1-tkg.3.60d2ffd #The full image name is specified
topology:
controlPlane:
count: 3 #3 control plane nodes
class: guaranteed-large #large size VM
storageClass: tkc-storage-policy-yellow #Specific storage class for control plane
workers:
count: 5 #5 worker nodes
class: guaranteed-xlarge #extra large size VM
storageClass: tkc-storage-policy-green #Specific storage class for workers
settings:
network:
cni:
name: calico
services:
cidrBlocks: ["198.51.100.0/12"] #Cannot overlap with Supervisor Cluster
pods:
cidrBlocks: ["192.0.2.0/16"] #Cannot overlap with Supervisor Cluster
storage:
classes: ["gold", "silver"] #Named PVC storage classes
defaultClass: silver #Default PVC storage class
Löschen eines Tanzu Kubernetes-Clusters
Mit kubectl können Sie einen vom Tanzu Kubernetes Grid-Dienst bereitgestellten Tanzu Kubernetes-Cluster löschen.
Versuchen Sie nicht, einen Tanzu Kubernetes-Cluster über die vSphere Client- oder vCenter Server-CLI zu löschen.
Voraussetzungen
Authentifizieren Sie sich beim Supervisor-Cluster. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Führen Sie den folgenden kubectl Befehl aus, um den Konfigurationskontext auf den Zielcluster zu verlagern.
kubectl config use-context CLUSTER-NAME
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 132
2 Führen Sie zum Löschen des Clusters den folgenden Befehl aus:
kubectl delete tanzukubernetescluster --namespace CLUSTER-NAMESPACE CLUSTER-NAME
Beispiel:
kubectl delete tanzukubernetescluster --namespace tkg-cluster-ns tkg-cluster-1
Erwartetes Ergebnis: Mithilfe der Garbage Collection von Kubernetes-Ressourcen werden alle abhängigen Ressourcen gelöscht, die vom Tanzu Kubernetes Grid-Dienst zur Bereitstellung des Tanzu Kubernetes-Clusters erstellt wurden.
Bereitstellen eines Tanzu Kubernetes-Clusters in einer Air-Gapped-Umgebung
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, laden Sie die VM-Image-Dateien herunter und erstellen Sie eine lokale Inhaltsbibliothek. Importieren Sie die Images in die lokale Bibliothek und synchronisieren Sie sie mit den Supervisor-Namespaces, in denen Sie die Tanzu Kubernetes-Cluster erstellen.
Herunterladen der Image-Dateien
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, laden Sie zunächst die OVA- und OVF-Dateien aus dem öffentlichen Content Delivery Network (CDN) herunter.
Voraussetzungen
Überprüfen Sie den Workflow:
n Bereitstellen eines Tanzu Kubernetes-Clusters in einer Air-Gapped-Umgebung.
Verfahren
1 Navigieren Sie mithilfe eines Browsers zur folgenden URL: https://wp-content.vmware.com/v2/latest/.
2 Klicken Sie auf das Verzeichnis für das gewünschte Image. In der Regel ist dieses Verzeichnis die neueste oder aktuellste Version der Kubernetes-Distribution.
Beispiel:
ob-15957779-photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd
Hinweis Der Name der Distribution ist später erforderlich, wenn Sie die Dateien in die lokale Inhaltsbibliothek importieren. Daher sollten Sie ihn in eine Datei kopieren oder den Browser so lange geöffnet lassen, bis Sie das Verfahren abgeschlossen haben.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 133
3 Klicken Sie für jede der folgenden Dateien mit der rechten Maustaste und wählen Sie Link speichern unter aus.
n photon-ova.ovf
n photon-ova-disk1.vmdk
4 Stellen Sie sicher, dass jede Datei erfolgreich in Ihr lokales Dateisystem heruntergeladen wurde.
Nächste Schritte
Erstellen einer lokalen Inhaltsbibliothek.
Erstellen einer lokalen Inhaltsbibliothek
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, erstellen Sie eine lokale Inhaltsbibliothek.
Voraussetzungen
Herunterladen der Image-Dateien.
Verfahren
1 Melden Sie sich über vSphere Client bei vCenter Server an.
2 Klicken Sie auf Menü.
3 Klicken Sie auf Inhaltsbibliothek.
4 Klicken Sie auf das Symbol +Erstellen.
5 Konfigurieren Sie im Assistenten Neue Inhaltsbibliothek die Bibliothek wie folgt:
a Geben Sie einen Namen für die Bibliothek ein, z. B. Kubernetes-local, und klicken Sie auf Weiter.
b Wählen Sie Lokale Inhaltsbibliothek aus und klicken Sie auf Weiter.
c Wählen Sie den Datenspeicher und klicken Sie auf Weiter.
d Überprüfen Sie die Konfiguration und klicken Sie auf Beenden.
Nächste Schritte
Importieren von Images in die lokale Inhaltsbibliothek.
Importieren von Images in die lokale Inhaltsbibliothek
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, importieren Sie die heruntergeladenen Image-Dateien in die lokale Inhaltsbibliothek.
Voraussetzungen
n Herunterladen der Image-Dateien
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 134
n Erstellen einer lokalen Inhaltsbibliothek
Verfahren
1 Melden Sie sich über vSphere Client bei vCenter Server an.
2 Wählen Sie Menü > Inhaltsbibliotheken > aus.
3 Klicken Sie in der Liste der Inhaltsbibliotheken auf den Link für den Namen der von Ihnen erstellten lokalen Inhaltsbibliothek.
4 Klicken Sie auf Aktionen.
5 Wählen Sie Element importieren aus.
6 Wählen Sie im Fenster Bibliothekselement importieren die Option Lokale Datei aus.
7 Klicken Sie auf Dateien hochladen.
8 Wählen Sie die Dateien photon-ova.ovf und photon-ova-disk1.vmdk aus.
Folgende Meldung wird angezeigt: 2 files ready to import. Jede Datei wird mit einem grünen Häkchen neben Ihrem Namen aufgelistet.
9 Ändern Sie den Namen für das Zielelement, um die vollständige Kubernetes-Version aus dem Verzeichnis aufzunehmen, in das Sie die Dateien heruntergeladen haben.
Beispiel:
photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd
10 Klicken Sie auf Import.
11 Zeigen Sie den Bereich Aktuelle Aufgaben am unteren Rand der Seite an.
12 Überwachen Sie die Aufgabe Inhalt eines Bibliothekselements abrufen und stellen Sie sicher, dass sie erfolgreich abgeschlossen wurde.
Nächste Schritte
Verknüpfen der lokalen Inhaltsbibliothek mit dem Supervisor-Namespace.
Verknüpfen der lokalen Inhaltsbibliothek mit dem Supervisor-Namespace
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, verknüpfen Sie die lokale Inhaltsbibliothek mit dem Supervisor-Namespace.
Voraussetzungen
n Herunterladen der Image-Dateien.
n Erstellen einer lokalen Inhaltsbibliothek.
n Importieren von Images in die lokale Inhaltsbibliothek.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 135
Verfahren
1 Melden Sie sich über vSphere Client bei vCenter Server an.
2 Klicken Sie auf Menü.
3 Klicken Sie auf Arbeitslastverwaltung.
4 Klicken Sie auf Namespaces.
5 Wählen Sie den Supervisor-Namespace aus, in dem Sie den Tanzu Kubernetes-Cluster platzieren möchten. Oder erstellen Sie einen Supervisor-Namespace und wählen Sie ihn aus.
6 Wenn der Supervisor-Namespace ausgewählt wurde, suchen Sie die Tanzu Kubernetes-Kachel.
7 Klicken Sie neben der Beschriftung Inhaltsbibliothek auf Bearbeiten.
8 Aktivieren Sie im Fenster Inhaltsbibliothek das Optionsfeld neben dem Namen der von Ihnen erstellten lokalen Inhaltsbibliothek, z. B. Kubernetes-local.
9 Klicken Sie auf OK.
Nächste Schritte
Überprüfen der Verfügbarkeit des Images der virtuellen Maschine.
Überprüfen der Verfügbarkeit des Images der virtuellen Maschine
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, stellen Sie sicher, dass das Image der virtuellen Maschine synchronisiert und verfügbar ist.
Hinweis Nachdem die lokale Inhaltsbibliothek erstellt und mit dem Ziel-Supervisor-Namespace verknüpft wurde, kann es einige Minuten dauern, bis das Image der virtuellen Maschine synchronisiert und für die Bereitstellung eines Tanzu Kubernetes-Clusters verfügbar ist.
Voraussetzungen
n Herunterladen der Image-Dateien.
n Erstellen einer lokalen Inhaltsbibliothek.
n Importieren von Images in die lokale Inhaltsbibliothek.
n Verknüpfen der lokalen Inhaltsbibliothek mit dem Supervisor-Namespace.
Verfahren
1 Melden Sie sich beim Supervisor-Cluster an.
Beispiel:
kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-
USERNAME
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 136
2 Führen Sie einen Kontextwechsel zum Ziel-Supervisor-Namespace durch.
kubectl config use-context SUPERVISOR-NAMESPACE
3 Führen Sie den folgenden Befehl aus.
kubectl get virtualmachineimages
Überprüfen Sie, ob das Image angezeigt wird, das Sie in der lokalen Inhaltsbibliothek synchronisiert haben.
NAME AGE
photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd 14m
Nächste Schritte
Erstellen eines Clusters mit dem lokalen Image.
Erstellen eines Clusters mit dem lokalen Image
Um einen Tanzu Kubernetes-Cluster in einer Air-Gapped-Umgebung bereitzustellen, erstellen Sie einen Cluster mit dem VM-Image, das aus einer lokalen Inhaltsbibliothek synchronisiert ist.
Für den Wert distribution.version können Sie entweder den vollständigen Image-Namen eingeben oder, wenn Sie das Namensformat aus dem Image-Verzeichnis beibehalten haben, ihn auf die Kubernetes-Version verkürzen. Wenn Sie eine vollqualifizierte Versionsnummer verwenden möchten, ersetzen Sie ----- durch +. Wenn Sie beispielsweise über ein OVA-Image mit dem Namen photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd verfügen, sind die folgenden Formate akzeptabel.
spec:
distribution:
version: v1.16.8
spec:
distribution:
version: v1.16.8+vmware.1-tkg.3
spec:
distribution:
version: v1.16.8+vmware.1-tkg.3.60d2ffd
```
Voraussetzungen
n Herunterladen der Image-Dateien.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 137
n Erstellen einer lokalen Inhaltsbibliothek.
n Importieren von Images in die lokale Inhaltsbibliothek.
n Verknüpfen der lokalen Inhaltsbibliothek mit dem Supervisor-Namespace.
n Überprüfen der Verfügbarkeit des Images der virtuellen Maschine.
Verfahren
1 Aktualisieren Sie die Cluster-Spezifikationsdatei mit der heruntergeladenen Image-Version.
Beispiel:
apiVersion: run.tanzu.vmware.com/v1alpha1
kind: TanzuKubernetesCluster
metadata:
name: dev-cluster
namespace: cltest
spec:
topology:
controlPlane:
count: 3
class: best-effort-xsmall
storageClass: high-performance-ssd
workers:
count: 3
class: best-effort-xsmall
storageClass: high-performance-ssd
distribution:
version: v1.16.8
settings:
network:
cni:
name: calico
services:
cidrBlocks: ["198.51.100.0/12"]
pods:
cidrBlocks: ["192.0.2.0/16"]
2 Führen Sie zum Erstellen eines Clusters den folgenden Befehl aus.
kubectl apply -f CLUSTER-NAME.yaml
Bereitstellen von Arbeitslasten für Tanzu Kubernetes-Cluster
Sie können Anwendungsarbeitslasten für Tanzu Kubernetes-Cluster mithilfe von Pods, Diensten, dauerhaften Volumes und Ressourcen auf höherer Ebene (z. B. Bereitstellungen und Replikat-Sets) implementieren.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 138
Beispiel für Tanzu Kubernetes-Arbeitslast
Nachdem Sie einen Tanzu Kubernetes-Cluster bereitgestellt haben, wird empfohlen, eine Testarbeitslast bereitzustellen und die Cluster-Funktionalität zu testen.
Sie können die Beispielanwendung Kubernetes Up and Running Demo verwenden, um zu überprüfen, ob der neu bereitgestellte Cluster ordnungsgemäß funktioniert.
Voraussetzungen
n Stellen Sie einen Tanzu Kubernetes-Cluster bereit. Weitere Informationen hierzu finden Sie unter Bereitstellen eines Tanzu Kubernetes-Clusters.
n Stellen Sie eine Verbindung zum Cluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Wechseln Sie den Kontext, um den Kontext der Tanzu Kubernetes-Cluster-Zielkonfiguration zu verwenden, indem Sie folgenden Befehl ausführen.
kubectl config use-context TANZU-CLUSTER-NAME
2 Stellen Sie die kuard-Anwendung auf Ihrem Tanzu Kubernetes-Cluster bereit, indem Sie den folgenden Befehl ausführen.
kubectl run --restart=Never --image=gcr.io/kuar-demo/kuard-amd64:blue kuard
3 Leiten Sie den Containerport 8080 an den Port 8080 Ihres lokalen Hosts weiter, indem Sie den folgenden Befehl ausführen.
kubectl port-forward kuard 8080:8080
4 Starten Sie Ihren Browser und gehen Sie zu http://localhost:8080.
Die kuard-Webseite wird zu Erkundungszwecken angezeigt. Drücken Sie dann in der kubectl-Sitzung Ctrl+C, um die Portweiterleitung zu beenden.
5 Um zu überprüfen, ob der Pod erstellt wurde, führen Sie den folgenden Befehl aus.
kubectl get pods
Erwartetes Ergebnis:
NAME READY STATUS RESTARTS AGE
kuard 1/1 Running 0 10d
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 139
6 Um den erstellten kuard-Pod zu löschen, führen Sie den folgenden Befehl aus.
kubectl delete pod kuard
Erwartetes Ergebnis:
pod "kuard" deleted
7 Um zu überprüfen, ob die von Ihnen erstellten Pods gelöscht wurden, führen Sie den folgenden Befehl aus.
kubectl get pods
Nächste Schritte
Überprüfen Sie das Clusterknoten-Netzwerk. Weitere Informationen hierzu finden Sie unter Befehle für das Tanzu Kubernetes-Cluster-Netzwerk.
Beispiel für einen Load Balancer für den Tanzu Kubernetes-Dienst
Um einen externen Load Balancer in einem Tanzu Kubernetes-Cluster bereitzustellen, können Sie einen Dienst vom Typ „LoadBalancer“ erstellen. Der Load Balancer stellt eine öffentliche IP-Adresse bereit. Der Datenverkehr vom externen Load Balancer kann an Cluster-Pods weitergeleitet werden.
Sie können einen externen Load Balancer für Kubernetes-Pods bereitstellen, die als Dienste verfügbar gemacht werden. Beispielsweise können Sie einen Nginx-Container bereitstellen und als Kubernetes-Dienst vom Typ „LoadBalancer“ zur Verfügung stellen.
Voraussetzungen
n Sehen Sie sich die Details zum Diensttyp „LoadBalancer“ in der Dokumentation zu Kubernetes an.
n Stellen Sie einen Tanzu Kubernetes-Cluster bereit. Weitere Informationen hierzu finden Sie unter Bereitstellen eines Tanzu Kubernetes-Clusters.
n Erstellen Sie eine entsprechende PodSecurityPolicy-Ressource. Weitere Informationen hierzu finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
n Stellen Sie eine Verbindung mit dem Tanzu Kubernetes-Zielcluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Stellen Sie sicher, dass der Cluster den VMware Cloud Provider Pod ausführt.
kubectl get pods -n vmware-system-cloud-provider
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 140
Der Tanzu Cloud Provider ist bereit und wird ausgeführt.
NAME READY STATUS RESTARTS AGE
tanzu-cluster-cloud-provider-59dc84b95c-nbs4n 1/1 Running 0 24h
2 Erstellen Sie eine YAML-Datei mit dem Namen nginx-lbsvc.yaml und füllen Sie sie mit dem folgenden Inhalt auf:
kind: Service
apiVersion: v1
metadata:
name: srvclb-ngnx
spec:
selector:
app: hello
tier: frontend
ports:
- protocol: "TCP"
port: 80
targetPort: 80
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: loadbalancer
spec:
replicas: 2
selector:
matchLabels:
app: hello
template:
metadata:
labels:
app: hello
tier: frontend
spec:
serviceAccountName: NETWORKING-TEST-SA
containers:
- name: nginx
image: "nginxdemos/hello"
Diese YAML-Datei definiert einen Kubernetes-Dienst vom Typ „LoadBalancer“ und stellt einen Nginx-Container als externen Load Balancer für den Dienst bereit.
3 Wenden Sie die Konfiguration des Diensttyps „LoadBalancer“ an.
kubectl apply -f nginx-lbsvc.yaml
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 141
4 Überprüfen Sie die Bereitstellung des Nginx-Pods und -Diensts.
kubectl get all
In der Befehlsausgabe sehen Sie, dass pod/nginx-UUID-Pod mit dem Status Running angezeigt wird und dass service/nginx vom Typ LoadBalancer mit einer externen und einer internen IP-Adresse verfügbar ist. Der Dienst wird auch im Supervisor-Namespace dargestellt.
5 Rufen Sie die externe IP-Adresse und den Port für den Nginx-LoadBalancer-Dienst ab.
kubectl get services
Beispielergebnis:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
srvclb LoadBalancer 198.56.165.254 192.168.123.4 80:30964/TCP 14m
6 Starten Sie einen Browser und geben Sie die externe IP-Adresse für den Nginx-LoadBalancer-Dienst ein.
Folgende Meldung wird angezeigt: Welcome to nginx!
Beispiel für Tanzu Kubernetes-Ingress
Eine Kubernetes-Ingress-Ressource stellt HTTP- oder HTTPS-Routing von außerhalb des Clusters zu einem oder mehreren Diensten innerhalb des Clusters bereit. Tanzu Kubernetes-Cluster unterstützen Ingress durch Drittanbietercontroller wie etwa Contour und Nginx.
Dieses Lernprogramm veranschaulicht, wie Sie den Contour-Ingress-Controller für das Routing von externem Datenverkehr zu Diensten in einem Tanzu Kubernetes-Cluster bereitstellen. Contour ist ein Open Source-Projekt, an dem VMware beteiligt ist. Sie können auch den Nginx-Ingress-Controller verwenden, um Ingress-Dienste zu unterstützen.
Voraussetzungen
n Weitere Informationen finden Sie in der Dokumentation zu Kubernetes unter der Ressource Ingress.
n Überprüfen Sie bestimmte Ingress-Controller wie Contour und Nginx.
n Stellen Sie einen Tanzu Kubernetes-Cluster bereit. Weitere Informationen hierzu finden Sie unter Bereitstellen eines Tanzu Kubernetes-Clusters.
n Fügen Sie eine Pod-Sicherheitsrichtlinie hinzu. Weitere Informationen hierzu finden Sie unter Beispielrolle für die benutzerdefinierte Pod-Sicherheitsrichtlinie.
n Stellen Sie eine Verbindung mit dem Tanzu Kubernetes-Cluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 142
Verfahren
1 Erstellen Sie einen Namespace mit dem Namen projectcontour. Dies ist der Standard-Namespace für die Bereitstellung des Contour-Ingress-Controllers.
2 Laden Sie die YAML-Datei des Contour-Ingress-Controllers herunter: Contour-Ingress-Bereitstellung.
3 Öffnen Sie die Datei contour.yaml mit einem Texteditor.
4 Suchen Sie nach der Zeile externalTrafficPolicy: Local und löschen Sie sie aus der Datei contour.yaml. Diese Zeile befindet sich im Abschnitt Service.spec der YAML-Datei (normalerweise in Zeile 1193).
5 Bearbeiten Sie die Datei contour.yaml und fügen Sie die Pod-Sicherheitsrichtlinie in der Rolle mit dem Namen contour-certgen hinzu.
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
name: contour-certgen
namespace: projectcontour
rules:
- apiGroups:
- ""
resources:
- secrets
verbs:
- list
- watch
- create
- get
- put
- post
- patch
- apiGroups:
- extensions
resourceNames:
- DEFAULT-OR-CUSTOM-PSP #Enter the name of a valid PSP
resources:
- podsecuritypolicies
verbs:
- use
6 Bearbeiten Sie die Datei contour.yaml und fügen Sie die Pod-Sicherheitsrichtlinie in der Rolle mit dem Namen contour-leaderelection hinzu.
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
name: contour-leaderelection
namespace: projectcontour
rules:
- apiGroups:
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 143
- ""
resources:
- configmaps
verbs:
- create
- get
- list
- watch
- update
- apiGroups:
- ""
resources:
- events
verbs:
- create
- update
- patch
- apiGroups:
- extensions
resourceNames:
- DEFAULT-OR-CUSTOM-PSP #Enter the name of a valid PSP
resources:
- podsecuritypolicies
verbs:
- use
7 Stellen Sie Contour bereit, indem Sie die Datei contour.yaml anwenden.
kubectl apply -f contour.yaml
8 Stellen Sie sicher, dass der Contour-Ingress-Controller als Dienst vom Typ „LoadBalancer“ bereitgestellt wird und dass über seine externe IP-Adresse auf ihn zugegriffen werden kann.
kubectl get services -n projectcontour
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
contour ClusterIP 198.63.146.166 <none> 8001/TCP 120m
envoy LoadBalancer 198.48.52.47 192.168.123.5 80:30501/TCP,443:30173/TCP 120m
9 Vergewissern Sie sich, dass die Contour- und Envory-Pods ausgeführt werden.
kubectl get pods -n projectcontour
NAME READY STATUS RESTARTS AGE
contour-7966d6cdbf-skqfl 1/1 Running 1 21h
contour-7966d6cdbf-vc8c7 1/1 Running 1 21h
contour-certgen-77m2n 0/1 Completed 0 21h
envoy-fsltp 1/1 Running 0 20h
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 144
10 Pingen Sie den Load Balancer mithilfe der externen IP-Adresse an.
Beispiel:
ping 192.168.123.5
PING 192.168.123.5 (192.168.123.5) 56(84) bytes of data.
64 bytes from 192.168.123.5: icmp_seq=1 ttl=62 time=3.50 ms
11 Stellen Sie zwei Testdienste bereit und fügen Sie Ingress-Regeln und -Pfade hinzu, indem Sie die folgende YAML-Datei mit dem Namen ingress-test.yaml erstellen:
kind: Service
apiVersion: v1
metadata:
name: hello
spec:
selector:
app: hello
tier: backend
ports:
- protocol: TCP
port: 80
targetPort: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello
spec:
replicas: 3
selector:
matchLabels:
app: hello
tier: backend
track: stable
template:
metadata:
labels:
app: hello
tier: backend
track: stable
spec:
serviceAccountName: test-sa
containers:
- name: hello
image: "gcr.io/google-samples/hello-go-gke:1.0"
ports:
- name: http
containerPort: 80
---
kind: Service
apiVersion: v1
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 145
metadata:
name: nihao
spec:
selector:
app: nihao
tier: backend
ports:
- protocol: TCP
port: 80
targetPort: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nihao
spec:
replicas: 3
selector:
matchLabels:
app: nihao
tier: backend
track: stable
template:
metadata:
labels:
app: nihao
tier: backend
track: stable
spec:
containers:
- name: nihao
image: "gcr.io/google-samples/hello-go-gke:1.0"
ports:
- name: http
containerPort: 80
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hello-ingress
spec:
rules:
- http:
paths:
- path: /hello
backend:
serviceName: hello
servicePort: 80
- path: /nihao
backend:
serviceName: nihao
servicePort: 80
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 146
12 Wenden Sie die Konfiguration der YAML-Datei „ingress-test.yaml“ an.
kubectl apply -f ingress-test.yaml
13 Stellen Sie sicher, dass die Dienste hello und nihao erstellt wurden.
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello ClusterIP 198.63.19.152 <none> 80/TCP 21h
nihao ClusterIP 198.57.57.66 <none> 80/TCP 21h
14 Stellen Sie sicher, dass Sie über die jeweiligen Ingress-Routen auf die beiden Dienste zugreifen können.
curl http://192.168.123.5:80/hello
{"message":"Hello"}
curl http://192.168.123.5:80/nihao
{"message":"Hello"}
Auf die im Cluster ausgeführten Dienste wird extern über den Ingress-Controller zugegriffen. Hierzu wird die externe IP-Adresse des Load Balancers verwendet.
Beispiel für die Beanspruchung eines dauerhaften Tanzu Kubernetes-Volumes
Zur Ausführung statusbehafteter Arbeitslasten für Tanzu Kubernetes-Cluster können Sie eine Beanspruchung eines dauerhaften Volumes (Persistent Volume Claim, PVC) erstellen, um dauerhafte Speicherressourcen anzufordern, ohne die Details der zugrunde liegenden Speicherinfrastruktur zu kennen. Der Speicher, der für das PVC verwendet wird, wird aus dem Speicherkontingent für den Supervisor-Namespace zugewiesen.
Container sind standardmäßig flüchtig und statusfrei. Ein gängiger Ansatz bei statusbehafteten Arbeitslasten besteht darin, eine Beanspruchung eines dauerhaften Volumes (Persistent Volume Claim, PVC) zu erstellen. Mit einem PVC können Sie die dauerhaften Volumes mounten und auf den Speicher zugreifen. Die Anforderung stellt dynamisch ein dauerhaftes Volume-Objekt und eine übereinstimmende virtuelle Festplatte bereit. Die Beanspruchung ist an das dauerhafte Volume gebunden. Wenn Sie die Beanspruchung löschen, werden das entsprechende dauerhafte Volume-Objekt und die bereitgestellte virtuelle Festplatte ebenfalls gelöscht.
Voraussetzungen
n Weitere Informationen finden Sie in der Dokumentation Speicher in vSphere with Kubernetes.
n Melden Sie sich beim Tanzu Kubernetes-Zielcluster an. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 147
Verfahren
1 Wechseln Sie zu dem Namespace, in dem der Cluster ausgeführt wird.
kubectl config use-context NAMESPACE
2 Listen Sie die verfügbaren Speicherklassen auf.
kubectl get storageclasses
3 Erstellen Sie eine YAML-Datei, die die PVC-Konfiguration enthält.
Orientieren Sie sich an folgendem Beispiel. Ersetzen Sie die Werte der Variablen name, storageClassName und storage durch Ihre eigenen Werte.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: gold
resources:
requests:
storage: 3Gi
4 Wenden Sie das PVC auf den Cluster an.
kubectl apply -f PVC-NAME.yaml
5 Überprüfen Sie den Status der Beanspruchung eines dauerhaften Volumes.
kubectl get pvc
Das PVC wird aufgeführt und kann verwendet werden. Außerdem wird das PVC im Supervisor-Namespace angezeigt, da der Speicher aus seinem Kontingent hervorgeht.
Nächste Schritte
Sehen Sie sich das Beispiel für eine statusbehaftete Anwendung in der Kubernetes-Dokumentation an: Deploying WordPress and MySQL with Persistent Volumes.
Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern
Der Tanzu Kubernetes Grid-Dienst stellt Tanzu Kubernetes-Cluster mit aktiviertem PodSecurityPolicy-Zugangscontroller bereit. Dies bedeutet, dass zur Bereitstellung von Arbeitslasten die Pod-Sicherheitsrichtlinie (Pod Security Policy, PSP) erforderlich ist. Clusteradministratoren können Pods von ihrem Benutzerkonto für einen beliebigen Namespace und von Dienstkonten für den Namespace „kube-system“ bereitstellen. Für alle anderen
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 148
Anwendungsfälle müssen Sie explizit eine Bindung an die Pod-Sicherheitsrichtlinie herstellen. Cluster enthalten standardmäßige Pod-Sicherheitsrichtlinien, an die Sie binden können. Sie haben aber auch die Möglichkeit, eigene Sicherheitsrichtlinien zu erstellen.
Informationen zu Kubernetes-Pod-Sicherheitsrichtlinien
Kubernetes-Pod-Sicherheitsrichtlinien (Pod Security Policies, PSPs) sind Ressourcen auf Clusterebene, die die Sicherheit der Pods kontrollieren. Mithilfe von PSPs haben Sie die Kontrolle darüber welche Pod-Typen von welchen Kontotypen bereitgestellt werden können.
Eine PodSecurityPolicy-Ressource definiert eine Reihe von Bedingungen, die ein Pod erfüllen muss, damit er bereitgestellt werden kann. Wenn diese Bedingungen nicht erfüllt sind, kann der Pod nicht bereitgestellt werden. Eine einzelne PodSecurityPolicy muss einen Pod in seiner Gesamtheit validieren. Ein Pod kann nicht einige seiner Regeln in einer Richtlinie und andere in einer anderen Richtlinie haben.
Es gibt verschiedene Möglichkeiten, die Verwendung von Pod-Sicherheitsrichtlinien in Kubernetes zu implementieren. Der typische Ansatz ist die Verwendung von RBAC-Objekten (rollenbasierte Zugriffssteuerung, Role-Based Access Control). ClusterRole und ClusterRoleBinding werden clusterweit angewendet; Role und RoleBinding gelten für einen bestimmten Namespace. Wenn RoleBinding verwendet wird, können Pods nur im selben Namespace wie die Bindung ausgeführt werden.
Es gibt zwei Methoden zum Erstellen von Kubernetes-Pods: direkt oder indirekt. Sie erstellen einen Pod direkt, indem Sie eine Pod-Spezifikation mit Ihrem Benutzerkonto bereitstellen. Sie erstellen einen Pod indirekt, indem Sie Ressourcen auf höherer Ebene definieren, z. B. eine Bereitstellung oder ein DaemonSet. In diesem Fall erstellt ein Dienstkonto den zugrunde liegenden Pod.
Um PSPs effektiv zu verwenden, müssen Sie beide Workflows zum Erstellen von Pods berücksichtigen. Wenn ein Benutzer einen Pod direkt erstellt, steuert die an das Benutzerkonto gebundene PSP den Vorgang. Wenn ein Benutzer einen Pod mithilfe eines Dienstkontos erstellt, muss die PSP an das zum Erstellen des Pods verwendete Dienstkonto gebunden werden. Wenn in der Pod-Spezifikation kein Dienstkonto angegeben ist, wird das standardmäßige Dienstkonto für den Namespace verwendet.
Weitere Informationen finden Sie unter Pod Security Policies, RBAC und Service Accounts in der Kubernetes-Dokumentation.
PodSecurityPolicy-Standardressource für Tanzu Kubernetes-Cluster
In der Tabelle werden die berechtigten und beschränkten standardmäßigen Pod-Sicherheitsrichtlinien für Tanzu Kubernetes-Cluster und die mit den einzelnen Richtlinien verbundenen ClusterRole-Standardobjekte aufgelistet und beschrieben.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 149
Tabelle 7-4. PodSecurityPolicy-Standardressource mit zugeordnetem ClusterRole-Objekt
Standard-PSP Berechtigung BeschreibungZugeordnetes ClusterRole-Standardobjekt
vmware-system-privileged Als beliebiger Benutzer ausführen
Uneingeschränkte PSP. Entspricht der Ausführung eines Clusters ohne aktivierten PSP-Zugangscontroller.
psp:vmware-system-privileged
kann diese PSP verwenden.
vmware-system-restricted Muss als Nicht-Root-Benutzer ausgeführt werden
Eingeschränkte PSP. Erlaubt keinen berechtigten Zugriff auf Pod-Container, blockiert mögliche Eskalationen zu Root und erfordert die Nutzung mehrerer Sicherheitsmechanismen.
psp:vmware-system-restricted
kann diese PSP verwenden.
Keine Standardbindungen für Tanzu Kubernetes-Cluster
Der Tanzu Kubernetes Grid-Dienst stellt kein standardmäßiges RoleBinding- und ClusterRoleBinding-Objekt für Tanzu Kubernetes-Cluster bereit.
Ein vCenter Single Sign-On-Benutzer, dem die Berechtigung Bearbeiten für einen Supervisor-Namespace gewährt wird, wird der Rolle cluster-admin für jeden in diesem Namespace bereitgestellten Tanzu Kubernetes-Cluster zugeordnet. Ein authentifizierter Clusteradministrator kann implizit die PSP vmware-system-privileged verwenden. Obwohl es sich technisch nicht um ein ClusterRoleBinding-Objekt handelt, hat es dieselbe Wirkung.
Der Clusteradministrator muss beliebige Bindungen definieren, um die Pod-Typen, die Benutzer in einem Cluster bereitstellen können, zu erlauben oder einzuschränken. Wenn ein RoleBinding-Objekt verwendet wird, lässt die Bindung nur zu, dass Pods im selben Namespace wie die Bindung ausgeführt werden. Hierbei ist eine Kopplung mit Systemgruppen möglich, um Zugriff auf alle im Namespace ausgeführten Pods zu gewähren. Benutzer ohne Administratorrechte, die sich gegenüber dem Cluster authentifizieren, werden der Rolle authenticated zugewiesen und können als solche an die standardmäßige PSP gebunden werden. Weitere Informationen hierzu finden Sie unter Gewähren des Entwicklerzugriffs auf Tanzu Kubernetes-Cluster.
Wirkung der PodSecurityPolicy-Standardressource auf Tanzu Kubernetes-Cluster
Das folgende Verhalten wird für alle Tanzu Kubernetes-Cluster erzwungen:
n Ein Clusteradministrator kann berechtigte Pods mit seinem Benutzerkonto direkt in jedem Namespace erstellen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 150
n Ein Clusteradministrator kann im Namespace „kube-system“ Bereitstellungen, StatefulSet- und DaemonSet-Objekte erstellen (von denen jedes wiederum berechtigte Pods erstellt). Wenn Sie einen anderen Namespace verwenden möchten, finden Sie weitere Informationen unter Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie.
n Ein Clusteradministrator kann im Namespace „kube-system“ seine eigenen PSPs erstellen (zusätzlich zu den beiden Standard-PSPs) und diese PSPs an alle Benutzer binden. Wenn Sie Ihre eigene PSP definieren, finden Sie weitere Informationen in der englischsprachigen Dokumentation zu Kubernetes unter Policy Order (Reihenfolge der Richtlinien).
n Authentifizierte Benutzer können erst berechtigte oder nicht berechtigte Pods erstellen, nachdem der Clusteradministrator die PSPs an die authentifizierten Benutzer gebunden hat. Weitere Informationen hierzu finden Sie unter Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie.
Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie
Um die Bereitstellung privilegierter Pods in einem Tanzu Kubernetes-Cluster zuzulassen, können Sie ein RoleBinding an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie erstellen.
Das Bereitstellen der Guestbook-Anwendung ist eine gebräuchliche Methode für Entwickler zum Erkunden von Kubernetes. Falls Sie alle Guestbook-YAML-Dateien für einen vom Tanzu Kubernetes Grid-Dienst zur Verfügung gestellten Tanzu Kubernetes-Cluster bereitstellen, wird der Anwendungs-Pod nicht erfolgreich erstellt. Wenn Sie den Befehl kubectl describe pod ausführen, wird sinngemäß folgende Fehlermeldung angezeigt:
“Error: container has runAsNonRoot and image will run as root”
Die Guestbook-Anwendung verwendet sowohl deployment- als auch replicaset-Ressourcen zum Bereitstellen von privilegierten Containern im Standard-Namespace. Da der PodSecurityPolicy-Controller für Tanzu Kubernetes-Cluster aktiviert ist, werden die Dienstkonten für diese Controller anhand der PodSecurityPolicy überprüft, wenn ein Clusterbenutzer versucht, einen Guestbook-Anwendungs-Pod zu erstellen. Wenn keine geeignete PSP an diese Dienstkonten gebunden ist, wird die Anwendung nicht bereitgestellt.
Standardmäßig können Tanzu Kubernetes-Administratoren mit ihren Benutzerkonten privilegierte Pods direkt in einem beliebigen Namespace erstellen. Die Guestbook-Anwendung stellt jedoch privilegierte Container mithilfe von Dienstkonten bereit. Ein Clusteradministrator kann Bereitstellungen, StatefulSets und ein DaemonSet im kube-system-Namespace erstellen. Die Guestbook-Anwendung stellt diese Ressourcen im Standard-Namespace bereit. Darüber hinaus können Benutzer, die keine Administratoren sind, ohne die korrekte PSP und korrekte Bindungen keine privilegierten oder nicht privilegierten Pods erstellen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 151
Eine Lösung besteht darin, Bindungen zur privilegierten Standard-PSP zu erstellen, um die Bereitstellung der Guestbook-Anwendung zu ermöglichen. Die privilegierte PodSecurityPolicy lässt als „root“ ausgeführte Pods und privilegierte Container für gebundene Konten zu. Sie können ein ClusterRoleBinding erstellen, das vmware-system-privileged clusterweit anwendet. Dies könnte jedoch zu einem Verstoß gegen das Prinzip des „geringsten Rechts“ verstoßen, indem mehr Berechtigungen erteilt werden als erforderlich. Der bessere Ansatz besteht darin, ein RoleBinding zu erstellen, mit dem die Systemdienstkonten die privilegierte PodSecurityPolicy-Ressource im Standard-Namespace verwenden können.
Hinweis In den Anweisungen wird beschrieben, wie Sie das RoleBinding mithilfe von YAML erstellen. Informationen zum entsprechenden kubectl-Befehl finden Sie unter Beispiel 1: RoleBinding-Objekt zum Ausführen eines berechtigten Satzes von Arbeitslasten.
Voraussetzungen
Informationen hierzu finden Sie unter den folgenden Themen:
n Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern
n Beispielbindungen für die standardmäßige Pod-Sicherheitsrichtlinie
Verfahren
1 Erstellen Sie zum Definieren der RoleBinding-Ressource die folgende YAML-Datei.
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rolebinding-default-privileged-sa-ns_default
namespace: default
roleRef:
kind: ClusterRole
name: psp:vmware-system-privileged
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: Group
apiGroup: rbac.authorization.k8s.io
name: system:serviceaccounts
2 Verwenden Sie kubectl, um die YAML-Datei anzuwenden und die Ressource zu erstellen.
kubectl apply -f ROLEBINDING-YAML-FILE-NAME
Nächste Schritte
Nachdem das RoleBinding erstellt wurde, können Sie die Guestbook-Anwendung auf dem Standard-Namespace bereitstellen, indem Sie die Schritte im Lernprogramm zur Guestbook-Anwendung befolgen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 152
Beispielbindungen für die standardmäßige Pod-Sicherheitsrichtlinie
Tanzu Kubernetes-Cluster enthalten die standardmäßige PodSecurityPolicy-Ressource, zu der Sie für die Bereitstellung von berechtigten und eingeschränkten Arbeitslasten eine Bindung herstellen können.
Beispiel 1: RoleBinding-Objekt zum Ausführen eines berechtigten Satzes von Arbeitslasten
Der folgende kubectl-Befehl erstellt ein RoleBinding-Objekt, das für die Ausführung eines berechtigten Satzes von Arbeitslasten mithilfe der Standard-PSP vmware-system-privileged Zugriff auf alle Dienstkonten im Standard-Namespace gewährt. Weitere Informationen hierzu finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
Hinweis Die YAML-Entsprechung dieser Bindung finden Sie unter Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie.
kubectl create rolebinding rolebinding-default-privileged-sa-ns_default
--namespace=default --clusterrole=psp:vmware-system-privileged
--group=system:serviceaccounts
Beispiel 2: ClusterRoleBinding-Objekt zum Ausführen eines privilegierten Satzes von Arbeitslasten
Mit dem folgenden kubectl-Befehl wird ein ClusterRoleBinding-Objekt erstellt, das authentifizierten Benutzer den Zugriff für die Ausführung eines privilegierten Satzes von Arbeitslasten mithilfe des Standard-PSP vmware-system-privileged gewährt.
kubectl create clusterrolebinding default-tkg-admin-privileged-binding
--clusterrole=psp:vmware-system-privileged --group=system:authenticated
Beispiel 3: RoleBinding-Objekt zum Ausführen eines eingeschränkten Satzes von Arbeitslasten
Die folgende YAML erstellt ein RoleBinding-Objekt, das für die Ausführung eines begrenzten Satzes von Arbeitslasten mithilfe der Standard-PSP vmware-system-restricted Zugriff auf alle Dienstkonten in einem bestimmten Namespace gewährt. Weitere Informationen hierzu finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: psp:serviceaccounts
namespace: some-namespace
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 153
name: system:serviceaccounts
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: psp:vmware-system-restricted
Alternativ zur Anwendung von YAML können Sie folgenden kubectl-Befehl ausführen:
kubectl create rolebinding psp:serviceaccounts
--clusterrole=psp:vmware-system-restricted --group=system:serviceaccounts
Beispiel 4: ClusterRoleBinding-Objekt zum Ausführen eines eingeschränkten Satzes von Arbeitslasten
Die folgende YAML erstellt ein ClusterRoleBinding-Objekt, das authentifizierten Benutzern für die Ausführung eines begrenzten Satzes von Arbeitslasten mithilfe der Standard-PSP vmware-system-restricted clusterweiten Zugriff gewährt. Weitere Informationen hierzu finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: psp:authenticated
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: system:authenticated
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: psp:vmware-system-restricted
Alternativ zur Anwendung von YAML können Sie folgenden kubectl-Befehl ausführen:
kubectl create clusterrolebinding psp:authenticated
--clusterrole=psp:vmware-system-restricted --group=system:authenticated
Beispielrolle für die benutzerdefinierte Pod-Sicherheitsrichtlinie
Für Tanzu Kubernetes-Cluster ist zur Bereitstellung von Arbeitslasten die Pod-Sicherheitsrichtlinie (Pod Security Policy, PSP) erforderlich. Wenn Sie Ihre eigene PSP definieren, müssen Sie ein Role- oder ClusterRole-Objekt erstellen, das auf die PSP verweist.
Beispielrolle für PodSecurityPolicy
Sehen Sie sich das Beispiel zur Beispiel für Tanzu Kubernetes-Ingress an. Es veranschaulicht eine Rolle, die auf eine PSP verweist.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 154
Zur Bereitstellung des Contour-Ingress-Controllers erstellen Sie eine Rolle mit dem Namen contour-leaderelection. Legen Sie in der Rollendefinition für die Rolle contour-leaderelection das Verb use auf eine von Ihnen definierte benutzerdefinierte PSP-Ressource fest. Alternativ können Sie eine der Standard-PSPs verwenden. Erstellen Sie dann eine Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie.
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
name: contour-leaderelection
namespace: projectcontour
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- get
- list
- watch
- update
- apiGroups:
- ""
resources:
- events
verbs:
- create
- update
- patch
- apiGroups:
- extensions
resourceNames:
- CUSTOM-OR-DEFAULT-PSP
resources:
- podsecuritypolicies
verbs:
- use
Betreiben von Tanzu Kubernetes-Clustern
Der Tanzu Kubernetes Grid-Dienst enthält benutzerdefinierte Ressourcen, die Sie für den Betrieb von Tanzu Kubernetes-Clustern verwenden. Aufgrund der engen Integration in die vSphere-Infrastruktur können Sie außerdem vertraute vSphere-Tools zur Unterstützung bei der Verwaltung und Wartung von Tanzu Kubernetes-Clustern verwenden.
Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe des vSphere Client
Sie können den Status von Tanzu Kubernetes-Clustern mithilfe des vSphere Client überwachen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 155
Verfahren
1 Melden Sie sich über vSphere Client bei vCenter Server an.
2 Wählen Sie unter Menü die Ansicht Hosts und Cluster aus.
3 Erweitern Sie die Objekte Datencenter > Cluster, in denen der Supervisor-Cluster erstellt wird.
4 Erweitern Sie den Ressourcenpool Namespaces.
5 Wählen Sie den Supervisor-Namespace aus, in dem Sie den Tanzu Kubernetes-Cluster bereitgestellt haben.
Jeder Tanzu Kubernetes-Cluster wird als Ordner innerhalb seines Namespace-Ressourcenpools aufgelistet. Jeder Tanzu Kubernetes-Cluster wird grafisch durch ein aus drei Sechsecken bestehendes Symbol neben seinem Namen aufgelistet.
6 Wechseln Sie zur Ansicht Menü > VMs und Vorlagen.
Innerhalb des Clusterordners sehen Sie die VMs, die die Clusterknoten beinhalten.
7 Wählen Sie den Supervisor-Namespace und dann die Registerkarte Berechnen aus.
8 Wählen Sie unter VMware-Ressourcen die Option Tanzu Kubernetes aus.
Alle in diesem Supervisor-Namespace bereitgestellten Tanzu Kubernetes-Cluster werden aufgelistet. Eine Beschreibung der einzelnen Statusfelder finden Sie unter Lebenszyklusstatus von Tanzu Kubernetes-Clustern in vSphere.
Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe von kubectl
Sie können den Status von bereitgestellten Tanzu Kubernetes-Clustern mit kubectl überwachen.
Verfahren
1 Authentifizieren Sie sich beim Supervisor-Cluster. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
2 Wechseln Sie zu dem Supervisor-Namespace, in dem der Cluster ausgeführt wird.
kubectl config use-context SUPERVISOR-NAMESPACE
3 Zeigen Sie eine Liste der Tanzu Kubernetes-Cluster an, die im Namespace ausgeführt werden.
kubectl get tanzukubernetesclusters
Dieser Befehl gibt den Status des Clusters zurück. Eine Beschreibung der Statusfelder finden Sie unter Lebenszyklusstatus des Tanzu Kubernetes-Clusters in kubectl.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 156
4 Zeigen Sie die Details des Clusters an.
kubectl describe tanzukubernetescluster <cluster-name>
Der Befehl gibt die Details des Clusters zurück. Im Abschnitt „Status“ der Befehlsausgabe werden ausführliche Informationen zum Cluster angezeigt.
...
Status:
Addons:
Cni:
Name: calico
Status: applied
Csi:
Name: pvcsi
Status: applied
Psp:
Name: defaultpsp
Status: applied
Cloudprovider:
Name: vmware-guest-cluster
Cluster API Status:
API Endpoints:
Host: 10.161.90.22
Port: 6443
Phase: provisioned
Node Status:
test-tanzu-cluster-control-plane-0: ready
test-tanzu-cluster-workers-0-749458f97c-97ljv: ready
Phase: running
Vm Status:
test-tanzu-cluster-control-plane-0: ready
test-tanzu-cluster-workers-0-749458f97c-97ljv: ready
Events: <none>
5 Führen Sie zusätzliche kubectl-Befehle aus, um weitere Details zum Cluster anzuzeigen. Weitere Informationen hierzu finden Sie unter Befehle für den Betrieb des Tanzu Kubernetes-Clusters.
Anzeigen der vollständigen Ressourcenhierarchie für einen Tanzu Kubernetes-Cluster
Sie können die vollständige Ressourcenhierarchie für einen Tanzu Kubernetes-Cluster mithilfe von kubectl anzeigen. Wenn Sie die vollständige Liste der Clusterressourcen anzeigen, können Sie leichter Ressourcen identifizieren, die möglicherweise zu Problemen führen.
Voraussetzungen
Stellen Sie eine Verbindung mit dem Supervisor-Cluster her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 157
Verfahren
1 Wechseln Sie den Kontext, um den Kontext des Zielclusters zu verwenden.
kubectl config use-context CLUSTER-NAME
2 Starten Sie den folgenden Befehl, um die Clusterressource für Cluster-API anzuzeigen.
kubectl describe clusters.cluster.x-k8s.io CLUSTER-NAME
Dieser Befehl gibt die Ressourcenhierarchie für den benannten Cluster zurück, z. B.: Namespace, API-Version, Ressourcenversion.
Migrieren von Tanzu Kubernetes-Clustern zu einer neuen Inhaltsbibliothek
Wenn die abonnierte Inhaltsbibliothek die Kapazitätsgrenze erreicht, können Sie einen Tanzu Kubernetes-Cluster migrieren, um eine neue Bibliothek mit zusätzlicher Speicherkapazität zu verwenden.
Wenn der vSphere-Administrator eine abonnierte Inhaltsbibliothek erstellt, legt er einen Datenspeicher zur Speicherung von Bibliotheksinhalten fest – in diesem Beispiel OVA-Dateien. Wenn im Laufe der Zeit mehr Kubernetes-Versionen verteilt werden, nimmt die Größe der abonnierten Inhaltsbibliothek zu, da für jedes Update OVA-Dateien hinzugefügt werden. Obwohl die abonnierte Inhaltsbibliothek keine explizite Kapazität aufweist, ist ihre Datenspeicherkapazität begrenzt.
Wenn die abonnierte Inhaltsbibliothek die Kapazitätsgrenze erreicht, wird möglicherweise diese Meldung angezeigt: Internal error occurred: get library items failed for. In diesem Fall können Sie den Tanzu Kubernetes-Cluster zu einer neuen abonnierten Inhaltsbibliothek migrieren, um die Speicherkapazität zu erhöhen. Die Migration erfolgt mithilfe von vSphere Client durch einen vSphere-Administrator.
Verfahren
1 Erstellen Sie eine neue abonnierte Inhaltsbibliothek mit ausreichender Kapazität für den Zielcluster. Weitere Informationen hierzu finden Sie unter Erstellen einer abonnierten Inhaltsbibliothek für Tanzu Kubernetes-Cluster.
2 Melden Sie sich über vSphere Client bei vCenter Server an.
3 Wählen Sie Menü > Hosts und Cluster aus.
4 Wählen Sie das vSphere-Clusterobjekt aus, in dem der Supervisor-Cluster mit dem Tanzu Kubernetes-Cluster bereitgestellt wird.
5 Wählen Sie die Registerkarte Konfigurieren aus.
6 Wählen Sie im Navigationsbereich die Option Namespaces > Allgemein > aus.
7 Klicken Sie im Hauptbereich neben dem Abschnitt Inhaltsbibliothek auf Bearbeiten.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 158
8 Wählen Sie die neue Inhaltsbibliothek aus, die Sie erstellt haben, und klicken Sie auf OK.
Durch diese Aktion wird das Update der Clusterkonfiguration ausgelöst.
Hinweis Nachdem Sie die Inhaltsbibliothek geändert haben, dauert es unter Umständen bis zu 10 Minuten, bis der Tanzu Kubernetes-Cluster die Änderung aus der Inhaltsquelle übernimmt.
Einen Tanzu Kubernetes-Cluster skalieren
Sie können einen Tanzu Kubernetes-Cluster horizontal skalieren, indem Sie die Zahl der Worker-Knoten mithilfe von kubectl erhöhen oder verringern.
Voraussetzungen
n Zum Skalieren eines Tanzu Kubernetes-Clusters aktualisieren Sie das Cluster-Manifest. Um das Cluster-Manifest inline zu bearbeiten, konfigurieren Sie die KUBE_EDITOR- oder EDITOR-Umgebungsvariable für Ihren bevorzugten Texteditor. Anweisungen hierzu finden Sie unter dem edit-Befehl in der Kubernetes-Dokumentation.
n Authentifizieren Sie sich beim Supervisor-Cluster. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
Verfahren
1 Wechseln Sie zu dem Namespace, in dem der Kubernetes-Cluster ausgeführt wird.
kubectl config use-context NAMESPACE
2 Listen Sie die Kubernetes-Cluster auf, die im Namespace ausgeführt werden.
kubectl get tanzukubernetescluster -n NAMESPACE
Beispiel:
kubectl get tanzukubernetescluster -n tkg-cluster-ns
Der Befehl gibt den Namen der ausgeführten Cluster, die Anzahl der Control Plane-VMs, die Anzahl der Worker-Knoten, die Softwareversion, das Alter und die Phase zurück. Eine Beschreibung der Statusfelder finden Sie unter Lebenszyklusstatus des Tanzu Kubernetes-Clusters in kubectl.
3 Zum Laden des Cluster-Manifests zur Bearbeitung führen Sie den Befehl kubectl edit aus.
kubectl edit tanzukubernetescluster/CLUSTER-NAME
Beispiel:
kubectl edit tanzukubernetescluster/tkg-cluster-01
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 159
Das Cluster-Manifest wird in dem Texteditor geöffnet, der von den Umgebungsvariablen KUBE_EDITOR oder EDITOR definiert wird. Wenn Sie die Datei speichern, aktualisiert kubectl das Manifest.
4 Bearbeiten Sie den Parameter spec.workers.count im Cluster-Manifest, indem Sie die Worker-Anzahl erhöhen oder verringern, je nachdem, ob Sie die Kapazität erhöhen oder verringern.
Um einen Cluster horizontal zu skalieren, müssen Sie beispielsweise die Anzahl der Worker-Knoten von 3 auf 4 erhöhen:
...
workers:
count: 3
...
...
workers:
count: 4
...
Um einen Cluster vertikal zu skalieren, müssen Sie beispielsweise die Anzahl der Worker-Knoten von 3 auf 2 reduzieren:
...
workers:
count: 3
...
...
workers:
count: 2
...
5 Um die Änderungen anzuwenden, speichern Sie die Datei im Texteditor.
Wenn Sie die Datei speichern, wendet kubectl die Änderungen auf den Cluster an. Der VM-Dienst auf dem Supervisor-Cluster stellt im Hintergrund den neuen Worker-Knoten bereit.
6 Um sich zu vergewissern, dass der neue Knoten hinzugefügt wurde, führen Sie den folgenden Befehl aus.
kubectl get tanzukubernetescluster CLUSTER-NAME
Beim horizontalen Skalieren wird der neue Knoten hinzugefügt.
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkg-cluster-01 3 4 v1.17.4+vmware.1-tkg.1.886c781 1d running
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 160
Beim vertikalen Skalieren wird der neue Knoten entfernt.
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkg-cluster-01 3 2 v1.17.4+vmware.1-tkg.1.886c781 1d running
Lebenszyklusstatus des Tanzu Kubernetes-Clusters
Sie können den Lebenszyklusstatus von Tanzu Kubernetes-Clustern in der vSphere-Bestandsliste sowie mithilfe von kubectl anzeigen.
Lebenszyklusstatus von Tanzu Kubernetes-Clustern in vSphere
In der Tabelle werden die Statusinformationen zum Tanzu Kubernetes-Cluster, die in der vSphere-Bestandsliste angezeigt werden, aufgelistet und beschrieben. Diese Informationen können Sie sich unter Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe des vSphere Client ansehen.
Tabelle 7-5. Status des Tanzu Kubernetes-Clusters in der vSphere-Bestandsliste
Feld Beschreibung Beispiel
Name Der benutzerdefinierte Name des Clusters. tkg-cluster-01
Erstellungszeit Das Datum und die Uhrzeit der Clustererstellung.
Mar 17, 2020, 11:42:46 PM
Phase Der Lebenszyklusstatus des Clusters. Weitere Informationen hierzu finden Sie unter Tabelle 7-7. Status der Lebenszyklusphase des Clusters.
creating
Worker-Anzahl Die Anzahl der Worker-Knoten im Cluster. 1 oder 2 oder 5
Verteilungsversion Die Version der Kubernetes-Software, die im Cluster ausgeführt wird.
v1.16.6+vmware.1-tkg.1.7144628
Adresse der Steuerungsebene Die IP-Adresse des Load Balancers der Steuerungsebene des Clusters.
192.168.123.2
Lebenszyklusstatus des Tanzu Kubernetes-Clusters in kubectl
In der Tabelle werden die Statusinformationen zum Tanzu Kubernetes-Cluster, die in kubectl angezeigt werden, aufgelistet und beschrieben. Diese Informationen können Sie sich unter Überwachen des Tanzu Kubernetes-Clusterstatus mithilfe von kubectl ansehen.
Tabelle 7-6. Status des Tanzu Kubernetes-Clusters in kubectl
Feld Beschreibung Beispiel
NAME Name des Clusters. tkg-cluster-01
CONTROL PLANE Anzahl der Knoten der Steuerungsebene im Cluster.
3
WORKER Anzahl der Worker-Knoten im Cluster.
5
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 161
Tabelle 7-6. Status des Tanzu Kubernetes-Clusters in kubectl (Fortsetzung)
Feld Beschreibung Beispiel
DISTRIBUTION Die Kubernetes-Version, auf der der Cluster ausgeführt wird.
v1.16.6+vmware.1-tkg.1.5b5608b
AGE Anzahl der Tage, an denen der Cluster ausgeführt wurde.
13d
PHASE Der Lebenszyklusstatus des Clusters. Weitere Informationen hierzu finden Sie unter Tabelle 7-7. Status der Lebenszyklusphase des Clusters.
running
Status der Lebenszyklusphase des Clusters
In der Tabelle wird der Status für jede Phase des Lebenszyklus eines Clusters aufgelistet und beschrieben. Siehe Tabelle 7-7. Status der Lebenszyklusphase des Clusters.
Tabelle 7-7. Status der Lebenszyklusphase des Clusters
Phase Beschreibung
creating Die Clusterbereitstellung kann beginnen, die Steuerungsebene wird erstellt – oder sie wird erstellt, aber nicht initialisiert.
deleting Der Cluster wird gelöscht.
failed Die Erstellung der Clustersteuerungsebene ist fehlgeschlagen, und wahrscheinlich ist ein Eingreifen des Benutzers erforderlich.
running Die Infrastruktur wird erstellt und konfiguriert, und die Steuerungsebene wird vollständig initialisiert.
updating Ein Update des Clusters wird durchgeführt.
Befehle für den Betrieb des Tanzu Kubernetes-Clusters
Sie können Tanzu Kubernetes-Cluster mithilfe von benutzerdefinierten kubectl-Befehlen verwalten. Diese Befehle werden von benutzerdefinierten Ressourcen zur Verfügung gestellt, die vom Tanzu Kubernetes Grid-Dienst erstellt wurden.
Benutzerdefinierte Befehle zum Verwalten von Tanzu Kubernetes-Clustern
In der Tabelle werden die kubectl-Befehle zum Verwalten von Tanzu Kubernetes-Clustern aufgelistet und beschrieben.
Tabelle 7-8. Benutzerdefinierte Befehle zum Verwalten von Tanzu Kubernetes-Clustern
Befehl Beschreibung
kubectl get tanzukubernetesclusterListet die Cluster im aktuellen Namespace auf.
kubectl get tkcKurzformversion des vorhergehenden Befehls.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 162
Tabelle 7-8. Benutzerdefinierte Befehle zum Verwalten von Tanzu Kubernetes-Clustern (Fortsetzung)
Befehl Beschreibung
kubectl describe tanzukubernetescluster CLUSTER-NAME
Beschreibt den angegebenen Cluster und zeigt den angegebenen Zustand, den Status und die Ereignisse an. Nach Abschluss der Bereitstellung zeigt dieser Befehl die virtuelle IP an, die für den Load Balancer erstellt wurde, der den Kubernetes-API-Endpoints vorgelagert ist.
kubectl get cluster-apiListet die Cluster-API-Ressourcen auf, die die Cluster im aktuellen Namespace unterstützen, einschließlich der Ressourcen aus dem Cluster-API-Projekt und aus dem vom Tanzu Kubernetes Grid-Dienst verwendeten Cluster-API-Anbieter.
kubectl get virtualmachineListet die VM-Ressourcen auf, die die Clusterknoten im aktuellen Namespace unterstützen.
kubectl get vmKurzformversion des vorhergehenden Befehls.
kubectl describe virtualmachine VIRTUAL-MACHINE-NAME
Beschreibt die angegebene virtuelle Maschine und zeigt den Zustand, den aktuellen Status und die Ereignisse an.
kubectl describe virtualmachinesetresourcepolicyListet die VM-Ressourcen zum Festlegen einer Ressourcenrichtlinie auf, die den Cluster im aktuellen Namespace unterstützen. Diese Ressourcen stellen den Ressourcenpool für die vSphere-Objekte und den Ordner dar, die für den Cluster verwendet werden.
kubectl get virtualmachineserviceListet die VM-Dienstressourcen auf, die die Clusterknoten im aktuellen Namespace unterstützen. Diese Ressourcen sind analog zu einem Dienst, allerdings nicht für Pods, sondern für virtuelle Maschinen. VM-Dienste werden sowohl für die Bereitstellung eines Load Balancers für die Knoten der Steuerungsebene eines Clusters als auch vom Anbieter paravirtueller Clouds verwendet, um in einem Cluster einen Kubernetes-Dienst vom Typ „LoadBalancer“ zu unterstützen. Weitere Informationen hierzu finden Sie auch in der Beschreibung zum kubectl loadbalancer-Befehl.
kubectl get vmserviceKurzformversion des vorhergehenden Befehls.
kubectl describe virtualmachineservice VIRTUAL-MACHINE-SERVICE-NAME
Beschreibt den angegebenen VM-Dienst und zeigt den angegebenen Clusterzustand, den aktuellen Status und die Ereignisse an.
kubectl get loadbalancerListet die Load Balancer-Ressourcen im aktuellen Namespace auf, einschließlich der für Cluster verwendeten Ressourcen. Ein Load Balancer wird für den VM-Dienst erstellt. Weitere Informationen hierzu finden Sie unter Tanzu Kubernetes-Cluster-Netzwerk.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 163
Tabelle 7-8. Benutzerdefinierte Befehle zum Verwalten von Tanzu Kubernetes-Clustern (Fortsetzung)
Befehl Beschreibung
kubectl get virtualnetworkListet die virtuellen Netzwerkressourcen im aktuellen Namespace auf, einschließlich der für Cluster verwendeten Ressourcen. Für jeden Namespace, in dem ein Cluster bereitgestellt wird, und für die einzelnen Cluster selbst wird ein virtuelles Netzwerk erstellt. Weitere Informationen hierzu finden Sie unter Tanzu Kubernetes-Cluster-Netzwerk.
kubectl get persistentvolumeclaimListet die Ressourcen für die Beanspruchung eines dauerhaften Volumes im aktuellen Namespace auf, einschließlich der für Cluster verwendeten Ressourcen. Weitere Informationen hierzu finden Sie unter Speicher in vSphere with Kubernetes.
kubectl get cnsnodevmattachmentListet die Ressourcen für VM-Anhänge von CNS-Knoten im aktuellen Namespace auf. Diese Ressourcen stellen den Anhang eines von CNS verwalteten dauerhaften Volumes an eine virtuelle Maschine dar, die als Knoten eines Clusters dient. Weitere Informationen hierzu finden Sie unter Speicher in vSphere with Kubernetes.
kubectl get configmapListet die Konfigurationszuordnungen im aktuellen Namespace auf, einschließlich der für die Erstellung von Clusterknoten verwendeten Zuordnungen. Konfigurationszuordnungen können nicht von Benutzern geändert werden. Alle Änderungen werden überschrieben.
kubectl get secretListet die geheimen Schlüssel im aktuellen Namespace auf, einschließlich der für die Erstellung und Verwaltung von Clusterknoten verwendeten geheimen Schlüssel. Weitere Informationen hierzu finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
Befehle für das Tanzu Kubernetes-Cluster-Netzwerk
Der Tanzu Kubernetes Grid-Dienst stellt Tanzu Kubernetes-Cluster mit einem Standardnetzwerk für Knoten, Pods und Dienste bereit. Sie können das Cluster-Netzwerk mithilfe von benutzerdefinierten kubectl-Befehlen überprüfen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 164
Benutzerdefinierte Befehle zum Überprüfen des Tanzu Kubernetes-Cluster-Netzwerks
Tabelle 7-9. Benutzerdefinierte kubectl-Befehle zum Überprüfen des Cluster-Netzwerks
Befehl Beschreibung
kubectl get virtualnetwork -n NAMESPACEGibt das virtuelle Netzwerk für Clusterknoten zurück. Verwenden Sie diesen Befehl, um zu überprüfen, ob die IP-Adresse für die Quell-Netzwerkadressübersetzung (Source Network Address Translation, SNAT) zugewiesen ist.
kubectl get virtualmachines -n NAMESPACE NODE-NAME
Gibt die virtuelle Netzwerkschnittstelle für Clusterknoten zurück. Verwenden Sie diesen Befehl, um zu überprüfen, ob der virtuellen Maschine für jeden Clusterknoten eine IP-Adresse zugewiesen wurde.
kubectl get virtualmachineservices -n NAMESPACE cluster-1-control-plane-service
Gibt den VM-Dienst für jeden Clusterknoten zurück. Verwenden Sie diesen Befehl, um zu überprüfen, ob der Status aktualisiert wurde und die virtuelle IP-Adresse (VIP) des Load Balancers umfasst.
kubectl get services -n NAMESPACE
curl -k https://EXTERNAL-IP:PORT/healthz
Gibt den für den Cluster-API-Zugriff erstellten Load Balancer des Kubernetes-Dienstes zurück. Verwenden Sie diesen Befehl, um zu überprüfen, ob eine externe IP zugewiesen ist. Überprüfen Sie mit cURL, ob über die externe IP-Adresse und den Port des Load Balancer-Dienstes Zugriff auf die API besteht.
kubectl get endpoints -n NAMESPACE cluster-1-control-plane-service
Gibt die Steuerungsebenenknoten (Endpoints) für den Cluster zurück. Verwenden Sie diesen Befehl, um zu überprüfen, ob jeder Endpoint erstellt und in den Endpoint-Pool eingeschlossen wurde.
Geheime Schlüssel für Tanzu Kubernetes-Cluster
Tanzu Kubernetes-Cluster verwenden geheime Schlüssel zum Speichern von Token, Schlüsseln und Kennwörtern für den Betrieb von Tanzu Kubernetes-Clustern.
Liste der geheimen Schlüssel von Tanzu Kubernetes-Clustern
Ein geheimer Kubernetes-Schlüssel ist ein Objekt, in dem eine kleine Menge sensibler Daten gespeichert wird, beispielsweise ein Kennwort, ein Token oder ein SSH-Schlüssel. Tanzu Kubernetes-Clusteradministratoren können beim Betrieb von Clustern mehrere geheime Schlüssel verwenden. In der Tabelle werden geheime Schlüssel aufgelistet und beschrieben, die Clusteradministratoren möglicherweise verwenden.
Hinweis Die Liste ist nicht vollständig. Sie enthält nur die geheimen Schlüssel, die möglicherweise manuell rotiert oder für den Zugriff auf Clusterknoten zu Fehlerbehebungszwecken verwendet werden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 165
Geheim Beschreibung
TANZU-KUBERNETES-CLUSTER-NAME-ccm-token-RANDOMEin Dienstkonto-Token, das vom Cloud-Controller-Manager des Anbieters paravirtueller Clouds verwendet wird, um eine Verbindung mit dem Supervisor-Namespace herzustellen. Löschen Sie den geheimen Schlüssel, um die Rotation dieser Anmeldedaten auszulösen.
TANZU-KUBERNETES-CLUSTER-NAME-pvcsi-token-RANDOMEin Dienstkonto-Token, das vom paravirtuellen CSI-Plug-In verwendet wird, um eine Verbindung mit dem Supervisor-Namespace herzustellen. Löschen Sie den geheimen Schlüssel, um die Rotation dieser Anmeldedaten auszulösen. Weitere Informationen hierzu finden Sie unter Wie ist vSphere with Kubernetes in vSphere-Speicher integriert?.
TANZU-KUBERNETES-CLUSTER-NAME-kubeconfigEine kubeconfig-Datei, mit der es möglich ist, als Benutzer kubernetes-admin eine Verbindung mit der Steuerungsebene des Clusters herzustellen. Dieser geheime Schlüssel kann verwendet werden, um auf einen Cluster zuzugreifen und Fehler in ihm zu beheben, wenn die vCenter Single Sign-On-Authentifizierung nicht verfügbar ist. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit der Tanzu Kubernetes-Steuerungsebene als Kubernetes-Administrator.
TANZU-KUBERNETES-CLUSTER-NAME-sshEin privater SSH-Schlüssel, mit dem es möglich ist, als vmware-system-user eine Verbindung mit jedem Clusterknoten herzustellen. Dieser geheime Schlüssel kann zur Anmeldung bei jedem Clusterknoten per SSH und zur Fehlerbehebung darauf verwendet werden. Weitere Informationen hierzu finden Sie unter Über SSH bei Tanzu Kubernetes-Clusterknoten als Systembenutzer.
TANZU-KUBERNETES-CLUSTER-NAME-ssh-passwordEin Kennwort, mit dem es möglich ist, als vmware-system-user eine Verbindung mit jedem Clusterknoten herzustellen. Dieses Kennwort kann über SSH oder beim Zugriff auf die VM-Konsole bereitgestellt werden. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit einem Clusterknoten als Systembenutzer mithilfe eines Kennworts.
TANZU-KUBERNETES-CLUSTER-NAME-caDas CA-Root-Zertifikat für die Tanzu Kubernetes-Cluster-Steuerungsebene, das von kubectl zum Herstellen einer sicheren Verbindung mit dem Kubernetes-API-Server verwendet wird.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 166
Update von vSphere with Kubernetes-Clustern 8Sie können ein Update auf die neueste Version von vSphere with Kubernetes durchführen, einschließlich der die vSphere with Kubernetes-Cluster unterstützenden vSphere-Infrastruktur, der Kubernetes-Versionen und der Kubernetes-CLI-Tools für vSphere.
Dieses Kapitel enthält die folgenden Themen:
n Informationen zu vSphere with Kubernetes-Cluster-Updates
n Update von vSphere Namespaces
n Update des vSphere-Plug-In für kubectl
n Update von Tanzu Kubernetes-Clustern
Informationen zu vSphere with Kubernetes-Cluster-Updates
vSphere with Kubernetes unterstützt parallele Updates für Supervisor-Cluster und Tanzu Kubernetes-Cluster sowie für die Infrastruktur, die diese Cluster unterstützt.
Vorgehensweise zum Update von vSphere with Kubernetes-Clustern
vSphere with Kubernetes verwendet ein Modell für parallele Updates für Supervisor-Cluster und Tanzu Kubernetes-Cluster. Das Modell für parallele Updates stellt sicher, dass während des Updatevorgangs minimale Ausfallzeiten für Clusterarbeitslasten auftreten. Parallele Updates umfassen Upgrades der Kubernetes-Versionen sowie der Infrastruktur und der Dienste, die die Kubernetes-Cluster unterstützen, wie z. B. Konfigurationen und Ressourcen virtueller Maschinen, vSphere-Dienste und Namespaces sowie benutzerdefinierte Ressourcen.
Damit das Update erfolgreich verläuft, muss Ihre Konfiguration verschiedene Kompatibilitätsanforderungen erfüllen, sodass das System Bedingungen für die erneute Prüfung erzwingt, um sicherzustellen, dass die Cluster für das Updates bereit sind, und Rollback unterstützt, falls das Cluster-Upgrade nicht erfolgreich ist.
Hinweis Ein vSphere with Kubernetes-Update umfasst mehr als nur ein Upgrade der Softwareversion von Kubernetes. Der Begriff „Update“ wird statt des Begriffs „Upgrade“ zur Beschreibung dieses Vorgangs verwendet, da sich „Upgrade“ auf eine eingeschränkte Form des Updates bezieht, bei der die Softwareversion erhöht wird.
VMware, Inc. 167
Abhängigkeit zwischen Supervisor-Cluster-Updates und Tanzu Kubernetes-Cluster-Updates
In den meisten Fällen können Sie ein Supervisor-Cluster-Update unabhängig vom Update der Tanzu Kubernetes-Cluster durchführen. Wenn Sie ein Update durchführen möchten, besteht die Möglichkeit, nur Supervisor-Cluster oder nur Tanzu Kubernetes-Cluster auszuwählen.
Derzeit besteht jedoch eine Abhängigkeit zwischen den beiden Typen von Cluster-Updates. Dies bedeutet, dass Sie ein Supervisor-Cluster-Update vor dem Update von Tanzu Kubernetes-Clustern, die von diesem Supervisor-Cluster verwaltet werden, durchführen müssen.
Informationen zu Supervisor-Cluster-Updates
Wenn Sie ein Update für einen Supervisor-Cluster initiieren, erstellt das System einen neuen Steuerungsebenenknoten und fügt ihn der vorhandenen Steuerungsebene hinzu. Die vSphere-Bestandsliste zeigt in dieser Phase des Updates vier Steuerungsebenenknoten an, da das System einen neuen aktualisierten Knoten hinzufügt und dann den veralteten Knoten entfernt. Die Objekte werden von einem der alten Steuerungsebenenknoten zum neuen verschoben, und die alten Steuerungsebenenknoten werden entfernt. Dieser Vorgang wird für jeden Steuerungsebenenknoten einzeln wiederholt, bis alle aktualisiert sind. Sobald die Steuerungsebene aktualisiert wurde, werden die Worker-Knoten in ähnlicher Weise aktualisiert. Die Worker-Knoten sind die ESXi-Hosts, und jeder spherelet-Prozess wird auf jedem ESXi-Host einzeln aktualisiert.
Sie können zwischen zwei Typen von Supervisor-Cluster-Updates auswählen: ein Supervisor-Namespace-Update oder ein Update von allem, einschließlich der VMware- und Kubernetes-Versionen.
Sie verwenden den Update-Workflow für vSphere Namespaces, um die auf dem Supervisor-Cluster ausgeführte Kubernetes-Version zu aktualisieren, z. B. von Version 1.16.7 auf Version 1.17.4, und um die Infrastruktur, die die Kubernetes-Cluster unterstützt, zu aktualisieren. Diese Art des Updates wird häufiger durchgeführt und wird verwendet, um mit dem Intervall der Veröffentlichung neuer Versionen von Kubernetes Schritt zu halten. Nachstehend finden Sie die Reihenfolge für das vSphere Namespaces-Update:
1 Upgrade von vCenter Server.
2 Führen Sie ein Supervisor-Namespaces-Update durch (einschließlich Kubernetes-Upgrade).
Informationen zum Durchführen eines vSphere Namespaces-Updates finden Sie unter Update von vSphere Namespaces.
Sie verwenden den Workflow zum Update von allem, um alle vSphere with Kubernetes-Komponenten zu aktualisieren. Diese Art des Updates ist erforderlich, wenn Sie Updates für Hauptversionen durchführen, z. B. von NSX-T 3.0 auf 3.x und von vSphere 7.0 auf 7.x. Dieser Update-Workflow wird seltener durchgeführt, je nachdem, wann neue VMware-Produktversionen vorhanden sind. Nachstehend finden Sie die Reihenfolge für das Update von allem:
1 Führen Sie das Upgrade für NSX-T Data Center durch.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 168
2 Upgrade von vCenter Server.
3 Führen Sie das Upgrade der ESXi-Hosts durch.
4 Führen Sie ein Supervisor-Namespaces-Update durch (einschließlich Kubernetes-Upgrade).
Informationen zu Tanzu Kubernetes-Cluster-Updates
Wenn Sie einen Supervisor-Cluster aktualisieren, werden die Infrastrukturkomponenten, die die auf diesem Supervisor-Cluster bereitgestellten Tanzu Kubernetes-Cluster unterstützen, wie z. B. der Tanzu Kubernetes Grid-Dienst, ebenfalls aktualisiert. Jedes Infrastruktur-Update kann Updates für Dienste, die den Tanzu Kubernetes Grid-Dienst (CNI, CSI, CPI) unterstützen, und aktualisierte Konfigurationseinstellungen für die Steuerungsebenen- und Worker-Knoten, die auf vorhandene Tanzu Kubernetes-Cluster angewendet werden können, umfassen. Um sicherzustellen, dass Ihre Konfiguration die Kompatibilitätsanforderungen erfüllt, führt vSphere with Kubernetes während des parallelen Updates Vorabprüfungen durch und erzwingt die Konformität.
Wenn Sie ein paralleles Update eines Tanzu Kubernetes-Clusters durchführen möchten, aktualisieren Sie in der Regel das Cluster-Manifest. Siehe Update von Tanzu Kubernetes-Clustern. Beachten Sie jedoch: Wenn ein vSphere Namespaces-Update durchgeführt wird, gibt das System die aktualisierten Konfigurationen sofort an alle Tanzu Kubernetes-Cluster weiter. Diese Updates können automatisch ein paralleles Update der Tanzu Kubernetes-Steuerungsebenen- und Worker-Knoten auslösen.
Der Vorgang des parallelen Updates zum Ersetzen der Clusterknoten ähnelt dem parallelen Update von Pods in einer Kubernetes-Bereitstellung. Es gibt zwei verschiedene Controller, die für das Durchführen eines parallelen Updates von Tanzu Kubernetes-Clustern verantwortlich sind: den Add-On-Controller und den TanzuKubernetesCluster-Controller. Innerhalb dieser beiden Controller gibt es drei wichtige Phasen für ein paralleles Update: das Aktualisieren von Add-Ons, das Aktualisieren der Steuerungsebene und das Aktualisieren der Worker-Knoten. Diese Phasen erfolgen in der genannten Reihenfolge mit Vorabprüfungen, die verhindern, dass ein Schritt gestartet wird, bevor der vorherige Schritt ausreichend fortgeschritten ist. Diese Schritte werden möglicherweise übersprungen, wenn sie als unnötig eingestuft wurden. Ein Update kann beispielsweise nur Worker-Knoten betreffen und daher keine Add-On- oder Steuerungsebenen-Updates erfordern.
Während des Updatevorgangs fügt das System einen neuen Clusterknoten hinzu und wartet darauf, dass der Knoten mit der Kubernetes-Zielversion in den Onlinemodus wechselt. Das System markiert dann den alten Knoten zum Löschen, wechselt zum nächsten Knoten und wiederholt den Vorgang. Der alte Knoten wird erst gelöscht, wenn alle Pods entfernt wurden. Wenn ein Pod beispielsweise mit PodDisruptionBudgets definiert ist, die verhindern, dass ein Knoten vollständig entleert wird, wird der Knoten isoliert, aber erst gelöscht, wenn diese Pods entfernt werden können. Das System aktualisiert zuerst alle Knoten der Steuerungsebene und dann die Worker-Knoten. Während eines Updates ändert sich der Status des Tanzu Kubernetes-Clusters in „wird aktualisiert“. Nach Abschluss des parallelen Updates ändert sich der Status des Tanzu Kubernetes-Clusters in „wird ausgeführt“.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 169
Auf einem Tanzu Kubernetes-Cluster ausgeführte Pods, die nicht von einem Replizierungs-Controller gesteuert werden, werden während des Upgrades einer Kubernetes-Version, das im Rahmen der Entleerung des Worker-Knotens beim Update des Tanzu Kubernetes-Clusters stattfindet, gelöscht. Dies ist der Fall, wenn das Cluster-Update manuell oder automatisch durch ein vSphere Namespaces-Update ausgelöst wird. Zu den nicht durch einen Replizierungs-Controller gesteuerten Pods zählen Pods, die nicht als Teil einer Bereitstellungs- oder ReplicaSet-Spezifikation erstellt werden. Weitere Informationen finden Sie in der Kubernetes-Dokumentation im Thema Pod Lifecycle: Pod lifetime (Pod-Lebenszyklus: Pod-Lebensdauer).
Update von vSphere Namespaces
Um einen oder mehrere Supervisor-Cluster zu aktualisieren, einschließlich der Kubernetes-Version, die auf dem jeweiligen Supervisor-Cluster ausgeführt wird, und der Infrastruktur, die die Tanzu Kubernetes-Cluster unterstützt, führen Sie ein vSphere Namespaces-Update durch.
Es gibt eine neue Versionseinheit für vSphere with Kubernetes. Bei der Versionseinheit handelt es sich um eine semantische Versionszeichenfolge im Format v1.16.7-vsc0.0.1-16128153, wobei das Präfix der Kubernetes-Version (v1.16.7) und das Suffix der vSphere with Kubernetes-Version (vsc0.0.1-16128153) entspricht.
Voraussetzungen
Lesen Sie die Versionshinweise, bevor Sie ein vSphere Namespaces-Update durchführen.
Führen Sie zum Installieren der erforderlichen Binärdateien ein Upgrade der vCenter Server Appliance durch. Weitere Informationen finden Sie unter Upgrade der vCenter Server Appliance in der vCenter Server-Dokumentation.
Hinweis Wenn Sie ein vSphere Namespaces-Update durchführen, müssen alle bereitgestellten Tanzu Kubernetes-Cluster den Status „wird ausgeführt“ aufweisen. Wenn sich ein Tanzu Kubernetes-Cluster im Zustand „wird erstellt“ oder „wird gelöscht“ befindet, warten Sie, bis der Vorgang abgeschlossen ist, bevor Sie einen Supervisor-Cluster aktualisieren. Andernfalls ist das Update möglicherweise nicht erfolgreich.
Verfahren
1 Melden Sie sich beim vCenter Server als vSphere-Administrator an.
2 Wählen Sie Menü > Arbeitslastverwaltung aus.
3 Wählen Sie die Registerkarte Namespaces > Updates aus.
4 Wählen Sie unter Verfügbare Version die Version aus, auf die Sie aktualisieren möchten.
Wählen Sie beispielsweise die Version v1.17.4-vsc0.0.1-16128153 aus.
5 Wählen Sie einen oder mehrere Supervisor-Cluster aus, auf die das Update angewendet werden soll.
6 Klicken Sie zum Initiieren des Updates auf Updates anwenden.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 170
7 Verwenden Sie den Bereich Kürzlich bearbeitete Aufgaben, um den Status des Updates zu überwachen.
Update des vSphere-Plug-In für kubectl
Sobald Sie vSphere Namespaces aktualisiert haben, führen Sie ein Update des vSphere-Plug-In für kubectl durch.
Die neueste Version des vSphere-Plug-In für kubectl lädt das CA-Root-Zertifikat des Tanzu Kubernetes-Clusters im geheimen Kubernetes-Schlüssel mit dem Namen TANZU-KUBERNETES-CLUSTER-NAME-ca herunter und installiert es. Das Plug-In verwendet dieses Zertifikat, um die CA-Informationen im Datenspeicher der Zertifizierungsstelle des entsprechenden Clusters aufzufüllen. Informationen zum Herunterladen und Installieren des vSphere-Plug-In für kubectl finden Sie unter Herunterladen und Installieren von Kubernetes-CLI-Tools für vSphere. Weitere Informationen zum geheimen Schlüssel TANZU-KUBERNETES-CLUSTER-NAME-ca finden Sie unter Geheime Schlüssel für Tanzu Kubernetes-Cluster.
Update von Tanzu Kubernetes-Clustern
Sie können einen Tanzu Kubernetes-Cluster, einschließlich der Kubernetes-Version, aktualisieren, indem Sie die Verteilungsversion, die VM-Klasse oder die Speicherklasse aktualisieren.
Anforderungen für Tanzu Kubernetes-Cluster-Updates
Lesen Sie die Versionshinweise, bevor Sie ein Tanzu Kubernetes-Cluster-Update durchführen.
Führen Sie zum Aktualisieren von Tanzu Kubernetes-Clustern zunächst ein Update der vSphere Namespaces durch. Wenn Sie ein vSphere Namespace-Update durchführen, müssen alle Tanzu Kubernetes-Cluster den Status „wird ausgeführt“ aufweisen. Weitere Informationen hierzu finden Sie unter Update von vSphere Namespaces.
Die Version der Kubernetes-Software ist eine Zeichenfolge im Cluster-Manifest, bei der es sich um eine semantische Versionsnotierung handelt. Wenn es sich beispielsweise um Version 1.16.7 handelt, ist „1“ die Hauptversion, „16“ die Nebenversion und „7“ die Patchversion.
Beachten Sie beim Upgrade der Kubernetes-Version für einen vorhandenen Tanzu Kubernetes-Cluster die folgenden Anforderungen:
n Sie können die Version nicht herabstufen. Beispielsweise können Sie kein Downgrade von Kubernetes v1.17 auf v1.16 durchführen.
n Sie können ein Upgrade der Nebenversion durchführen, aber nur inkrementell. Das Überspringen von Nebenversionen wird nicht unterstützt. Beispielsweise können Sie ein Upgrade von Kubernetes v1.16 auf v1.17 durchführen, aber Sie können kein Upgrade von Kubernetes v1.16 auf v1.18 durchführen.
n Sie können die Hauptversion nicht ändern, d. h. beispielsweise ein Upgrade von v1.16 auf v2.0 durchführen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 171
Sie können die vollqualifizierte Version angeben oder Kurzschreibungen der Version verwenden, z. B. version: v1.16.7 (wird zum neuesten mit dieser Patchversion übereinstimmenden Image aufgelöst) oder version: v1.16 (wird zur neuesten übereinstimmenden Patchversion aufgelöst). Die aufgelöste Version wird als fullVersion im Cluster-Manifest angezeigt, z. B. als v1.16.8+vmware.1-tkg.3.60d2ffd.
Hinweis Um ein Kubernetes-Versionsupgrade durchzuführen, müssen Sie fullVersion im Manifest deaktivieren. Weitere Informationen hierzu finden Sie unter Update durch Ändern der Verteilungsversion.
Durchführen eines Tanzu Kubernetes-Cluster-Updates
Sie initiieren ein paralleles Update, indem Sie eine oder mehrere der folgenden Änderungen an der TanzuKubernetesCluster-Spezifikation vornehmen:
n Methode 1: Update durch Ändern der Verteilungsversion
n Methode 2: Update durch Ändern der VirtualMachineClass für die Knoten
n Methode 3: Update durch Ändern der StorageClass für die Knoten
Hinweis Dies sind zwar die am häufigsten verwendeten Methoden zum Initiieren eines parallelen Updates, aber es sind nicht die einzigen. Eine Änderung an einem der Konfigurationselemente kann auch zur Initiierung eines parallelen Updates führen. Wenn beispielsweise das einer Verteilungsversion entsprechende VirtualMachineImage umbenannt oder ersetzt wird, wird ein paralleles Update initiiert, da das System versucht, alle auf dem neuen Image ausgeführten Knoten abzurufen. Darüber hinaus kann das Aktualisieren eines Supervisor-Cluster ein paralleles Update der dort bereitgestellten Tanzu Kubernetes-Cluster auslösen. Wenn beispielsweise der vmware-system-tkg-controller-manager aktualisiert wird, fügt das System neue Werte in den Manifestgenerator ein, und der Controller initiiert ein paralleles Update zur Bereitstellung dieser Werte.
Update durch Ändern der Verteilungsversion
Die häufigste Methode zum Auslösen eines parallelen Updates ist die Änderung der Verteilungsversion von Kubernetes für den Cluster, wobei die Eigenschaft .spec.distribution.version oder .spec.distribution.fullVersion verwendet wird. Wenn Sie den version-Hinweis aktualisieren, müssen Sie die fullVersion deaktivieren bzw. auf null setzen, um einen potenziellen Versionskonflikt während des Erkennungsvorgangs zu vermeiden.
$ read -r -d '' PATCH <<'EOF'
spec:
distribution:
fullVersion: null # NOTE: Must set to null when updating just the version field
version: v1.17.7
EOF
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 172
Wenden Sie das Update unter Verwendung des Befehls kubectl patch an. Sie müssen die Variable "$PATCH" einschließlich der Anführungszeichen angeben, damit die Zeilenendmarken im Cluster-Manifest erhalten bleiben. Ersetzen Sie den Wert für TKG-CLUSTER-NAME durch den tatsächlichen Namen Ihres Clusters.
kubectl patch --type=merge tanzukubernetescluster TKG-CLUSTER-NAME --patch "$PATCH"
Erwartetes Ergebnis:
tanzukubernetescluster.run.tanzu.vmware.com/TKG-CLUSTER-NAME patched
Hinweis Bei der hier gezeigten Vorgehensweise wird der UNIX-Shell-Befehl read verwendet, um Eingaben über die Tastatur zu übernehmen und sie einer Variablen mit dem Namen $PATCH zuzuweisen. Der Befehl kubectl patch ruft die Kubernetes-API zum Aktualisieren des Cluster-Manifests auf. Das --type=merge-Flag gibt an, dass die Daten nur diejenigen Eigenschaften enthalten, die sich von den im Manifest vorhandenen Daten unterscheiden. In der Kubernetes-Dokumentation finden Sie alternative Ansätze für die Verwendung des Befehls kubectl patch, insbesondere unter Update API Objects in Place Using kubectl patch. Andere kubectl-Befehle mit vergleichbaren Auswirkungen können ebenfalls verwendet werden. Beispielsweise können Sie den Befehl kubectl edit tanzukubernetescluster/CLUSTER-NAME verwenden. Mit diesem Befehl wird das Cluster-Manifest in dem durch Ihre KUBE_EDITOR- oder EDITOR-Umgebungsvariablen definierten Texteditor geöffnet. Wenn Sie die Änderungen speichern, wird das Manifest aktualisiert. Weitere Informationen finden Sie unter dem edit-Befehl in der Kubernetes-Dokumentation.
Update durch Ändern der VirtualMachineClass für die Knoten
Eine weitere Möglichkeit, ein paralleles Update eines Tanzu Kubernetes-Clusters auszulösen, besteht darin, die VirtualMachineClass für die Knotenpools zu ändern, indem die Eigenschaft .spec.topology.controlPlane.class oder .spec.topology.workers.class geändert wird.
read -r -d '' PATCH <<'EOF'
spec:
topology:
controlPlane:
class: best-effort-xlarge
workers:
class: best-effort-xlarge
EOF
Wenden Sie das Update unter Verwendung des Befehls kubectl patch an, und ersetzen Sie dabei die Variable durch den Clusternamen.
kubectl patch --type=merge tanzukubernetescluster TKG-CLUSTER-NAME --patch "$PATCH"
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 173
Erwartetes Ergebnis:
tanzukubernetescluster.run.tanzu.vmware.com/TKG-CLUSTER-NAME patched
Update durch Ändern der StorageClass für die Knoten
Eine weitere Möglichkeit, ein paralleles Update eines Tanzu Kubernetes-Clusters auszulösen, besteht darin, die StorageClass für die Knotenpools zu ändern, indem die Eigenschaft .spec.topology.controlPlane.storageClass oder .spec.topology.workers.storageClass geändert wird.
$ read -r -d '' PATCH <<'EOF'
spec:
topology:
controlPlane:
storageClass: gc-storage-profile
workers:
storageClass: gc-storage-profile
EOF
Wenden Sie das Update unter Verwendung des Befehls kubectl patch an, und ersetzen Sie dabei die Variable durch den Clusternamen.
kubectl patch --type=merge tanzukubernetescluster TKG-CLUSTER-NAME --patch "$PATCH"
Erwartetes Ergebnis:
tanzukubernetescluster.run.tanzu.vmware.com/TKG-CLUSTER-NAME patched
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 174
Fehlerbehebung bei vSphere with Kubernetes 9Verwenden Sie die folgenden Best Practices und Fehlerbehebungstechniken für Ihre Infrastruktur in vSphere with Kubernetes.
Dieses Kapitel enthält die folgenden Themen:
n Speicherfehlerbehebung in vSphere with Kubernetes
n Fehlerbehebung beim Netzwerk
n Fehlerbehebung bei Tanzu Kubernetes-Clustern
n Behebung von Problemen bei der Aktivierung der Arbeitslastverwaltung
Speicherfehlerbehebung in vSphere with Kubernetes
Verwenden Sie Fehlerbehebungstechniken für Ihre Speicherumgebung in vSphere with Kubernetes.
Verwenden von Anti-Affinitätsregeln für VMs der Steuerungsebene in Nicht-vSAN-Datenspeichern
Wenn Sie andere Datenspeicher als vSAN in Ihrem Cluster mit vSphere with Kubernetes verwenden, platzieren Sie die drei VMs der Steuerungsebene aus Verfügbarkeitsgründen in unterschiedlichen Datenspeichern.
Da die VMs der Steuerungsebene vom System verwaltet werden, können Sie sie nicht manuell migrieren. Verwenden Sie eine Kombination aus einem Datenspeichercluster und Storage DRS, um die VMs der Steuerungsebene neu zu verteilen und sie in verschiedenen Datenspeichern zu platzieren.
Verfahren
1 Erstellen Sie im vSphere Client einen Datenspeichercluster.
a Navigieren Sie zu den Datencentern.
b Klicken Sie mit der rechten Maustaste auf das Datencenterobjekt und wählen Sie Neuer Datenspeicher-Cluster.
c Benennen Sie Ihren Datenspeichercluster und stellen Sie sicher, dass Storage DRS einschalten aktiviert ist.
VMware, Inc. 175
d Legen Sie die Automatisierungsebene für den Cluster auf Keine Automatisierung (Manueller Modus) fest.
e Behalten Sie die Storage DRS-Laufzeiteinstellungen standardmäßig bei.
f Wählen Sie den ESXi-Cluster aus, der mit vSphere with Kubernetes aktiviert ist.
g Wählen Sie alle gemeinsam genutzten Datenspeicher aus, die dem Datenspeichercluster hinzugefügt werden sollen.
h Klicken Sie auf Beenden.
2 Definieren Sie Storage DRS-Regeln für VMs der Steuerungsebene.
a Navigieren Sie zum Datenspeichercluster.
b Klicken Sie auf die Registerkarte Konfigurieren und dann unter Konfiguration auf Regeln.
c Klicken Sie auf das Symbol Hinzufügen und geben Sie einen Namen für die Regel ein.
d Stellen Sie sicher, dass Regel aktivieren aktiviert ist.
e Legen Sie den Regeltyp auf VM-Anti-Affinität fest.
f Klicken Sie auf das Symbol Hinzufügen und wählen Sie die drei Supervisor-VMs der Steuerungsebene aus.
g Klicken Sie auf OK, um Ihre Konfiguration abzuschließen.
3 Erstellen Sie VM-Außerkraftsetzungen.
a Navigieren Sie zum Datenspeichercluster.
b Klicken Sie auf die Registerkarte Konfigurieren und klicken Sie unter Konfiguration auf VM-Außerkraftsetzungen.
c Klicken Sie auf das Symbol Hinzufügen und wählen Sie die drei VMs der Steuerungsebene aus.
d Zum Aktivieren der Storage DRS-Automatisierungsebene aktivieren Sie das Kontrollkästchen Überschreiben und legen Sie den Wert auf Vollautomatisiert fest.
e Klicken Sie auf Beenden.
Ergebnisse
Diese Aufgabe aktiviert Storage DRS nur für die VMs der Steuerungsebene und gleicht die VMs neu auf unterschiedlichen Datenspeichern aus.
Sobald Storage vMotion ausgeführt wird, können Sie die SDRS-Regeln und die Außerkraftsetzungen entfernen, Storage DRS deaktivieren und den Datenspeichercluster entfernen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 176
Die aus vSphere entfernte Speicherrichtlinie wird weiterhin als Kubernetes-Speicherklasse angezeigt
Wenn Sie die Speicherrichtlinie mithilfe von vSphere Client aus vCenter Server oder einem Namespace im Supervisor-Cluster entfernen, bleibt ihre übereinstimmende Speicherklasse zwar in der Kubernetes-Umgebung erhalten, sie kann aber nicht verwendet werden.
Problem
Bei der Ausführung des Befehls kubectl get sc wird die Speicherklasse in der Ausgabe weiterhin als im Namespace verfügbar angezeigt. Sie kann jedoch nicht verwendet werden. Wenn Sie beispielsweise versuchen, die Speicherklasse für eine neue Beanspruchung eines dauerhaften Volumes zu verwenden, schlägt dies fehl.
Falls die Speicherklasse bereits von einer Kubernetes-Bereitstellung verwendet wird, verhält sich die Bereitstellung möglicherweise unvorhersehbar.
Lösung
1 Zur Überprüfung, welche Speicherklassen im Namespace vorhanden sind, führen Sie den Befehl kubectl describe namespace namespace_name aus.
Die Speicherklasse wird in der Ausgabe für diesen Befehl nicht aufgeführt, wenn die übereinstimmende Speicherrichtlinie entfernt wurde.
2 Falls die Speicherklasse bereits von einer Bereitstellung verwendet wird, stellen Sie die Speicherklasse wieder her.
a Erstellen Sie mithilfe von vSphere Client eine neue Speicherrichtlinie und geben Sie ihr den Namen der von Ihnen entfernten Richtlinie.
Wenn Sie beispielsweise die Richtlinie Gold gelöscht haben, geben Sie der neuen Richtlinie den Namen Gold. Weitere Informationen hierzu finden Sie unter Erstellen von Speicherrichtlinien für vSphere with Kubernetes.
b Weisen Sie die Richtlinie dem Namespace zu.
Weitere Informationen hierzu finden Sie unter Ändern der Speichereinstellungen in einem Namespace.
Nachdem Sie die Richtlinie dem Namespace zugewiesen haben, löscht vSphere with Kubernetes die alte Speicherklasse und erstellt eine übereinstimmende Speicherklasse mit demselben Namen.
Fehlerbehebung beim Netzwerk
Sie können Netzwerkprobleme beheben, die möglicherweise auftreten, wenn Sie vSphere with Kubernetes mit NSX konfigurieren.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 177
vCenter Server bei NSX Manager erneut registrieren
Möglicherweise müssen Sie vCenter Server OIDC mit NSX Manager in bestimmten Situationen erneut registrieren, z. B. wenn sich der FQDN/die PNID von vCenter Server ändert.
Verfahren
1 Stellen Sie über SSH eine Verbindung mit der vCenter Server Appliance her.
2 Führen Sie den Befehl shell aus.
3 Führen Sie zum Abrufen des vCenter Server Fingerabdrucks den Befehl - openssl s_client -connect <vcenterserver-FQDN:443 </dev/null 2>/dev/null | openssl x509 -
fingerprint -sha256 -noout -in /dev/stdin aus.
Der Fingerabdruck wird angezeigt. Beispielsweise 08:77:43:29:E4:D1:6F:29:96:78:5F:BF:D6:45:21:F4:0E:3B:2A:68:05:99:C3:A4:89:8F:F2:0B:EA:3A:
BE:9D
4 Kopieren Sie den SHA256-Fingerabdruck und entfernen Sie die Kommas.
08774329E4D16F2996785FBFD64521F40E3B2A680599C3A4898FF20BEA3ABE9D
5 Führen Sie zum Aktualisieren des OIDC von vCenter Server folgenden Befehl aus:
curl --location --request POST 'https://<NSX-T_ADDRESS>/api/v1/trust-management/oidc-uris' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic <AUTH_CODE>' \
--data-raw '{
"oidc_type": "vcenter",
"oidc_uri": "https://<VC_ADDRESS>/openidconnect/vsphere.local/.well-known/openid-
configuration",
"thumbprint": "<VC_THUMBPRINT>"
}'
Das Kennwort der NSX-Appliance kann nicht geändert werden
Möglicherweise können Sie das NSX-Appliance-Kennwort für root-, admin- oder audit-Benutzer nicht ändern.
Problem
Versuche, das Kennwort der NSX-Appliance für root-, admin- oder audit-Benutzer über den vSphere Client zu ändern, schlagen möglicherweise fehl.
Ursache
Während der Installation von NSX Manager akzeptiert der Vorgang nur ein Kennwort für alle drei Rollen. Versuche, dieses Kennwort später zu ändern, schlagen möglicherweise fehl.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 178
Lösung
u Verwenden Sie die NSX-APIs, um die Kennwörter zu ändern.
Weitere Informationen finden Sie unter https://kb.vmware.com/s/article/70691 und im Administratorhandbuch für NSX-T Data Center.
Fehlerbehebung bei fehlgeschlagenen Workflows und instabilen NSX Edges
Wenn Ihre Workflows fehlschlagen oder die NSX Edges instabil sind, können Sie Fehlerbehebungsschritte durchführen
Problem
Wenn Sie die Konfiguration für verteilte Portgruppen im vSphere Client ändern, können Workflows fehlschlagen und der NSX Edge instabil werden.
Ursache
Das Entfernen oder Ändern der verteilten Portgruppen für Overlay und Uplink, die während der Konfiguration des NSX Edge-Clusters für die Clusterkonfiguration erstellt wurden, ist aufbaubedingt nicht zulässig.
Lösung
Wenn Sie die VLAN- oder IP-Pool-Konfiguration von NSX Edges ändern möchten, müssen Sie zuerst Elemente von NSX-T Data Center und die vSphere with Kubernetes-Konfiguration aus dem Cluster entfernen.
Informationen zum Entfernen von NSX-T Data Center-Elementen finden Sie im Installationshandbuch für NSX-T Data Center.
Erfassen von Support-Paketen für die Fehlerbehebung
Sie können Support-Pakete in registrierten Cluster- und Fabric-Knoten für die Fehlerbehebung erfassen und die Pakete auf Ihren Computer herunterladen oder auf einen Dateiserver hochladen.
Wenn Sie die Pakete auf Ihren Computer herunterladen möchten, erhalten Sie eine einzelne Archivdatei, die aus einer Manifestdatei und Support-Paketen für jeden Knoten besteht. Wenn Sie die Pakete auf einen Dateiserver hochladen, werden die Manifestdatei und die einzelnen Pakete separat auf den Dateiserver hochgeladen.
Verfahren
1 Melden Sie sich über Ihren Browser mit Administratorrechten bei NSX Manager an.
2 Wählen Sie System > Support-Paket aus.
3 Wählen Sie die Zielknoten aus.
Die verfügbaren Knotentypen sind Verwaltungsknoten, Edges, Hosts und Public Cloud-Gateways.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 179
4 (Optional) Geben Sie das Protokollalter in Tagen an, um Protokolle auszuschließen, die älter als die angegebene Anzahl an Tagen sind.
5 (Optional) Schalten Sie den Switch um, der angibt, ob Core-Dateien und Überwachungsprotokolle einbezogen oder ausgeschlossen werden sollen.
Hinweis Core-Dateien und Überwachungsprotokolle enthalten möglicherweise vertrauliche Informationen, wie z. B. Kennwörter oder Verschlüsselungsschlüssel.
6 (Optional) Aktivieren Sie das Kontrollkästchen, um die Pakete auf einen Dateiserver hochzuladen
7 Klicken Sie auf Paketerfassung starten, um Support-Pakete zu erfassen.
Die Anzahl der Protokolldateien für jeden Knoten bestimmt die Zeit, die die Erfassung von Support-Paketen in Anspruch nimmt.
8 Überwachen Sie den Status des Erfassungsvorgangs.
Die Registerkarte Status zeigt den Fortschritt der Erfassung von Support-Paketen an.
9 Klicken Sie auf Herunterladen, um das Paket herunterzuladen, wenn die Option zum Senden des Pakets an einen Dateiserver nicht festgelegt wurde.
Erfassen von Protokolldateien
Sie können Protokolle erfassen, die sich in den vSphere with Kubernetes- und NSX-T Data Center-Komponenten befinden, um Fehler zu erkennen und zu beheben. Die Protokolldateien werden möglicherweise vom VMware Support angefordert.
Verfahren
1 Melden Sie sich über vSphere Client bei vCenter Server an.
2 Erfassen Sie die folgenden Protokolldateien.
Protokolldatei Beschreibung
/var/log/vmware/wcp/wcpsvc.log Enthält Informationen im Zusammenhang mit der vSphere with Kubernetes-Aktivierung.
/var/log/vmware/wcp/nsxd.log Enthält Informationen im Zusammenhang mit der Konfiguration der NSX-T Data Center-Komponenten.
3 Melden Sie sich bei NSX Manager an.
4 Erfassen Sie die Daten in der Datei /var/log/proton/nsxapi.log, um Informationen zu dem Fehler zu erhalten, der von NSX Manager zurückgegeben wird, wenn ein bestimmter vSphere with Kubernetes-Vorgang fehlgeschlagen ist.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 180
Neustarten des WCP-Diensts bei Änderung des NSX-T-Verwaltungszertifikats oder der -IP-Adresse
Wenn sich das NSX-T-Verwaltungszertifikat oder die NSX-T-Verwaltungs-IP-Adresse ändert, nachdem Sie vSphere with Kubernetes installiert haben, müssen Sie den WCP-Dienst neu starten.
Neustarten des vSphere with Kubernetes-Diensts bei Änderung des NSX-T-Zertifikats
Derzeit erfordert vSphere with Kubernetes, dass bei Änderung des NSX-T-Zertifikats oder der NSX-T-IP-Adresse der WCP-Dienst neu gestartet werden muss, damit die Änderungen wirksam werden. Wenn eine der beiden Änderungen ohne einen Neustart des Diensts stattfindet, schlägt die Kommunikation zwischen vSphere with Kubernetes und NSX-T fehl, und es können bestimmte Symptome auftreten, z. B., dass NCP in die CrashLoopBackoff-Phase eintritt oder dass die Bereitstellung von Supervisor-Cluster-Ressourcen aufgehoben wird.
Verwenden Sie zum Neustarten des WCP-Diensts vmon-cli.
1 Greifen Sie per SSH auf den vCenter Server zu und melden Sie sich als „root“-Benutzer an.
2 Führen Sie den Befehl shell aus.
3 Führen Sie den Befehl vmon-cli -h aus, um die Syntax für die Verwendung und die Optionen anzuzeigen.
4 Führen Sie den Befehl vmon-cli -l aus, um den wcp-Prozess anzuzeigen.
Der wcp-Dienst wird am Ende der Liste angezeigt.
5 Führen Sie den Befehl vmon-cli --restart wcp aus, um den wcp-Dienst neu zu starten.
Folgende Meldung wird angezeigt: Completed Restart service request.
6 Führen Sie den Befehl vmon-cli -s wcp aus und überprüfen Sie, ob der wcp-Dienst gestartet wurde.
Beispiel:
root@localhost [ ~ ]# vmon-cli -s wcp
Name: wcp
Starttype: AUTOMATIC
RunState: STARTED
RunAsUser: root
CurrentRunStateDuration(ms): 22158
HealthState: HEALTHY
FailStop: N/A
MainProcessId: 34372
Für den Datenverkehr des Hosttransportknotens erforderlicher VDS
vSphere with Kubernetes erfordert die Verwendung eines vSphere 7 Virtual Distributed Switch (VDS) für den Datenverkehr des Hosttransportknotens. Für den Datenverkehr des
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 181
Hosttransportknotens mit vSphere with Kubernetes können Sie nicht den NSX-T VDS (N-VDS) verwenden.
VDS ist erforderlich
vSphere with Kubernetes erfordert eine Converged VDS-Instanz, die sowohl vSphere 7-Datenverkehr als auch NSX-T 3-Datenverkehr in derselben VDS-Instanz unterstützt. In früheren Versionen von vSphere und NSX-T gibt es eine VDS (oder VSS)-Instanz für vSphere-Datenverkehr und eine N-VDS-Instanz für NSX-T-Datenverkehr. Diese Konfiguration wird von vSphere with Kubernetes nicht unterstützt. Wenn Sie versuchen, die Arbeitslastverwaltung unter Verwendung einer N-VDS-Instanz zu aktivieren, meldet das System, dass der vCenter-Cluster nicht kompatibel ist. Weitere Informationen finden Sie unter Beheben von Cluster-Kompatibilitätsfehlern bei der Aktivierung der Arbeitslastverwaltung.
Um einen konvergierten VDS zu verwenden, erstellen Sie mithilfe von vCenter einen vSphere 7-VDS. Geben Sie dann diesen VDS in NSX-T an, wenn Sie die ESXi-Hosts als Transportknoten vorbereiten. VDS-DSwitch allein reicht für vCenter nicht aus. VDS-DSwitch 7.0 muss, wie im Thema Erstellen eines Transportknotenprofils dokumentiert und nachstehend dargestellt, mit dem NSX-T-Transportknotenprofil konfiguriert werden.
Abbildung 9-1. VDS-Konfiguration in NSX-T
Wenn Sie ein Upgrade von früheren Versionen auf vSphere 7 und NSX-T 3 ausgeführt haben, müssen Sie N-VDS von allen ESXi-Transportknoten deinstallieren und die einzelnen Hosts mit einem VDS neu konfigurieren. Weitere Informationen erhalten Sie bei VMware Global Support Services.
Fehlerbehebung bei Tanzu Kubernetes-Clustern
Sie können Fehler bei Tanzu Kubernetes-Clustern beheben, indem Sie eine Verbindung zu einem beliebigen Clusterknoten herstellen, die Clusterressourcenhierarchie anzeigen und Protokolldateien erfassen.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 182
Bekannte Einschränkungen für Tanzu Kubernetes-Cluster
Berücksichtigen Sie die bekannten Einschränkungen für die vom Tanzu Kubernetes Grid-Dienst bereitgestellten Tanzu Kubernetes-Cluster.
Die folgenden bekannten Einschränkungen gelten für die vom Tanzu Kubernetes Grid-Dienst als Teil der vSphere with Kubernetes-Version bereitgestellten Tanzu Kubernetes-Cluster. Sie können die folgenden Aktionen in der aktuellen Version zwar noch nicht durchführen, ihre Implementierung ist jedoch in Planung.
Hinweis In den Versionshinweisen finden Sie bekannte Probleme und andere versionsspezifische Informationen.
n Direktes Aufrufen der Cluster-API für die Lebenszyklusverwaltung der Cluster
n Ausführen von Verwaltungsvorgängen bei virtuellen Maschinen
n Verteilen der Verfügbarkeitszonen über mehrere Supervisor-Cluster hinweg
n Passen Sie die Server-Flags für die Cluster-API an.
n Passen Sie verschiedene Erweiterungspunkte an, z. B. das Plug-In für die Container-Netzwerkschnittstelle (Container Network Interface, CNI) oder das Plug-In für die Container-Speicherschnittstelle (Container Storage Interface, CSI).
Erfassen eines Support-Pakets für Tanzu Kubernetes-Cluster
Sie können ein Support-Paket erfassen, um zur Behebung von Problemen bei Tanzu Kubernetes-Clustern beizutragen. Dies wird möglicherweise vom VMware Support angefordert.
Um zur Behebung von Problemen bei Tanzu Kubernetes-Clustern beizutragen, können Sie die Protokolldateien erfassen. Protokolldateien von Tanzu Kubernetes-Clustern werden über den Supervisor-Cluster erfasst. Koordinieren Sie sich bei Bedarf mit Ihrem vSphere-Administrator.
Hinweis Um die Behebung von Fehlern im Tanzu Kubernetes-Cluster-Netzwerk zu unterstützen, erfassen Sie die Support-Pakete für NSX-T. Weitere Informationen finden Sie unter Erfassen von Support-Paketen in der NSX-T Data Center-Dokumentation.
Verfahren
1 Melden Sie sich über vSphere Client bei vCenter Server an.
2 Wählen Sie Menü > Arbeitslastplattform aus.
3 Klicken Sie auf Cluster.
4 Wählen Sie den Supervisor-Cluster aus, indem Sie auf das Kreissymbol neben dem Clusternamen klicken.
5 Um die Clusterprotokolldateien herunterzuladen, klicken Sie auf Protokolle exportieren.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 183
Fehlerbehebung bei vCenter Single Sign-On-Verbindungsfehlern
Wenn Sie nicht über ausreichende Berechtigungen für den Supervisor-Namespace verfügen, können Sie keine Verbindung mit dem Supervisor-Cluster oder einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer herstellen.
Problem
Das vSphere-Plug-In für kubectl gibt die Fehlermeldung Error from server (Forbidden) zurück, wenn Sie versuchen, eine Verbindung zu einem Supervisor-Cluster oder einem Tanzu Kubernetes-Cluster als vCenter Single Sign-On-Benutzer herzustellen.
Ursache
Sie verfügen nicht über ausreichende Berechtigungen für den Supervisor-Namespace oder haben keinen Clusterzugriff.
Lösung
Wenn Sie ein DevOps-Ingenieur sind, der den Cluster betreibt, überprüfen Sie zusammen mit Ihrem vSphere-Administrator, ob Sie die Bearbeiten-Berechtigungen für den Supervisor-Namespace erhalten haben. Weitere Informationen hierzu finden Sie unter Erstellen und Konfigurieren eines Supervisor-Namespace.
Wenn Sie ein Entwickler sind, der den Cluster zum Bereitstellen von Arbeitslasten verwendet, überprüfen Sie zusammen mit Ihrem Cluster-Administrator, ob Ihnen der Clusterzugriff gewährt wurde. Weitere Informationen hierzu finden Sie unter Gewähren des Entwicklerzugriffs auf Tanzu Kubernetes-Cluster.
Fehlerbehebung für abonnierte Inhaltsbibliotheken
Wenn die abonnierte Inhaltsbibliothek Speicherkapazitätsgrenzwerte erreicht, können Sie keine Tanzu Kubernetes-Cluster bereitstellen.
Problem
Wenn Sie versuchen, einen Tanzu Kubernetes-Cluster bereitzustellen, können Sie keine Elemente aus der abonnierten Inhaltsbibliothek abrufen, und der folgende Fehler wird angezeigt:
Internal error occurred: get library items failed for.
Ursache
Die abonnierte Inhaltsbibliothek hat ihre Kapazitätsgrenze erreicht. Die Inhaltsbibliothek wird durch angehängten Speicher gestützt. Im Laufe der Zeit, wenn immer mehr Kubernetes-Versionen freigegeben und OVA-Dateien in der Bibliothek abgerufen werden, wird der Speicher möglicherweise bis zu seiner Höchstkapazität gefüllt.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 184
Lösung
Migrieren Sie auf eine neue Inhaltsbibliothek. Weitere Informationen hierzu finden Sie unter Migrieren von Tanzu Kubernetes-Clustern zu einer neuen Inhaltsbibliothek.
Fehlerbehebung bei Clusterbereitstellungen
Wenn Sie einen Tanzu Kubernetes-Cluster bereitgestellt haben, die virtuellen Maschinen der Steuerungsebene jedoch nicht gestartet werden, müssen Sie möglicherweise die VM-Größe oder -Klasse ändern.
Problem
Sie haben einen Tanzu Kubernetes-Cluster bereitgestellt. Das System versucht, die VM(s) der Steuerungsebene einzuschalten. Es wird jedoch die folgende Fehlermeldung angezeigt:
The host does not have sufficient CPU resources to satisfy the reservation.
Ursache
Die Größe oder die Klasse der virtuellen Maschine reicht für die Clusterbereitstellung nicht aus.
Lösung
Ändern Sie den Typ oder die Klasse der virtuellen Maschine. Weitere Informationen hierzu finden Sie unter Klassentypen virtueller Maschinen für Tanzu Kubernetes-Cluster.
Fehlerbehebung bei der Bereitstellung von Arbeitslasten
Fehler bei der Bereitstellung von Arbeitslasten können eintreten, wenn PodSecurityPolicy und Bindungen nicht für authentifizierte Benutzer konfiguriert sind.
Problem
Sie stellen eine Containerarbeitslast auf einem Tanzu Kubernetes-Cluster bereit, aber die Arbeitslast wird nicht gestartet. Es wird eine Fehlermeldung ähnlich der folgenden angezeigt:
Error: container has runAsNonRoot and image will run as root.
Ursache
Tanzu Kubernetes-Cluster werden mit aktivierter PodSecurityPolicy-Zugangssteuerung bereitgestellt. Kein authentifizierter Benutzer kann Pods mit oder ohne Rechte erstellen, bis der Cluster-Administrator PodSecurityPolicy an die authentifizierten Benutzer gebunden hat.
Lösung
Erstellen Sie eine geeignete Bindung an die Standard-PodSecurityPolicy oder definieren Sie die benutzerdefinierte PodSecurityPolicy. Siehe Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern und Guestbook-Lernprogramm für Kubernetes: Binden an die standardmäßige privilegierte Pod-Sicherheitsrichtlinie.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 185
Neustarten eines fehlgeschlagenen Tanzu Kubernetes-Aktualisierungsauftrags
Wenn das Update eines Tanzu Kubernetes-Clusters fehlschlägt, können Sie den Aktualisierungsauftrag neu starten und die Aktualisierung erneut versuchen.
Problem
Das Aktualisieren eines Tanzu Kubernetes-Clusters schlägt fehl, was zum Clusterstatus upgradefailed führt.
Ursache
Es kann verschiedene Gründe für eine fehlgeschlagene Clusteraktualisierung geben, z. B. nicht genügend Speicher. Führen Sie den folgenden Vorgang aus, um einen fehlgeschlagenen Aktualisierungsauftrag neu zu starten und die Aktualisierung erneut durchzuführen.
Lösung
1 Melden Sie sich beim Supervisor-Cluster als Administrator an. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor-Cluster als vCenter Single Sign-On-Benutzer.
2 Suchen Sie den update_job_name.
kubectl get jobs -n vmware-system-tkg -l "run.tanzu.vmware.com/cluster-namespace=$
{cluster_namespace},cluster.x-k8s.io/cluster-name=${cluster_name}"
3 Führen Sie den kubectl proxy aus, damit curl für die Ausstellung von Anforderungen verwendet werden kann.
kubectl proxy &
Sie sollten Starting to serve on 127.0.0.1:8001 sehen.
Hinweis Sie können kubectl nicht verwenden, um den .status einer Ressource zu patchen oder zu aktualisieren.
4 Verwenden Sie curl mit dem folgenden Patch, um das .spec.backoffLimit zu erhöhen.
curl -H "Accept: application/json" -H "Content-Type: application/json-patch+json"
--request PATCH --data '[{"op": "replace", "path": "/spec/backoffLimit", "value": 8}]'
http://127.0.0.1:8001/apis/batch/v1/namespaces/vmware-system-tkg/jobs/${update_job_name}
5 Verwenden Sie curl mit dem folgenden Patch, um die .status.conditions zu löschen, sodass die Auftragssteuerung neue Pods generiert.
$ curl -H "Accept: application/json" -H "Content-Type: application/json-patch+json"
--request PATCH --data '[{"op": "remove", "path": "/status/conditions"}]'
http://127.0.0.1:8001/apis/batch/v1/namespaces/vmware-system-tkg/jobs/${update_job_name}/status
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 186
Behebung von Problemen bei der Aktivierung der Arbeitslastverwaltung
Wenn Sie die Arbeitslastverwaltung nicht aktivieren können, versuchen Sie es mit diesen Tipps zur Fehlerbehebung.
Beheben von Cluster-Kompatibilitätsfehlern bei der Aktivierung der Arbeitslastverwaltung
Befolgen Sie diese Tipps zur Fehlerbehebung, wenn das System angibt, dass Ihr vSphere-Cluster nicht für die Aktivierung der Arbeitslastverwaltung kompatibel ist.
Problem
Auf der Seite Arbeitslastverwaltung wird angegeben, dass Ihr vCenter Cluster nicht kompatibel ist, wenn Sie versuchen, die Arbeitslastverwaltung zu aktivieren.
Ursache
Dieser Fehler kann mehrere Gründe haben. Stellen Sie zunächst sicher, dass Ihre Umgebung die Mindestanforderungen für die Aktivierung der Arbeitslastverwaltung erfüllt:
n Gültige Lizenz: VMware vSphere 7 Enterprise Plus mit Add-On für Kubernetes
n Mindestens zwei ESXi-Hosts
n Vollautomatisiertes DRS
n vSphere HA
n vSphere Distributed Switch 7.0
n Ausreichende Speicherkapazität
Wenn Ihre Umgebung diese Voraussetzungen erfüllt, der vCenter-Zielcluster jedoch nicht kompatibel ist, verwenden Sie VMware Datacenter CLI (DCLI), um die Probleme zu identifizieren.
Lösung
1 SSH für vCenter Server.
2 Melden Sie sich als Root-Benutzer an.
3 Führen Sie den Befehl dcli aus, um die Hilfe von VMware Datacenter CLI anzuzeigen.
4 Listen Sie die verfügbaren vCenter-Cluster auf, indem Sie den folgenden DCLI-Befehl ausführen.
dcli com vmware vcenter cluster list
Beispiel:
dcli +username VI-ADMIN-USER-NAME +password VI-ADMIN-PASSWORD com vmware vcenter cluster list
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 187
Beispielergebnis:
|-----------|---------|------------|----------|
|drs_enabled|cluster |name |ha_enabled|
|-----------|---------|------------|----------|
|True |domain-d7|vSAN Cluster|True |
|-----------|---------|------------|----------|
5 Überprüfen Sie die Kompatibilität der vCenter-Cluster, indem Sie den folgenden DCLI-Befehl ausführen.
dcli com vmware vcenter namespacemanagement clustercompatibility list
Beispiel:
dcli +username VI-ADMIN-USER-NAME +password VI-ADMIN-PASSWORD com vmware vcenter
namespacemanagement clustercompatibility list
Das folgende Beispielergebnis weist darauf hin, dass in der Umgebung ein kompatibler NSX-T-VDS-Switch fehlt.
|---------|----------|----------------------------------------------------------------------------
------------|
|cluster |compatible|
incompatibility_reasons |
|---------|----------|----------------------------------------------------------------------------
------------|
|domain-d7|False |Failed to list all distributed switches in vCenter 2b1c1fa5-e9d4-45d7-824c-
fa4176da96b8.|
| | |Cluster domain-d7 is missing compatible NSX-T
VDS. |
|---------|----------|----------------------------------------------------------------------------
------------|
6 Führen Sie je nach Bedarf weitere DCLI-Befehle aus, um weitere Kompatibilitätsprobleme zu ermitteln. Zusätzlich zu den NSX-T-Fehlern sind DNS- und NTP-Konnektivitätsprobleme häufige Gründe für die Inkompatibilität.
7 Führen Sie zur weiteren Fehlerbehebung die folgenden Schritte aus.
a Führen Sie ein Tailing der Datei wcpsvc.log durch. Weitere Informationen hierzu finden Sie unter Tailing der Protokolldatei der Arbeitslastverwaltung.
b Navigieren Sie zur Seite Arbeitslastverwaltung und klicken Sie auf Aktivieren.
Tailing der Protokolldatei der Arbeitslastverwaltung
Das Tailing der Protokolldatei der Arbeitslastverwaltung kann bei der Behebung von Aktivierungsproblemen und Problemen bei der Supervisor-Cluster-Bereitstellung nützlich sein.
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 188
Lösung
1 Stellen Sie eine SSH-Verbindung mit der vCenter Server Appliance her.
2 Melden Sie sich als root-Benutzer an.
3 Führen Sie den Befehl shell aus.
Es wird Folgendes angezeigt:
Shell access is granted to root
root@localhost [ ~ ]#
4 Führen Sie den folgenden Befehl aus, um das Tailing des Protokolls durchzuführen.
tail -f /var/log/vmware/wcp/wcpsvc.log
Konfiguration und Verwaltung von vSphere with Kubernetes
VMware, Inc. 189