我正在尝试使用 oracle 中的 oci-bv 存储类来备份和恢复具有持久卷的随机 pod。如果我使用的是 oci 存储类,它可以正常工作,但使用 oci-bv sc 它会创建一个新卷,而不是使用备份卷。
所以我尝试用 PersistentVolumeClaim 创建一个 pod,这里是 pod 和 pvc yaml 文件:
apiVersion: v1
kind: Pod
metadata:
name: pod-with-pvc
spec:
containers:
- name: pvc-container
image: nginx:latest
volumeMounts:
- mountPath: /pv-mount
name: pv
volumes:
- name: pv
persistentVolumeClaim:
claimName: pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: oci-bv
之后只需在 pv-mount 文件夹中添加一些随机文件并在 oracle 云中创建一个块卷备份。删除 pvc 和 pod。恢复块卷并使用块卷中的 OCID 创建 pvc 文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: testbackup-restore
annotations:
volume.beta.kubernetes.io/oci-volume-source: ocid1.volume.oc1.eu-blabla
spec:
resources:
requests:
storage: 50Gi
accessModes:
- ReadWriteOnce