Bereitstellung eines Volumens
Erstellen Sie einen PersistentVolumeClaim (PVC), der die konfigurierte Kubernetes StorageClass verwendet, um Zugriff auf das PV anzufordern. Anschließend können Sie die PV-Anlage an einem Pod montieren.
Überblick
A "PersistentVolumeClaim" (PVC) ist eine Anfrage für den Zugriff auf das PersistentVolume im Cluster.
Das PVC kann so konfiguriert werden, dass es Speicherplatz einer bestimmten Größe oder einen bestimmten Zugriffsmodus anfordert. Mithilfe der zugehörigen StorageClass kann der Clusteradministrator mehr als nur die Größe und den Zugriffsmodus des PersistentVolumes steuern – beispielsweise die Leistung oder das Servicelevel.
Nachdem Sie das PVC erstellt haben, können Sie das Volumen in einem Gehäuse montieren.
PVC erstellen
-
Erstellen Sie die PVC.
kubectl create -f pvc.yaml
-
Überprüfen Sie den PVC-Status.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 1Gi RWO 5m
-
Montieren Sie das Volume in einem Gehäuse.
kubectl create -f pv-pod.yaml
Sie können den Fortschritt überwachen mit kubectl get pod --watch. -
Überprüfen Sie, ob das Volume eingebunden ist.
/my/mount/path.kubectl exec -it task-pv-pod -- df -h /my/mount/path
-
Sie können den Pod jetzt löschen. Die Pod-Anwendung wird nicht mehr existieren, das Volume bleibt jedoch erhalten.
kubectl delete pod pv-pod
Beispielmanifeste
Beispielmanifeste für PersistentVolumeClaim
Diese Beispiele zeigen grundlegende PVC-Konfigurationsoptionen.
Dieses Beispiel zeigt ein einfaches PVC mit RWO-Zugriff, das einer StorageClass namens zugeordnet ist. basic-csi .
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: basic-csi
Dieses Beispiel zeigt eine einfache PVC für NVMe/TCP mit RWO-Zugriff, die einer StorageClass namens zugeordnet ist. protection-gold .
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san-nvme
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 300Mi
storageClassName: protection-gold
Pod-Manifestproben
Diese Beispiele zeigen grundlegende Konfigurationen zur Befestigung des PVC an einer Kapsel.
kind: Pod
apiVersion: v1
metadata:
name: pv-pod
spec:
volumes:
- name: storage
persistentVolumeClaim:
claimName: pvc-storage
containers:
- name: pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/my/mount/path"
name: storage
apiVersion: v1
kind: Pod
metadata:
name: pod-nginx
spec:
volumes:
- name: basic-pvc
persistentVolumeClaim:
claimName: pvc-san-nvme
containers:
- name: task-pv-container
image: nginx
volumeMounts:
- mountPath: "/my/mount/path"
name: basic-pvc
Siehe"Kubernetes- und Trident Objekte" Einzelheiten darüber, wie Speicherklassen mit dem interagieren, finden Sie hier. PersistentVolumeClaim und Parameter zur Steuerung der Volumenbereitstellung Trident .