Als vSphere-Administrator können Sie einen Supervisor-Namespace erstellen, CPU-, Arbeitsspeicher- und Speichergrenzwerte für den Namespace festlegen, Berechtigungen zuweisen und den Namespace-Dienst auf einem Cluster als Vorlage aktivieren. Daher können DevOps-Ingenieure einen Supervisor-Namespace im Self-Service-Modus erstellen und Arbeitslasten innerhalb des Namespace bereitstellen.

Workflow zum Erstellen und Konfigurieren eines Self-Service-Namespace

Als vSphere-Administrator können Sie einen Supervisor-Namespace erstellen, CPU-, Arbeitsspeicher- und Speichergrenzwerte für den Namespace festlegen, Berechtigungen zuweisen und den Namespace-Dienst auf einem Cluster als Vorlage bereitstellen oder aktivieren.
Abbildung 1. Workflow zur Bereitstellung einer Self-Service-Namespace-Vorlage
Konfigurieren Sie einen vSphere-Cluster als Supervisor. Konfigurieren Sie eine Self-Service-Namespace-Vorlage. Legen Sie Kapazität, Speichernutzungskontingente, CPU und Arbeitsspeicher fest. Weisen Sie eine Speicherrichtlinie zu und wählen Sie ein Netzwerk aus. Legen Sie Berechtigungen für Benutzer und Benutzergruppen fest, um einen Self-Service-Namespace zu erstellen. Stellen Sie den Devops-Ingenieuren die Self-Service-Vorlage zur Verfügung.
Als DevOps-Ingenieur können Sie einen Supervisor-Namespace in einer Self-Service-Form erstellen und Arbeitslasten darin bereitstellen. Sie können ihn für andere DevOps-Ingenieure freigeben oder löschen, wenn sie nicht mehr benötigt wird. Um den Namespace für andere DevOps-Ingenieure freizugeben, wenden Sie sich an den vSphere-Administrator.
Abbildung 2. Workflow zur Erstellung von Self-Service-Namespaces
Melden Sie sich beim Supervisor über das CLI-Plug-In „kubectl-vsphere“. Wechseln Sie zu Ihrem funktionierenden Kubernetes-Kontext. Erstellen Sie einen Self-Service-Namespace auf dem Supervisor. Geben Sie einen Namespace für andere DevOps-Ingenieure mit Besitzerberechtigungen frei. Stellen Sie native vSphere-Pods oder TKG-Cluster bereit. Löschen Sie den Self-Service-Bereich aus dem Supervisor.

Erstellen und Konfigurieren einer Self-Service-Namespace-Vorlage

Als vSphere-Administrator können Sie einen Supervisor-Namespace als Self-Service-Namespace-Vorlage erstellen und konfigurieren. DevOps-Ingenieure können dann Supervisor-Namespaces mithilfe des kubectl-Befehls erstellen und löschen.

Voraussetzungen

Konfigurieren Sie einen Cluster mit vSphere with Tanzu.

Prozedur

  1. Navigieren Sie in vSphere Client zum Supervisor.
  2. Klicken Sie auf die Registerkarte Konfigurieren und wählen Sie Allgemein unter Supervisor.
  3. Wählen Sie Namespace-Dienst aus.
  4. Klicken Sie auf den Schalter Status, um die Funktion zu aktivieren.
    Die Seite Namespace-Vorlage erstellen wird angezeigt.
  5. Konfigurieren Sie im Bereich Konfiguration die Ressourcen für den Namespace.
    Option Beschreibung
    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.
    Speicher Die Gesamtmenge an Speicherplatz, die für den Namespace reserviert werden soll.
    Speicherrichtlinie Speicherrichtlinien für Arbeitslasten, die dauerhaften Speicher erfordern.
    Netzwerk Wählen Sie im Dropdown-Menü Netzwerk ein Netzwerk für den Namespace aus.
    VM-Klassen VM-Klassen zur Bereitstellung eigenständiger VMs.
    Inhaltsbibliotheken Inhaltsbibliotheken mit VM-Images zur Verwendung für VM-Bereitstellungen.
  6. Klicken Sie auf Weiter.
  7. Fügen Sie im Bereich Berechtigungen DevOps-Ingenieure und -Gruppen hinzu, damit sie die Vorlage zum Erstellen von Namespaces verwenden können.
    Wählen Sie eine Identitätsquelle und einen Benutzer oder eine Gruppe aus und klicken Sie auf Weiter.
  8. Im Bereich Überprüfen und bestätigen werden die von Ihnen konfigurierten Eigenschaften angezeigt.
    Überprüfen Sie die Eigenschaften und klicken Sie auf Fertig.

Ergebnisse

Eine Namespace-Vorlage ist konfiguriert und befindet sich im Zustand „Aktiven“. Als vSphere-Administrator können Sie die Vorlage bearbeiten. DevOps-Ingenieure können die Vorlage zum Erstellen von Namespaces verwenden.

