Erstellen eines Pods mit Persistenten Volumes
Der fünfte Schritt besteht darin, einen Pod mit einem Persistenten Volume (PV, dauerhaftem Volume) und einem Persistent Volume Claim (PVC, Anspruch auf dauerhaftes Volume) zu erstellen. PVs und PVCs werden verwendet, um Daten dauerhaft zu speichern und auch nach einem Neustart des Pods darauf zugreifen zu können.
Um dies zu tun, erstellen Sie zunächst ein PV.
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
Speichern Sie den obigen Code in einer Datei namens /home/labex/project/pv.yaml
und führen Sie den folgenden Befehl aus:
kubectl apply -f /home/labex/project/pv.yaml
Dieser Befehl erstellt ein PV namens my-pv
mit einer Kapazität von 1Gi und einem Host-Pfad von /mnt/data
.
Als Nächstes erstellen Sie einen PVC, der 1Gi Speicherplatz vom PV anfordert.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
Speichern Sie den obigen Code in einer Datei namens /home/labex/project/pvc.yaml
und führen Sie den folgenden Befehl aus:
kubectl apply -f /home/labex/project/pvc.yaml
Dieser Befehl erstellt einen PVC namens my-pvc
, der 1Gi Speicherplatz anfordert.
Schließlich ändern Sie die YAML-Datei, um ein Volume und eine Volume-Montage (Volume Mount) zum Nginx-Container hinzuzufügen.
apiVersion: v1
kind: Pod
metadata:
name: my-pod-5
spec:
containers:
- name: my-container
image: nginx
volumeMounts:
- name: my-volume
mountPath: /mnt/data
volumes:
- name: my-volume
persistentVolumeClaim:
claimName: my-pvc
Speichern Sie den obigen Code in einer Datei namens /home/labex/project/pod-pv.yaml
und führen Sie den folgenden Befehl aus:
kubectl apply -f /home/labex/project/pod-pv.yaml
Dieser Befehl erstellt einen Pod namens my-pod-5
mit einem einzelnen Container namens my-container
, der das Nginx-Image ausführt und eine Volume-Montage bei /mnt/data
hat, die durch den PVC namens my-pvc
unterstützt wird.