自建Kubernetes集羣如何使用阿里雲CSI存儲組件

工具與資源中心
幫助開發者更加高效的工做,提供圍繞開發者全生命週期的工具與資源
https://developer.aliyun.com/... segmentfault

阿里雲容器服務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。url

  1. 若是您的自建集羣部署在阿里雲ECS上,請參考[阿里雲ECS上自建Kubernetes集羣接入ACK註冊集羣]()
  2. 若是您使用ACK註冊集羣節點池功能爲本地數據中心自建Kubernetes集羣擴容了阿里雲ECS節點,則默認打標了 alibabacloud.com/external=truespa

    步驟一 在自建集羣中配置CSI組件RAM權限

    在註冊集羣中安裝CSI組件前,您須要在接入集羣中設置AK用來訪問雲服務的權限。設置AK前,您須要建立RAM用戶併爲其添加訪問相關雲資源的權限。插件

  3. 建立RAM用戶。有關如何建立RAM用戶的具體步驟,請參見建立RAM用戶。
  4. 建立權限策略。有關建立權限策略的具體操做步驟,請參見建立自定義策略。請受權RAM權限以下所示:
    {
    "Version": "1",
    "Statement": [code

    {
         "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存儲卷。

相關文章
相關標籤/搜索