Я тестирую что-то с PV и хотел получить разъяснения. У нас есть кластер из 18 узлов (используется Docker EE), и мы смонтировали общий ресурс NFS на каждом из этих узлов, чтобы использовать его для постоянного хранилища k8s. Я создал PV (используя hostPath), чтобы связать его с моим nginx развертыванием (монтирование / usr / share / nginx / html в PV).
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-test-namespace-pv
namespace: test-namespace
spec:
storageClassName: manual
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/nfs_share/docker/mynginx/demo"
How to create the PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-test-namespace-pvc
namespace: test-namespace
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 2Gi
Файл развертывания:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mynginx
specs:
selector:
matchLabels:
run: mynginx-apps
replicas:2
template:
metadata:
labels:
run: mynginx-apps
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: nfs-test-namespace-pvc
containers:
- name: mynginx
image: dtr.midev.spglobal.com/spgmi/base:mynginx-v1
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
Итак, я предполагаю, что когда мой модуль запускает индекс по умолчанию, файл html из образа nginx должен быть доступно в / usr / share / nginx / html в моем модуле, и его также следует скопировать / доступно в моем / nfs_share / mynginx / demo .
Однако я не вижу ни одного файла здесь, и когда я раскрываю это развертывание и получаю доступ к сервису, это дает мне ошибку 403, поскольку индексный файл недоступен. Теперь, когда я создаю файл html либо из модуля, либо из узла на общем ресурсе NFS, смонтированного как PV, он работает, как и ожидалось.
Верно ли мое предположение о том, что файл по умолчанию копируется в путь к хосту? или я что-то упустил?