更新时间: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。