本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
阿里云容器服务ACK的容器存储功能深度融合阿里云存储服务,完全兼容Kubernetes原生的存储服务,可通过部署CSI存储组件接入阿里云存储服务。ACK支持Pod自动绑定阿里云云盘、NAS、OSS、CPFS、本地卷等存储服务。本文介绍如何在注册集群中使用阿里云CSI存储。
前提条件
注意事项
如果您的自建Kubernetes集群部署在阿里云ECS上,您需要为ECS实例添加节点标签。关于如何为ECS实例添加节点标签,请参见自建Kubernetes集群接入ACK注册集群后的ECS节点初始化配置。
如果您使用注册集群节点池功能为本地数据中心自建Kubernetes集群扩容的阿里云ECS节点,则默认已添加节点标签
alibabacloud.com/external=true
。
步骤一:为CSI组件配置RAM权限
在本地安装配置onectl。具体操作,请参见通过onectl管理注册集群。
onectl通过RAM用户的AccessKey来访问云服务资源,您可以执行以下命令,配置RAM用户的CSI组件权限。
onectl ram-user grant --addon csi-plugin
预期输出:
Ram policy ack-one-registered-cluster-policy-csi-plugin granted to ram user ack-one-user-ce313528c3 successfully.
在注册集群中安装CSI存储组件前,您需要在自建Kubernetes集群中设置AccessKey用来访问云服务的权限。设置AccessKey前,您需要创建RAM用户并为其添加访问相关云资源的权限。
创建自定义权限策略。通过以下自定义策略示例,添加磁盘、快照、快照策略、资源标签、实例、文件系统及仓库的管理权限。
为RAM用户创建AccessKey。
建议您参见AccessKey网络访问限制策略配置网络策略,将AccessKey调用来源控制在可信的网络环境内,提升AccessKey的安全性。
使用AccessKey在注册集群中创建名为alibaba-addon-secret的Secret资源。
安装CSI组件时将自动引用此AccessKey访问对应的云服务资源。
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your access key id>' --from-literal='access-key-secret=<your access key secret>'
<your access key id>
及<your access key secret>
为上一步获取的AccessKey信息。
步骤二:安装CSI组件
执行以下命令,安装CSI组件。
onectl addon install csi-plugin
onectl addon install csi-provisioner
预期输出:
Addon csi-plugin, version **** installed.
Addon csi-provisioner, version **** installed.
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
单击存储页签,在csi-plugin及csi-provisioner卡片单击安装。
在提示对话框中确认版本信息后单击确定。
步骤三:使用存储卷
注册集群对于各存储卷的使用情况如下表所示。
存储卷类型 | 参考链接 |
存储卷类型 | 参考链接 |
NAS | |
OSS | |
本地存储卷 | |
CPFS | |
云盘 |
- 本页导读 (1)
- 前提条件
- 注意事项
- 步骤一:为CSI组件配置RAM权限
- 步骤二:安装CSI组件
- 步骤三:使用存储卷