Я не совсем уверен, хотите ли вы создать постоянный том в Kubernetes или перенести дату из существующих контейнеров данных Docker.
Вот документация Kubernetes о том, как настроить Pod для использованияPersistentVolume for Storage .
Сначала вы должны создать PersistentVolume
:
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
Затем PersistentVolumeClaim
, потому что этоis был pod
использует для запроса физической памяти.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
И, наконец, вы можете добавить volumeMounts
внутри вашего модуля, который может выглядеть следующим образом:
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
Обновление
Чтобы разделить PVC между многими модулями, вам необходимо настроить:
spec:
accessModes:
- ReadWriteMany
Я также рекомендовал бы проверить этот блог Создать ReadWriteMany PersistentVolumeClaims в вашем кластере Kubernetes и выбор подходящего решения.
Возможно, вас заинтересует проект Rook с открытым исходным кодом, облачное хранилище для Kubernetes.