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
- Greifen Sie in der vSphere Kubernetes-Umgebung auf Ihren Namespace zu.
- Stellen Sie sicher, dass die Speicherklassen verfügbar sind.
- Erstellen Sie einen Anspruch für dauerhafte Volumes.
- 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
aufReadWriteMany
.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce storageClassName: gold resources: requests: storage: 3Gi
- 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. - Ü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
- Erstellen Sie eine YAML-Datei, die die Konfiguration der Beanspruchung eines dauerhaften Volumes enthält.
- Erstellen Sie einen Pod, der das dauerhafte Volume mountet.
- 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
- Stellen Sie den Pod aus der YAML-Datei bereit:
kubectl create -f pv_pod_name.yaml
- Stellen Sie sicher, dass der Pod erstellt wurde.
kubectl get pod
NAME READY STATUS RESTARTS AGE pod_name 1/1 Ready 0 40s
- Erstellen Sie eine YAML-Datei, die das dauerhafte Volume enthält.
Ergebnisse
Der von Ihnen konfigurierte Pod verwendet dauerhaften Speicher, der im Anspruch für dauerhafte Volumes beschrieben wird.