文档首页/ 云容器引擎 CCE/ 用户指南/ 存储/ 对象存储(OBS)/ 使用委托凭据挂载对象存储卷
更新时间:2026-03-24 GMT+08:00
分享

使用委托凭据挂载对象存储卷

在使用CCE进行应用部署时,如果需要将对象存储服务(OBS)作为持久化存储挂载到容器中,传统做法依赖于手动配置的访问密钥(AKSK)。为了满足更高安全标准的需求,CCE支持使用委托挂载对象存储卷,实现精细化粒度的权限控制,无需再手动创建和管理AKSK密钥。

前提条件

  • CCE容器存储(Everest)要求2.5.1及以上版本。
  • 集群要求v1.28及以上版本,具体版本如下:
    • v1.28集群:v1.28.15-r80及以上版本
    • v1.29集群:v1.29.15-r40及以上版本
    • v1.30集群:v1.30.14-r40及以上版本
    • v1.31集群:v1.31.14-r0及以上版本
    • v1.32集群:v1.32.9-r0及以上版本
    • v1.33集群:v1.33.7-r0及以上版本
    • v1.34集群:v1.34.2-r0及以上版本
    • 其他更高版本

约束与限制

  • 使用委托凭据挂载对象存储卷时,关联的委托不允许删除,否则业务容器将无法访问已挂载的对象存储。
  • 暂不支持安全容器。

使用委托挂载对象存储卷

目前CCE支持使用全局委托和工作负载委托挂载对象存储卷,主要差异如下:

  • 全局委托:直接使用在CCE容器存储(Everest)插件中配置的委托挂载对象存储卷。
  • 工作负载委托:使用存储卷关联工作负载的委托权限挂载对象存储卷,可以实现更加精细化粒度的权限控制,但是需要您提前为对应的工作负载配置好工作负载的ServiceAccount和委托的关联关系,详情请参见在CCE集群中使用容器组身份(Pod Identity)获取IAM凭证

动态创建对象存储卷

您可以通过以下方式进行创建。

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧导航栏选择“存储”,在右侧选择“存储卷声明”页签,单击右上角“创建存储卷声明 PVC”,在弹出的窗口中选择“对象存储”类型,创建方式选择“动态创建”
  3. “访问密钥(AK/SK)”配置中根据需求选择“全局委托”“使用工作负载委托”

  4. 其余配置请根据实际情况设置,参数说明详情请参见控制台方式
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-obs-auto
  namespace: default
  annotations:
    everest.io/obs-volume-type: STANDARD    # 对象存储类型
    csi.storage.k8s.io/fstype: obsfs        # 实例类型
    everest.io/csi.authentication-source: "driver"   # 使用的委托方式,driver表示使用插件委托,pod表示使用工作负载的委托
spec:
  accessModes:
    - ReadWriteMany             # 对象存储必须为ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: csi-obs    # StorageClass类型为对象存储
表1 关键参数说明

参数

描述

everest.io/csi.authentication-source

表示使用委托挂载对象存储的方式。

取值范围:“driver”或“pod”

  • driver:表示使用插件的全局委托挂载对接存储卷
  • pod:表示使用工作负载委托挂载对接存储卷
注意:

配置委托挂载时,请不要同时指定自定义密钥(即csi.storage.k8s.io/node-publish-secret-name和csi.storage.k8s.io/node-publish-secret-namespace参数),如果配置了自定义密钥则优先使用自定义密钥进行对象存储挂载。

其余参数说明请参见kubectl命令行方式

静态创建对象存储卷

您可以通过以下方式进行创建。

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧导航栏选择“存储”,在右侧选择“存储卷声明”页签,单击右上角“创建存储卷声明 PVC”,在弹出的窗口中选择“对象存储”类型,创建方式选择“新建存储卷PV”
  3. “访问密钥(AK/SK)”配置中根据需求选择“全局委托”“使用工作负载委托”

  4. 其余配置请根据实际情况设置,参数说明详情请参见控制台方式
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-obs-example
  annotations:
    pv.kubernetes.io/provisioned-by: everest-csi-provisioner
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi
  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
      everest.io/csi.authentication-source: driver # 使用委托挂载对象存储
    volumeHandle: obs-normal-static-pv
  persistentVolumeReclaimPolicy: Delete
  storageClassName: csi-obs
表2 关键参数说明

参数

描述

everest.io/csi.authentication-source

表示使用委托挂载对象存储的方式。

取值范围:“driver”或“pod”

  • driver:表示使用插件的全局委托挂载对接存储卷
  • pod:表示使用工作负载委托挂载对接存储卷

其余参数说明请参见kubectl命令行方式

相关文档