DevOps-Ingenieure stellen eine Verbindung zur vSphere IaaS control plane her, um TKG-Dienst-Cluster bereitzustellen und deren Lebenszyklus zu verwalten. Entwickler stellen eine Verbindung zu TKG-Dienst-Clustern her, um Pakete, Arbeitslasten und Dienste bereitzustellen. Administratoren benötigen möglicherweise direkten Zugriff auf TKG-Dienst-Clusterknoten, um Fehler zu beheben. Auf der Plattform werden Tools für die Identitäts- und Zugriffsverwaltung sowie Methoden bereitgestellt, die alle Anwendungsfälle und Rollen unterstützen.
TKG-Dienst-Clusterzugriff erfolgt über den vSphere-Namespace
Sie stellen TKG-Dienst-Cluster in einem vSphere-Namespace bereit. Wenn Sie einen vSphere-Namespace konfigurieren, legen Sie dessen DevOps-Berechtigungen fest, einschließlich der Identitätsquelle, der Benutzer und Gruppen sowie der Rollen. Die Plattform gibt diese Berechtigungen an jeden in diesem vSphere-Namespace bereitgestellten TKG-Dienst-Cluster weiter. Die Plattform unterstützt zwei Authentifizierungsmethoden: vCenter Single Sign-On und einen OIDC-konformen externen Identitätsanbieter.
Authentifizierung mithilfe von vCenter Single Sign-On und Kubectl
Standardmäßig wird vCenter Single Sign-On zur Authentifizierung bei der Umgebung verwendet, einschließlich Supervisor- und TKG-Dienst-Clustern. vCenter Single Sign-On bietet Authentifizierung für die vSphere-Infrastruktur und kann in AD/LDAP-Systeme integriert werden. Weitere Informationen finden Sie unter vSphere-Authentifizierung mit vCenter Single Sign-On.
Für die Authentifizierung mit vCenter Single Sign-On verwenden Sie das vSphere-Plug-In für kubectl. Nach der Authentifizierung verwenden Sie kubectl, um den Lebenszyklus von TKG-Dienstclustern deklarativ bereitzustellen und zu verwalten und mit Supervisor zu interagieren.
Das vSphere-Plug-In für kubectl-Plug-In hängt von kubectl ab. Wenn Sie sich mit dem Befehl kubectl vsphere login
authentifizieren, gibt das Plug-In eine POST-Anforderung mit Standardauthentifizierung für einen /wcp/login-Endpoint auf Supervisor aus. vCenter Server gibt ein JSON-Web-Token (JWT) aus, dem der Supervisor vertraut.
Informationen zum Herstellen einer Verbindung über vCenter Single Sign-On finden Sie unter Herstellen einer Verbindung zu TKG-Dienst-Clustern mithilfe der vCenter SSO-Authentifizierung.
Authentifizierung mithilfe eines externen Identitätsanbieters und der Tanzu-CLI
Sie können Supervisor mit einem externen Identitätsanbieter konfigurieren, der das OpenID Connect-Protokoll unterstützt. Nach der Konfiguration fungiert Supervisor als OAuth 2.0-Client und verwendet den Authentifizierungsdienst Pinniped, um mithilfe der Tanzu-CLI Client-Konnektivität bereitzustellen. Die Tanzu-CLI unterstützt die Bereitstellung und Verwaltung des Lebenszyklus von TKG-Dienst-Clustern. Jede Supervisor-Instanz kann nur einen externen Identitätsanbieter unterstützen.
Sobald das Authentifizierungs-Plug-In und der OIDC-Aussteller ordnungsgemäß für die Funktion der pinniped-auth-CLI konfiguriert sind, sucht das System bei Supervisor mit tanzu login --endpoint
nach einigen bekannten Configmaps, um die pinniped config
-Konfigurationsdatei zu erstellen.
Informationen zum Herstellen einer Verbindung mithilfe eines externen OIDC-Anbieters finden Sie unter Herstellen einer Verbindung zu TKG-Clustern auf Supervisor mithilfe eines externen Identitätsanbieters.
Authentifizierung mit einem hybriden Ansatz: vCenter SSO mit Tanzu CLI
Wenn Sie vCenter Single Sign-On als Identitätsanbieter verwenden und die Tanzu-CLI einsetzen möchten, können Sie einen hybriden Ansatz nutzen und sich mithilfe der beiden Tools bei Supervisor anmelden. Dieser Ansatz kann für die Installation von Standardpaketen nützlich sein. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Supervisor mithilfe der Tanzu-CLI und der vCenter SSO-Authentifizierung.
Benutzer und Gruppen für DevOps
Die beim Konfigurieren eines vSphere-Namespace eingerichteten Berechtigungen gelten für DevOps-Benutzer, die den Lebenszyklus von TKG-Dienst-Clustern verwalten. Der DevOps-Benutzer oder die DevOps-Gruppe, der Sie Berechtigungen zuweisen, muss in der Identitätsquelle vorhanden sein. DevOps-Benutzer authentifizieren sich mit ihren Identitätsanbieter-Anmeldedaten.
Rollenberechtigungen und -bindungen
Zwei Arten von RBAC-Systemen (Role Based Access Control, Rollenbasierte Zugriffssteuerung) stehen für TKGS-Cluster zur Verfügung: vSphere-Namespace-Berechtigungen und Kubernetes RBAC-Autorisierung. Als vSphere-Administrator weisen Sie vSphere-Namespace-Berechtigungen zu, damit Benutzer TKG-Dienstcluster erstellen und betreiben können. Cluster-Operatoren verwenden Kubernetes RBAC, um Entwicklern Clusterzugriff zu gewähren und Rollenberechtigungen zuzuweisen. Weitere Informationen hierzu finden Sie unter Gewähren von vCenter SSO-Zugriff auf TKG-Dienst-Cluster für Entwickler.
vSphere-Namespaces unterstützen drei Rollen: Schreibzugriff, Lesezugriff und Besitzer. Rollenberechtigungen werden zum vSphere-Namespace, in dem ein TKG-Dienst-Cluster gehostet wird, zugewiesen und auf diesen beschränkt. Weitere Informationen hierzu finden Sie unter Konfigurieren von vSphere-Namespaces für das Hosting von TKG-Dienst-Clustern.
cluster-admin
. Mithilfe der Rolle
cluster-admin
können Benutzer TKG-Dienstcluster im Ziel-
vSphere-Namespace bereitstellen und betreiben. Sie können diese Zuordnung mit dem Befehl
kubectl get rolebinding
im Ziel-
vSphere-Namespace anzeigen.
kubectl get rolebinding -n tkgs-cluster-namespace NAME ROLE AGE wcp:tkg-cluster-namespace:group:vsphere.local:administrators ClusterRole/edit 33d wcp:tkg-cluster-namespace:user:vsphere.local:administrator ClusterRole/edit 33d
Ein Benutzer oder eine Gruppe, der die Rollenberechtigung Lesezugriff für einen vSphere-Namespace gewährt wird, hat Lesezugriff auf TKG-Dienst-Clusterobjekte, die in diesem vSphere-Namespace bereitgestellt werden. Anders als bei der Berechtigung Schreibzugriff wird für die Rolle Lesezugriff keine Kubernetes-Rollenbindung in TKGS-Clustern in diesem vSphere-Namespace erstellt. Der Grund hierfür besteht darin, dass in Kubernetes keine vergleichbare schreibgeschützte Rolle vorhanden ist, an die ein Benutzer oder eine Gruppe mit der Berechtigung Lesezugriff gebunden werden kann. Für andere Benutzer als cluster-admin
verwenden Sie Kubernetes RBAC, um Zugriff zu gewähren. Weitere Informationen finden Sie unter Gewähren von vCenter SSO-Zugriff auf TKG-Dienst-Cluster für Entwickler.
vSphere-Berechtigungen
Die Tabelle zeigt die Typen von vSphere-Berechtigungen, die für verschiedene vSphere IaaS control plane-Personas erforderlich sind. Bei Bedarf können Sie eine benutzerdefinierte vSphere SSO-Gruppe und -Rolle für die Arbeitslastverwaltung erstellen. Weitere Informationen hierzu finden Sie unter Erstellen einer dedizierten Gruppe und Rolle für Plattformoperatoren.
Persona | vSphere-Rolle | vSphere-SSO-Gruppe | vSphere-Namespace |
---|---|---|---|
VI/Cloud-Administrator | Administrator | Administratoren | SSO-Benutzer und/oder AD-Benutzer |
DevOps-/Plattform-Operator | Nicht-Admin oder benutzerdefinierte Rolle | ServiceProviderUsers | SSO-Benutzer und/oder AD-Benutzer |
Entwickler | Schreibgeschützt oder keine | Keine | SSO-Benutzer und/oder AD-Benutzer |
Systemadministrator-Konnektivität
Administratoren können als kubernetes-admin
-Benutzer eine Verbindung mit TKG-Dienst-Clusterknoten herstellen. Diese Methode kann empfehlenswert sein, wenn die vCenter Single Sign-On-Authentifizierung nicht verfügbar ist. Zu Fehlerbehebungszwecken können Systemadministratoren mithilfe von SSH und einem privaten Schlüssel als vmware-system-user
eine Verbindung mit einem TKG-Dienst herstellen. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu TKG-Dienst-Clustern als Kubernetes-Administrator und Systembenutzer.