По вашей проблеме вы можете взглянуть на другую проблему на ту же ошибку. Таким образом, кажется, вы не можете инициализировать тот же объем, когда другой уже сделал это для монго. Из-за ошибки, я предлагаю вам просто использовать объем для хранения данных. Вы можете инициализировать в Dockerfile при создании образа. Или вы можете использовать тома создания для каждого модуля через StatefulSets , и это более рекомендуется.
Обновление:
Файл yam ниже будет работать для вас:
apiVersion: v1
kind: Service
metadata:
name: mongo
spec:
ports:
- port: 27017
targetPort: 27017
selector:
app: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo
spec:
selector:
matchLabels:
app: mongo
serviceName: mongo
replicas: 3
template:
metadata:
labels:
app: mongo
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongo
image: charlesacr.azurecr.io/mongodb:v1
ports:
- containerPort: 27017
name: mongo
volumeMounts:
- name: az-files-mongo-storage
mountPath: /data/db
volumeClaimTemplates:
- metadata:
name: az-files-mongo-storage
spec:
accessModes:
- ReadWriteOnce
storageClassName: az-files-mongo-storage
resources:
requests:
storage: 5Gi
И вам нужно создать StorageClass перед созданием наборов состояний. Файл yam ниже:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: az-files-mongo-storage
provisioner: kubernetes.io/azure-file
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=1000
- gid=1000
parameters:
skuName: Standard_LRS
Тогда модули работают хорошо, и скриншот ниже:
