天天看點

自建Kubernetes叢集如何使用阿裡雲CSI存儲元件

阿裡雲容器服務ACK的容器存儲功能基于Kubernetes存儲系統,深度融合阿裡雲存儲服務并完全相容Kubernetes原生的存儲服務,例如EmptyDir、HostPath、Secret、ConfigMap等存儲。ACK基于社群容器存儲接口(CSI)通過部署CSI插件實作了阿裡雲存儲服務接入能力。容器服務ACK支援Pod自動綁定阿裡雲雲盤、NAS、 OSS、CPFS、本地卷等存儲服務,每種存儲卷的主要特點及應用場景參見 存儲CSI概述

前提條件

注意事項

[注意]

阿裡雲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使用者并為其添加通路相關雲資源的權限。

  1. 建立RAM使用者。有關如何建立RAM使用者的具體步驟,請參見 建立RAM使用者
  2. 建立權限政策。有關建立權限政策的具體操作步驟,請參見 建立自定義政策 。請授權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"
        }
    ]
}           
  1. 為RAM使用者添權重限。有關如何為RAM使用者授權的具體步驟,請參見 為RAM使用者授權
  2. 為RAM使用者建立AK。有關如何為子賬戶建立AK,請參見 擷取AccessKey
  3. 使用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

并點選安裝。

自建Kubernetes叢集如何使用阿裡雲CSI存儲元件

步驟三 使用CSI存儲插件

如何使用雲盤存儲卷,請參考

雲盤存儲卷

如何使用NAS存儲卷,請參考

NAS存儲卷

如何使用OSS存儲卷,請參考

OSS存儲卷

繼續閱讀