使用 Kubernetes Operator 配置文件系统备份存储
Kubernetes 操作符 支持存储文件系统快照。
先决条件
要配置文件系统快照存储,您的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 自定义资源定义,指定您的 PersistentVolumeClaim。
创建MongoDB Ops Manager CustomResourceDefinition 指定您的PersistentVolumeClaim
对象和backup.fileSystemStores
字段,后者是文件系统快照存储的名称。
以下示例创建了一个 CustomResourceDefinition 名为 的文件,用于具有ops-manager-fs.yaml
的 MongoDB oplog 存储 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 存储。
等待MongoDB Ops Manager 对象将其状态报告为Running
,然后按照oplog 部署 资源 过程的MongoDB Ops Manager 配置备份设置 步骤中的描述配置 存储。
5
在 Ops Manager 中创建文件系统快照存储。
登录到您的 Ops Manager 实例并导航到: Admin Backup Snapshot Store Create New File System Store 。
将名称设立为您在backup.fileSystemStores
CustomResourceDefinition 中为 设置的值 。根据需要设置其他值,然后单击Create 。
创建新的文件系统存储后,Ops Manager 对象将报告Pending
的BACKUP
状态。