本文介紹如何在ACK One註冊叢集中使用阿里雲的CSI儲存群組件,將NAS檔案系統掛載至Kubernetes叢集進行訪問。
前提條件
已建立註冊叢集,並將自建Kubernetes叢集接入註冊叢集。具體操作,請參見通過控制台建立註冊叢集、通過onectl建立註冊叢集。
確保註冊叢集的版本為1.24或以上版本。
如果您的自建Kubernetes叢集部署在本地,則在本地節點中掛載雲上儲存卷時,需要確保本地和雲上的網路已通過專線連通。
已通過kubectl工具串連註冊叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
注意事項
如果您的自建Kubernetes叢集部署在阿里雲ECS上,您需要為ECS執行個體添加節點標籤。關於如何為ECS執行個體添加節點標籤,請參見自建Kubernetes叢集接入ACK註冊叢集後的ECS節點初始化配置。
如果您使用註冊叢集節點池功能為本機資料中心自建Kubernetes叢集擴容的阿里雲ECS節點,則預設已添加節點標籤
alibabacloud.com/external=true
。
步驟一:為CSI組件配置RAM許可權
通過onectl配置
在本地安裝配置onectl。具體操作,請參見通過onectl管理註冊叢集。
onectl通過RAM使用者的AccessKey來訪問雲端服務資源,您可以執行以下命令,配置RAM使用者的CSI組件許可權。
onectl ram-user grant --addon csi-plugin
預期輸出:
Ram policy ack-one-registered-cluster-policy-csi-plugin granted to ram user ack-one-user-ce313528c3 successfully.
通過控制台配置
在註冊叢集中安裝CSI儲存群組件前,您需要在自建Kubernetes叢集中設定AccessKey用來訪問雲端服務的許可權。設定AccessKey前,您需要建立RAM使用者並為其添加訪問相關雲資源的許可權。
建立RAM使用者。具體操作,請參見建立RAM使用者。
建立自訂權限原則。
為RAM使用者添加許可權。具體操作,請參見為RAM使用者授權。
為RAM使用者建立AccessKey。具體操作,請參見擷取AccessKey。
使用AccessKey在註冊叢集中建立名為alibaba-addon-secret的Secret資源。
安裝CSI組件時將自動引用此AccessKey訪問對應的雲端服務資源。
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>'
說明<your access key id>
及<your access key secret>
為上一步擷取的AccessKey資訊。
步驟二:安裝CSI外掛程式
通過onectl安裝
執行以下命令,安裝CSI組件。
onectl addon install csi-plugin
onectl addon install csi-provisioner
預期輸出:
Addon csi-plugin, version **** installed.
Addon csi-provisioner, version **** installed.
通過控制台安裝
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
單擊儲存頁簽,在csi-plugin及csi-provisioner卡片單擊安裝。
在提示對話方塊中確認版本資訊後,單擊確定。
步驟三:使用儲存卷
您可以通過以下兩種方式掛載NAS檔案系統,持久化應用資料。