Создание пода (Pod) с постоянными томами (Persistent Volumes)
Пятый шаг - создать под (Pod) с постоянным томом (Persistent Volume, PV) и заявкой на постоянный том (Persistent Volume Claim, PVC). PV и PVC используются для постоянного хранения и доступа к данным при перезапусках подов (Pods).
Для этого сначала создадим PV.
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
Сохраните приведенный выше код в файле с именем /home/labex/project/pv.yaml
и выполните следующую команду:
kubectl apply -f /home/labex/project/pv.yaml
Эта команда создаст PV с именем my-pv
с емкостью 1ГиБ и путем на узле /mnt/data
.
Далее, создадим PVC, которая запрашивает 1ГиБ хранилища из PV.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
Сохраните приведенный выше код в файле с именем /home/labex/project/pvc.yaml
и выполните следующую команду:
kubectl apply -f /home/labex/project/pvc.yaml
Эта команда создаст PVC с именем my-pvc
, которая запрашивает 1ГиБ хранилища.
Наконец, вы измените файл YAML, чтобы добавить том и точку монтирования тома в контейнер Nginx.
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
Сохраните приведенный выше код в файле с именем /home/labex/project/pod-pv.yaml
и выполните следующую команду:
kubectl apply -f /home/labex/project/pod-pv.yaml
Эта команда создаст под (Pod) с именем my-pod-5
с одним контейнером, именуемым my-container
, который запускает образ Nginx и имеет точку монтирования тома по пути /mnt/data
, которая поддерживается PVC с именем my-pvc
.