Deaktivieren eines Self-Service-Namespace

Als vSphere-Administrator können Sie einen Self-Service-Namespace auf dem Cluster deaktivieren.

Wenn Sie eine Self-Service-Namespace-Vorlage deaktivieren, können DevOps-Ingenieure die Vorlage nicht zum Erstellen neuer Namespaces im Cluster verwenden. Sie können die Namespaces löschen, die sie bereits erstellt haben.

Prozedur

  1. Navigieren Sie in vSphere Client zum Supervisor.
  2. Klicken Sie auf die Registerkarte Konfigurieren und wählen Sie Allgemein unter Supervisor.
  3. Schalten Sie im Bereich Namespace-Dienst den Schalter Status um, um die Vorlage zu deaktivieren.
  4. Um die Vorlage erneut zu aktivieren, schalten Sie den Status um.
    Sie können entweder einen anderen Self-Service-Namespace erstellen oder den vorhandenen verwenden.

Erstellen eines Self-Service-Namespace

Als DevOps-Ingenieur können Sie einen Self-Service-Namespace erstellen und darin Arbeitslasten ausführen. Nachdem Sie den Namespace erstellt haben, können Sie ihn für andere DevOps-Ingenieure freigeben oder löschen, wenn er nicht mehr benötigt wird.

Voraussetzungen

  • Stellen Sie sicher, dass ein vSphere-Administrator eine Self-Service-Namespace-Vorlage im Cluster erstellt und aktiviert hat. Weitere Informationen finden Sie unter Erstellen und Konfigurieren einer Self-Service-Namespace-Vorlage.
  • Überprüfen Sie, ob Sie der Berechtigungsliste in der Self-Service-Namespace-Vorlage entweder einzeln oder als Mitglied einer Gruppe hinzugefügt wurden.
  • Rufen Sie die IP-Adresse der Supervisor-Steuerungsebene ab.

Prozedur

  1. Authentifizieren Sie sich mithilfe des vSphere-Plug-In für kubectl beim Supervisor. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor als vCenter Single Sign-On-Benutzer.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. Führen Sie einen Kontextwechsel zum Supervisor durch.
    kubectl config use-context SUPERVISOR-CLUSTER-IP
  3. Erstellen Sie einen Self-Service-Namespace auf dem Cluster.
    kubectl create namespace NAMESPACE NAME
    Beispiel:
    kubectl create namespace test-ns
    Hinweis: Besitzerberechtigungen stehen DevOps-Ingenieuren zur Verfügung, nachdem Sie vSphere with Tanzu aktiviert und den Cluster aktualisiert haben. Wenn Sie nur vCenter Server und nicht den Cluster aktualisiert haben, verfügen die DevOps-Ingenieure nur über Bearbeitungsberechtigungen für die Namespaces.
    Der von Ihnen erstellte Namespace wird im Cluster angezeigt. Um den Namespace für andere DevOps-Ingenieure freizugeben, wenden Sie sich an den vSphere-Administrator.

Erstellen eines Self-Service-Namespace mit Anmerkungen und Bezeichnungen

DevOps-Ingenieure können über die kubectl-Befehlszeile Self-Service-Namespaces mit Anmerkungen und Bezeichnungen erstellen.

DevOps-Ingenieure können ein YAML-Manifest mit benutzerdefinierten Anmerkungen und Bezeichnungen verwenden.

Prozedur

  1. Melden Sie sich beim Supervisor an.
    kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-USERNAME
  2. Erstellen Sie eine Namespace-YAML-Manifestdatei mit Anmerkungen und Bezeichnungen.
    kubectl create -f ns-create.yaml
    Erstellen Sie z. B. die folgende ns-create.yaml-Datei:
    apiVersion: v1
    kind: Namespace
    metadata:
      name: test-ns-yaml
      labels:
        my-label: "my-label-val-yaml"
      annotations:
        my-ann-yaml: "my-ann-val-yaml"
  3. Wenden Sie das YAML-Manifest an.
    kubectl create -f ns-create.yaml

    oder

    kubectl apply -f ns-create.yaml
  4. Beschreiben Sie den Namespace, den Sie erstellt haben, um die Änderungen anzuzeigen.
    root@localhost [ /tmp ]# kubectl describe ns test-ns-yaml
    Name:         test-ns-yaml
    Labels:       my-label=my-label-val-yaml
                  vSphereClusterID=domain-c50
    Annotations:  my-ann-yaml: my-ann-val-yaml
                  vmware-system-namespace-owner-count: 1
                  vmware-system-resource-pool: resgroup-171
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v172
    Status:       Active
     
    Resource Quotas
     Name:             test-ns-yaml
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     Name:                                                                           test-ns-yaml-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
     
    No LimitRange resource.

Aktualisieren eines Self-Service-Namespace mit kubectl annotate und kubectl label

Als DevOps-Ingenieur können Sie Anmerkungen und Beschriftungen von Self-Service-Namespaces mit den Befehlen kubectl annotate und kubectl label aktualisieren oder löschen.

