乐趣区

关于算法:自建Kubernetes集群如何使用阿里云CSI存储组件

工具与资源核心
帮忙开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源
https://developer.aliyun.com/…

阿里云容器服务 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。

  1. 如果您的自建集群部署在阿里云 ECS 上,请参考[阿里云 ECS 上自建 Kubernetes 集群接入 ACK 注册集群]()
  2. 如果您应用 ACK 注册集群节点池性能为本地数据中心自建 Kubernetes 集群扩容了阿里云 ECS 节点,则默认打标了 alibabacloud.com/external=true

    步骤一 在自建集群中配置 CSI 组件 RAM 权限

    在注册集群中装置 CSI 组件前,您须要在接入集群中设置 AK 用来拜访云服务的权限。设置 AK 前,您须要创立 RAM 用户并为其增加拜访相干云资源的权限。

  3. 创立 RAM 用户。无关如何创立 RAM 用户的具体步骤,请参见创立 RAM 用户。
  4. 创立权限策略。无关创立权限策略的具体操作步骤,请参见创立自定义策略。请受权 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"
     }

    ]
    }

  5. 为 RAM 用户增加权限。无关如何为 RAM 用户受权的具体步骤,请参见为 RAM 用户受权。
  6. 为 RAM 用户创立 AK。无关如何为子账户创立 AK,请参见获取 AccessKey。
  7. 应用 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 组件装置步骤如下所示:

1)登录容器服务控制台。
2)在控制台左侧导航栏中,单击集群。
3)在集群列表页面中,单击指标注册集群页面右侧的详情。
4)在集群详情页签,点击运维治理下的组件治理。
5)找到 csi-provisioner 和 csi-plugin 并点击装置。

步骤三 应用 CSI 存储插件

如何应用云盘存储卷,请参考云盘存储卷。
如何应用 NAS 存储卷,请参考 NAS 存储卷。
如何应用 OSS 存储卷,请参考 OSS 存储卷。

退出移动版