阿里云容器服务ACK的容器存储功能基于Kubernetes存储系统,深度融合阿里云存储服务并完全兼容Kubernetes原生的存储服务,例如EmptyDir、HostPath、Secret、ConfigMap等存储。ACK基于社区容器存储接口(CSI)通过部署CSI插件实现了阿里云存储服务接入能力。容器服务ACK支持Pod自动绑定阿里云云盘、NAS、 OSS、CPFS、本地卷等存储服务,每种存储卷的主要特点及应用场景参见存储CSI概述。
前提条件
- 您需要创建一个注册集群,并将自建Kubernetes集群接入注册集群。具体操作,请参见创建阿里云注册集群并接入自建Kubernetes集群。
- 您的自建集群已经扩容了阿里云ECS节点,如何为自建Kubernetes集群扩容阿里云ECS节点请参考创建混合集群, 或您的自建集群部署在阿里云ECS上。
注意事项
[注意]
阿里云CSI存储组件只支持运行在阿里云ECS节点上。自建Kubernetes集群中的阿里云ECS节点需要打标节点标签
alibabacloud.com/external=true
。
- 如果您的自建集群部署在阿里云ECS上,请参考[阿里云ECS上自建Kubernetes集群接入ACK注册集群]()
- 如果您使用ACK注册集群节点池功能为本地数据中心自建Kubernetes集群扩容了阿里云ECS节点,则默认打标了
alibabacloud.com/external=true
步骤一 在自建集群中配置CSI组件RAM权限
在注册集群中安装CSI组件前,您需要在接入集群中设置AK用来访问云服务的权限。设置AK前,您需要创建RAM用户并为其添加访问相关云资源的权限。
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:AttachDisk",
"ecs:DetachDisk",
"ecs:DescribeDisks",
"ecs:CreateDisk",
"ecs:ResizeDisk",
"ecs:CreateSnapshot",
"ecs:DeleteSnapshot",
"ecs:CreateAutoSnapshotPolicy",
"ecs:ApplyAutoSnapshotPolicy",
"ecs:CancelAutoSnapshotPolicy",
"ecs:DeleteAutoSnapshotPolicy",
"ecs:DescribeAutoSnapshotPolicyEX",
"ecs:ModifyAutoSnapshotPolicyEx",
"ecs:AddTags",
"ecs:DescribeTags",
"ecs:DescribeSnapshots",
"ecs:ListTagResources",
"ecs:TagResources",
"ecs:UntagResources",
"ecs:ModifyDiskSpec",
"ecs:CreateSnapshot",
"ecs:DeleteDisk",
"ecs:DescribeInstanceAttribute",
"ecs:DescribeInstances"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"nas:DescribeFileSystems",
"nas:DescribeMountTargets",
"nas:AddTags",
"nas:DescribeTags",
"nas:RemoveTags",
"nas:CreateFileSystem",
"nas:DeleteFileSystem",
"nas:ModifyFileSystem",
"nas:CreateMountTarget",
"nas:DeleteMountTarget",
"nas:ModifyMountTarget",
"nas:TagResources",
"nas:SetDirQuota",
"nas:EnableRecycleBin",
"nas:GetRecycleBinAttribute"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"oss:PutBucket",
"oss:GetObjectTagging",
"oss:ListBuckets",
"oss:PutBucketTags",
"oss:GetBucketTags",
"oss:PutBucketEncryption",
"oss:GetBucketInfo"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}
- 为RAM用户添加权限。有关如何为RAM用户授权的具体步骤,请参见为RAM用户授权。
- 为RAM用户创建AK。有关如何为子账户创建AK,请参见获取AccessKey。
- 使用AK在自建Kubernetes集群中创建名为alibaba-addon-secret的Secret资源,步骤二中安装事件中心相关组件时将自动引用此AK访问对应的云服务资源。
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>'
您需要将上述代码中和替换为您获取的AK信息。
步骤二 组件安装与升级
CSI组件安装步骤如下所示:
2)在控制台左侧导航栏中,单击集群。
3)在集群列表页面中,单击目标注册集群页面右侧的详情。
4)在集群详情页签,点击运维管理下的组件管理。
5)找到csi-provisioner
和csi-plugin
并点击安装。
步骤三 使用CSI存储插件
如何使用云盘存储卷,请参考云盘存储卷。
如何使用NAS存储卷,请参考NAS存储卷。
如何使用OSS存储卷,请参考OSS存储卷。