求生成Global、DB2、Mongo三类CR的JSON Patch格式oc patch命令
JSON Patch 格式的 oc patch 命令
1. Global CR 配置命令
用于添加/启用备份配置,不会覆盖spec.Global下的其他已有配置:
oc patch <Global-CR-Name> --type='json' -p='[ { "op": "add", "path": "/spec/Global/backup", "value": { "enabled": true, "name": "backup-name", "storageClassName": "RWX", "size": "500Gi" } } ]'
说明:若spec.Global.backup已存在,add操作会替换该节点的全部内容;如需仅更新单个字段,可拆分操作,比如单独更新enabled字段用path: /spec/Global/backup/enabled
2. MongoDBCommunity CR 配置命令
用于追加volumeMount和volume配置,完全保留原有容器、卷的已有配置:
oc patch MongoDBCommunity staging-mongodb --type='json' -p='[ { "op": "add", "path": "/spec/statefulSet/spec/template/spec/containers/name=mongod/volumeMounts/-", "value": { "name": "backup", "mountPath": "/opt/data/backup" } }, { "op": "add", "path": "/spec/statefulSet/spec/template/spec/volumes/-", "value": { "name": "backup", "persistentVolumeClaim": { "claimName": "backup-pvc" } } } ]'
说明:name=mongod是JSON Patch的数组查询语法,精准定位目标容器;/-表示将新元素追加到数组末尾,不会修改原有数组项
3. db2ucluster CR 配置命令
用于在storage数组中追加备份存储配置,不影响原有存储项:
oc patch db2ucluster staging-db2 --type='json' -p='[ { "op": "add", "path": "/spec/storage/-", "value": { "claimName": "backup-pvc", "name": "backup", "spec": { "resources": {} }, "type": "existing" } } ]'
说明:/-将新的存储配置追加到spec.storage数组末尾,原有存储配置完全保留
内容的提问来源于stack exchange,提问作者Mohan1234
相关产品推荐
相关产品推荐

