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 zugewiesen hat, wird die Speicherrichtlinie als übereinstimmende Kubernetes-Speicherklasse im vSphere-Namespace und in allen verfügbaren TKG-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.
  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.
      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 TKG-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.