Statusbehaftete Anwendungen, wie z. B. Datenbanken, speichern Daten zwischen Sitzungen und benötigen dauerhaften Volumes zum Speichern der Daten. Mit vSphere IaaS control plane können Sie dynamisch ein dauerhaftes Volume für Ihre Anwendung bereitstellen.

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 zugewiesen hat, wird die Speicherrichtlinie als übereinstimmende Kubernetes-Speicherklasse im vSphere-Namespace und in allen verfügbaren Tanzu Kubernetes Grid-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. In diesem Beispiel wird das dauerhafte Volume für die Anwendung dynamisch erstellt.

Voraussetzungen

Stellen Sie sicher, dass Ihr vSphere-Administrator eine geeignete Speicherrichtlinie erstellt und dem Namespace die Richtlinie zugewiesen hat.

Prozedur

  1. Greifen Sie in der vSphere Kubernetes-Umgebung auf Ihren Namespace zu.
  2. Stellen Sie sicher, dass die Speicherklassen verfügbar sind.
    Weitere Informationen hierzu finden Sie unter Anzeigen von Speicherklassen in einem vSphere-Namespace.
  3. Erstellen Sie einen Anspruch für dauerhafte Volumes.
    1. 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.
      Um ein persistentes Volume im ReadWriteMany-Modus bereitzustellen, setzen Sie accessModes auf ReadWriteMany. Weitere Informationen finden Sie unter Verwenden des vSAN-Dateidiensts zum Erstellen von ReadWriteMany-Volumes in vSphere IaaS control plane.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. Wenden Sie die Beanspruchung eines dauerhaften Volumes auf den Kubernetes-Cluster an.
      kubectl apply -f pvc_name.yaml
      Dieser Befehl erstellt dynamisch ein dauerhaftes Kubernetes-Volume sowie ein vSphere-Volume mit einer zugrunde liegenden virtuellen Festplatte, die die Speicheranforderungen der Beanspruchung erfüllt.
    3. Ü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
  4. Erstellen Sie einen Pod, der das dauerhafte Volume mountet.
    1. 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
    2. Stellen Sie den Pod aus der YAML-Datei bereit:
      kubectl create -f pv_pod_name.yaml
    3. 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 Maßnahme

Weitere Informationen zum Überwachen des Integritätsstatus des dauerhaften Volumes finden Sie unter Überwachen der Volume-Integrität in einem vSphere-Namespace oder Tanzu Kubernetes Grid-Cluster. Weitere Informationen zum Überprüfen und Überwachen des dauerhaften Volumes im vSphere Client finden Sie unter Überwachen von dauerhaften Volumes im vSphere Client.