• 沒有找到結果。

SaaS 服务提供商静态导入第三方 OBS 对象桶和并行文件系统

OBS对象桶静态PV:

apiVersion: v1 kind: PersistentVolume metadata:

name: objbucket #名称替换为实际的对象桶PV名称 annotations:

pv.kubernetes.io/provisioned-by: everest-csi-provisioner spec:

accessModes:

- ReadWriteMany capacity:

storage: 1Gi mountOptions:

- default_acl=bucket-owner-full-control #新增的OBS挂载参数 csi:

driver: obs.csi.everest.io fsType: s3fs

volumeAttributes:

everest.io/obs-volume-type: STANDARD

everest.io/region: cn-north-4 #设置为当前区域id

storage.kubernetes.io/csiProvisionerIdentity: everest-csi-provisioner volumeHandle: objbucket #名称替换为实际的第三方租户对象桶名称

persistentVolumeReclaimPolicy: Retain #必须设置为Retain,删除PV时保留桶实际也无法删除 storageClassName: csi-obs-mountoption #可以关联某个新增自定义OBS StorageClass, 也可关联集 群自带的csi-obs

– mountOptions:新增的OBS挂载参数,允许桶所有者对桶中数据有完整的访 问权限,解决挂载第三方桶后写入数据、桶所有者无法读取的问题。挂载第 三方租户的对象存储使用场景下,default_acl必须设置为bucket-owner-full-control,default_acl的其他取值请参见OBS预定义的权限控制策略。

– persistentVolumeReclaimPolicy:挂载第三方租户的对象存储使用场景下,

persistentVolumeReclaimPolicy必须设置为Retain。删除PV时保留桶实际也 无法删除,因此CCE集群所在的SaaS服务提供商的业务平台需要管理第三方 桶PV的生命周期,单独删除PVC时PV不会被关联删除而被保留(Kubernetes 原生PV Retain回收策略的效果),需要调用Kubernetes原生接口进行静态PV 的创建和删除。

– storageClassName:可以关联某个新增自定义OBS StorageClass(创建自定 义OBS StorageClass),也可关联集群自带的csi-obs。

绑定的OBS对象桶PVC:

apiVersion: v1

kind: PersistentVolumeClaim metadata:

annotations:

csi.storage.k8s.io/fstype: s3fs

everest.io/obs-volume-type: STANDARD

volume.beta.kubernetes.io/storage-provisioner: everest-csi-provisioner name: objbucketpvc #名称替换为实际的对象桶PVC名称

namespace: default spec:

accessModes:

- ReadWriteMany resources:

requests:

storage: 1Gi

storageClassName: csi-obs-mountoption #与绑定的PV关联的StorageClass保持一致 volumeName: objbucket #名称替换为实际需要绑定的对象桶PV名称

OBS并行文件系统静态PV:

apiVersion: v1 kind: PersistentVolume metadata:

name: obsfscheck #名称替换为实际的并行文件系统PV名称 annotations:

pv.kubernetes.io/provisioned-by: everest-csi-provisioner spec:

accessModes:

- ReadWriteMany capacity:

storage: 1Gi mountOptions:

- default_acl=bucket-owner-full-control #新增的OBS挂载参数 csi:

driver: obs.csi.everest.io fsType: obsfs

volumeAttributes:

everest.io/obs-volume-type: STANDARD everest.io/region: cn-north-4

storage.kubernetes.io/csiProvisionerIdentity: everest-csi-provisioner

volumeHandle: obsfscheck #名称替换为实际的三方租户的并行文件系统名称

persistentVolumeReclaimPolicy: Retain #必须设置为Retain,删除PV时保留桶实际也无法删除 storageClassName: csi-obs-mountoption #可以关联某个新增自定义OBS StorageClass,也可关联 集群自带的csi-obs

– mountOptions:新增的OBS挂载参数,允许桶所有者对桶中数据有完整的访 问权限,解决挂载第三方桶后写入数据、桶所有者无法读取的问题。挂载第 三方租户的对象存储使用场景下,default_acl必须设置为bucket-owner-full-control,default_acl的其他取值请参见OBS预定义的权限控制策略。

– persistentVolumeReclaimPolicy:挂载第三方租户的对象存储使用场景下,

persistentVolumeReclaimPolicy必须设置为Retain。删除PV时保留桶实际也 无法删除,因此CCE集群所在的SaaS服务提供商的业务平台需要管理第三方 桶PV的生命周期,单独删除PVC时PV不会被关联删除而被保留(Kubernetes 原生PV Retain回收策略的效果),需要调用Kubernetes原生接口进行静态PV 的创建和删除。

– storageClassName:可以关联某个新增自定义OBS StorageClass(创建自定 义OBS StorageClass),也可关联集群自带的csi-obs。

绑定的OBS并行文件系统PVC:

apiVersion: v1

kind: PersistentVolumeClaim metadata:

annotations:

csi.storage.k8s.io/fstype: obsfs

everest.io/obs-volume-type: STANDARD

volume.beta.kubernetes.io/storage-provisioner: everest-csi-provisioner name: obsfscheckpvc #名称替换为实际的并行文件系统PVC名称 namespace: default

spec:

accessModes:

- ReadWriteMany resources:

requests:

storage: 1Gi

storageClassName: csi-obs-mountoption #与绑定的PV关联的StorageClass保持一致 volumeName: obsfscheck #名称替换为实际的并行文件系统PV名称

● 创建自定义OBS StorageClass,用以关联静态PV(可选):

apiVersion: storage.k8s.io/v1 kind: StorageClass

metadata:

name: csi-obs-mountoption mountOptions:

- default_acl=bucket-owner-full-control parameters:

csi.storage.k8s.io/csi-driver-name: obs.csi.everest.io csi.storage.k8s.io/fstype: s3fs

everest.io/obs-volume-type: STANDARD provisioner: everest-csi-provisioner reclaimPolicy: Retain

volumeBindingMode: Immediate

– csi.storage.k8s.io/fstype:指定文件类型,支持“obsfs”与“s3fs”。取值 为s3fs时说明使用的obs对象桶,配套使用s3fs挂载;取值为obsfs时说明使用 的是obs并行文件系统,配套使用obsfs挂载。

– reclaimPolicy:指定创建的Persistent Volume的回收策略。该取值会设置到 基于新的PVC关联该SC动态创建的PV.spec.persistentVolumeReclaimPolicy 中。若设置为Delete,删除PVC时会触发关联删除外部OBS对象和该PV;若 设置为Retain,删除PVC时会保留PV和外部存储,需要单独清理PV。对于使 用导入关联三方桶对应的使用场景,该SC只做关联静态PV使用(需要设置为 Retain),不涉及使用动态创建。

4.3 SFS Turbo 动态创建子目录并挂载