Voraussetzungen

Vergewissern Sie sich, dass Sie über Eigentümerberechtigungen für den Namespace verfügen, den Sie aktualisieren möchten.

Prozedur

  1. Melden Sie sich beim Supervisor an.
    kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-USERNAME
  2. Beschreiben Sie den Namespace, den Sie aktualisieren möchten.
    root@localhost [ /tmp ]# kubectl describe ns testns
    Name:         testns
    Labels:       my-label=test-label-2
                  vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann-2
                  vmware-system-namespace-owner-count: 2
                  vmware-system-resource-pool: resgroup-153
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v154
    Status:       Active
     
     
    Resource Quotas
     Name:             testns
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
  3. Aktualisieren Sie Anmerkungen mit dem Befehl kubectl annotate.
    Beispielsweise kubectl annotate --overwrite ns testns my-ann="test-ann-3"
    Um eine Anmerkung zu löschen, führen Sie den Befehl kubectl annotate --overwrite ns testns my-ann- aus.
  4. Aktualisieren Sie Beschriftungen mit dem Befehl kubectl label.
    Beispielsweise kubectl label --overwrite ns testns my-label="test-label-3"
    Um eine Beschriftung zu löschen, führen Sie den Befehl kubectl label --overwrite ns testns my-label- aus.
  5. Beschreiben Sie den Namespace, um die Updates anzuzeigen.
    root@localhost [ /tmp ]# kubectl describe ns testns
    Name:         testns
    Labels:       my-label=test-label-3
                  vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann-3
                  vmware-system-namespace-owner-count: 2
                  vmware-system-resource-pool: resgroup-153
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v154
    Status:       Active
     
     
    Resource Quotas
     Name:             testns
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
     
     
    No LimitRange resource.

Aktualisieren eines Self-Service-Namespace mit kubectl edit

Als DevOps-Ingenieur können Sie Self-Service-Namespaces mit dem Befehl kubectl edit aktualisieren.

Voraussetzungen

Vergewissern Sie sich, dass Sie über Eigentümerberechtigungen für den Namespace verfügen, den Sie aktualisieren möchten.

Prozedur

  1. Melden Sie sich beim Supervisor an.
    kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-USERNAME
  2. Beschreiben Sie den Namespace, den Sie aktualisieren möchten.
    kubectl describe ns testns-1
    Name:         testns
    Labels:       vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann-2
                  vmware-system-namespace-owner-count: 2
                  vmware-system-resource-pool: resgroup-153
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v154
    Status:       Active
     
     
    Resource Quotas
     Name:             testns-1
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-1-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
  3. Bearbeiten Sie den Namespace mit dem Befehl kubectl edit.
    Beispielsweise kubectl edit ns testns-1
    Der Befehl kubectl edit öffnet das Namespace-Manifest in dem durch Ihre KUBE_EDITOR- oder EDITOR-Umgebungsvariable definierten Texteditor geöffnet.
  4. Aktualisieren Sie die Beschriftungen.
    Beispielsweise my-label=test-label
  5. Aktualisieren Sie die Anmerkungen.
    Beispielsweise my-ann: test-ann
  6. Beschreiben Sie den Namespace, um die Updates anzuzeigen.
    root@localhost [ /tmp ]# kubectl describe ns testns-1
    Name:         testns-1
    Labels:       my-label=test-label
                  vSphereClusterID=domain-c50
    Annotations:  my-ann: test-ann
                  vmware-system-namespace-owner-count: 1
                  vmware-system-resource-pool: resgroup-173
                  vmware-system-resource-pool-cpu-limit: 0.4770
                  vmware-system-resource-pool-memory-limit: 2000Mi
                  vmware-system-self-service-namespace: true
                  vmware-system-vm-folder: group-v174
    Status:       Active
     
     
    Resource Quotas
     Name:             testns-1
     Resource          Used  Hard
     --------          ---   ---
     requests.storage  0     5000Mi
     
     
     Name:                                                                           testns-1-storagequota
     Resource                                                                        Used  Hard
     --------                                                                        ---   ---
     namespace-service-storage-profile.storageclass.storage.k8s.io/requests.storage  0     9223372036854775807
     
     
    No LimitRange resource.
    

Löschen eines Self-Service-Namespace

Als DevOps-Ingenieur können Sie einen von Ihnen erstellten Self-Service-Namespace löschen.

Voraussetzungen

Stellen Sie sicher, dass Sie einen Self-Service-Namespace mithilfe des vSphere-Plug-In für kubectl erstellt haben.

Prozedur

  1. Authentifizieren Sie sich mithilfe des vSphere-Plug-In für kubectl beim Supervisor. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung mit dem Supervisor als vCenter Single Sign-On-Benutzer.
  2. Löschen Sie den Self-Service-Namespace aus dem Cluster.
    kubectl delete namespace NAMESPACE NAME
    Beispiel:
    kubectl delete namespace test-ns