阿裡雲容器服務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存儲卷