文档首页/ 云容器引擎 CCE/ 常见问题/ 权限/ 什么是OBS全局访问密钥?如何排查集群中是否使用全局访问密钥?
更新时间:2025-04-25 GMT+08:00

什么是OBS全局访问密钥?如何排查集群中是否使用全局访问密钥?

在CCE集群中创建OBS类型的PVC时,需要选择一个访问密钥(AK/SK)。OBS的访问密钥可分为以下两种:

  • 自定义访问密钥(推荐使用):使用自定义访问密钥时,PVC的yaml中带有csi.storage.k8s.io/node-publish-secret-namespace和csi.storage.k8s.io/node-publish-secret-name两个annotation,分别表示集群中存放密钥的secret命名空间和secret名称。

  • 全局访问密钥(仅存量已上传过的用户支持使用,已不推荐):使用全局访问密钥时,PVC的yaml中不会带有csi.storage.k8s.io/node-publish-secret-namespace和csi.storage.k8s.io/node-publish-secret-name两个annotation,且全局访问密钥的secret固定在kube-system命名空间下,名称为paas.longaksk。

    全局访问密钥(paas.longaksk)是项目维度的,使用全局访问密钥后,该项目下的每个集群默认都会创建一个相同的全局访问密钥。由于这种机制可能导致安全性和管理上的复杂性,因此不推荐使用全局访问密钥。

    如果用户没有使用全局访问密钥的需求,则可以在集群的“配置中心”中关闭全局访问密钥,操作后CCE会删除kube-system命名空间下的全局访问密钥paas.longaksk。如果后续有使用需求可以在配置中心再次开启。

排查集群中是否使用全局访问密钥

  • 通过控制台页面排查

    在CCE集群的存储页面,选择全部命名空间,在存储卷声明页签下,添加筛选条件“存储配置”“obs”,并查看筛选结果列表的存储配置列。

    如果访问密钥显示为空,说明使用的是全局访问密钥。如果访问密钥显示不为空,说明使用的是自定义访问密钥。

  • 使用kubectl命令行排查
    kubectl get pvc --all-namespaces -o=custom-columns=Name:'metadata.name',Namespace:'metadata.namespace',secretName:'metadata.annotations.csi\.storage\.k8s\.io\/node-publish-secret-name' | grep \<none\>

    通过以上命令,可以查询出集群中正在使用全局访问密钥的PVC,输出第一列为PVC的名字,第二列为PVC所在的命名空间。

    obs-test     default     <none>

    如果返回为空,说明集群中没有正在使用全局访问密钥的PVC。