Возможным решением может быть использование хранилища узла, смонтированного на контейнерах (самый простой способ), или использование решения DFS, такого как NFS, GlusterFS и т. д.
Еще один рекомендуемый способ добиться того, что вам нужно, — использовать постоянные тома для совместного использования одних и тех же файлов между вашими контейнерами.
Предполагая, что у вас есть кластер kubernetes с только одним узлом, и вы хотите поделиться путем /mtn/data
вашего узла со своими модулями (Источник а>):
Создайте PersistentVolume:
HostPath 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:
Поды используют PersistentVolumeClaims для запроса физического хранилища.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
Посмотрите на PersistentVolumeClaim:
kubectl get pvc task-pv-claim
Вывод показывает, что PersistentVolumeClaim привязан к вашему PersistentVolume, task-pv-volume
.
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
task-pv-claim Bound task-pv-volume 10Gi RWO manual 30s
Создайте развертывание с двумя репликами, например:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
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: "/mnt/data"
name: task-pv-storage
Теперь вы можете проверить внутри обоих контейнеров, что путь /mnt/data
имеет одинаковые файлы.
Если у вас есть кластер с более чем 1 узлом, я рекомендую вам подумать о других типах постоянные тома или с помощью DFS.
Ссылки: Настроить постоянный тома постоянные тома Типы томов
person
Mark Watney
schedule
20.02.2020