mongodb - AKS Mongo 数据不与 Azure 文件共享保持一致
问题描述
更新最后,这与 Azure 文件共享无关。Azure Disk 和 NFS 或 HostPath 实际上是相同的情况
我已使用 mountPath /data 将 Azure 文件共享卷挂载到 mongoDb pod。一切似乎都按预期工作。当我执行到 pod 中时,我可以在 /data/db 中看到 mongo 数据。但在 Azure 文件共享上,我只能看到文件夹 /db 和 /dbconfig,而不是文件。任何想法 ?我已授予该卷的权限 0777。
这是我的 yaml 文件
存储类
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: azurefile
provisioner: kubernetes.io/azure-file
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=999
- gid=999
parameters:
storageAccount: ACCOUNT_NAME
skuName: Standard_LRS
PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: azurefile
spec:
accessModes:
- ReadWriteMany
storageClassName: azurefile
resources:
requests:
storage: 20Gi
Mongo 部署文件
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: mongo
labels:
app: mongo
namespace: development
spec:
replicas: 1
selector:
matchLabels:
app: mongo
template:
metadata:
labels:
app: mongo
spec:
containers:
- name: mongo
image: "mongo"
imagePullPolicy: IfNotPresent
ports:
- containerPort: 27017
protocol: TCP
volumeMounts:
- mountPath: /data
name: mongovolume
subPath: mongo
imagePullSecrets:
- name: secret-acr
volumes:
- name: mongovolume
persistentVolumeClaim:
claimName: azurefile
Kubernetes 版本
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.6", GitCommit:"a21fdbd78dde8f5447f5f6c331f7eb6f80bd684e", GitTreeState:"clean", BuildDate:"2018-07-26T10:04:08Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
解决方案
通过更改 docker.io/bitnami/mongodb:4.0.2-debian-9 的 mongo 映像解决了该问题。使用此图像,mongo 数据被写入文件共享,并且数据现在是持久的
推荐阅读
- c# - 如何将隐式运算符与预处理器指令一起使用?
- sql - 将一行中的值除以第二行中的值 - 基于相同的分组
- python-3.x - 在 numpy.loadtxt() 中指定不加载或加载一系列列的列
- javascript - 如果需要在圆括号中的速记?
- marklogic - 像marklogic中的语句
- sql - 如何使用 SQL 为不同的列分配权重?
- javascript - 在Angular(Primo)中每n次执行一个JS函数
- c# - 使用 SessionStateBehavior.ReadOnly 时,会话变量在请求之间消失
- python - 如何为 predict_generator 编写 keras 模型的生成器
- ios - 如何在应用程序文件夹中创建文件夹