我正在尝试在 OKE 的容器中挂载现有 OCI 块卷,但失败。 Oracle 文档描述了如何使用 FlexVolumes 执行此操作(此处)。我使用 CSI 卷,因为它们被认为是最佳实践。该文档没有提及 CSI 卷的具体方法。
我的努力不断导致配置和安装新的块卷,不考虑 Kubernetes PVC 定义中指定的现有块卷。新卷的实际安装工作正常。
Kubernetes YAML:
Retain
reclaimPolicy
:# Overload the OCI storage class, redefining the reclaim policy
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: retain-oci
provisioner: blockvolume.csi.oraclecloud.com
reclaimPolicy: Retain
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-volume-claim
annotations:
volume.beta.kubernetes.io/oci-volume-source: ocid1.volume.oc1.eu-frankfurt-1.abtheljsl...........
spec:
storageClassName: "retain-oci"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
我尝试使用 OCI 卷的 name 而不是 OCID,但这也不起作用。
非常感谢任何指导。
更新 - 我没有找到特定问题的解决方案。不过,我改用了 OCI 文件系统 [0],它实际上更适合我的要求。
[0] https://docs.oracle.com/en-us/iaas/Content/File/Concepts/filestorageoverview.htm