使用 Kubernetes Operator 配置文件系统备份存储与
与支持存储文件系统快照。
先决条件
要配置文件系统快照存储,您的与部署必须有一个存储类配置了ReadWriteMany
方法。
程序
配置文件系统快照存储
1
创建一个PersistentVolumeClaim对象。
创建一个 持久卷声明(PersistentVolumeClaim) 对象,并根据需要分配存储。将 访问模式(accessModes) 设置为 ReadWriteMany
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: snapshot-store-ops-manager spec: storageClassName: managed-nfs-storage #SC that supports(RWX) accessModes: - ReadWriteMany resources: requests: storage: 10G ...
2
创建并应用一个指定您的持久卷声明的 Ops Manager 自定义资源定义。
创建一个Ops Manager 自定义资源定义,它指定了您的PersistentVolumeClaim
对象和backup.fileSystemStores
字段,这是您的文件系统快照存储的名称。
以下示例创建了一个名为ops-manager-fs.yaml
的自定义资源定义文件,用于MongoDB的oplog store
,并具有kube-user
权限。
apiVersion: mongodb.com/v1 kind: MongoDBOpsManager metadata: name: ops-manager spec: replicas: 1 version: 6.0.7 adminCredentials: ops-manager-admin-secret statefulSet: spec: template: spec: volumes: - name: snapshot-store persistentVolumeClaim: claimName: snapshot-store-ops-manager containers: - name: mongodb-ops-manager volumeMounts: - name: snapshot-store mountPath: /snapshot_store backup: enabled: true fileSystemStores: - name: filesystem1 assignmentLabels: ["test1", "test2"] opLogStores: assignmentLabels: ["test1", "test2"] - name: oplog1 mongodbResourceRef: name: oplog-db # mongodbUserRef: # name: kube-user statefulSet: spec: template: spec: volumes: - name: snapshot-store persistentVolumeClaim: claimName: snapshot-store-ops-manager containers: - name: mongodb-backup-daemon volumeMounts: - name: snapshot-store mountPath: /snapshot_store applicationDatabase: members: 3 version: 6.0.0
3
4
配置您的oplog存储。
等待您的Ops Manager对象报告其状态为 运行中
,然后按照以下步骤配置您的oplog存储:部署一个Ops Manager资源过程中的“配置备份设置”步骤。
5
在Ops Manager.
登录到您的Ops Manager实例,并导航到管理员 备份 快照存储 创建新的文件系统存储。
将名称设置为在您的自定义资源定义中设置的值 backup.fileSystemStores
。然后根据需要设置其他值,然后单击 创建。
您的Ops Manager对象在创建新的文件系统存储后,将报告一个 BACKUP
状态为 挂起
。