通過CSI掛載OSS儲存卷時,CSI組件會使用ossfs將OSS Bucket掛載到節點檔案系統。v1.30.4-*版本的CSI組件(包括csi-plugin組件和csi-provisioner組件)升級了ossfs的預設版本,並最佳化了掛載流程。
變更內容及解決方案
ossfs版本升級
在v1.30.4-*版本中,csi-plugin組件和csi-provisioner組件預設使用的ossfs版本將升級至v1.91.3。關於ossfs版本的介紹,請參見ossfs版本說明;關於1.91及以上版本的介紹, 請參見ossfs 1.91及以上版本新功能介紹及效能壓測。
如果您仍然需要使用v1.88版本的ossfs,請參見如下步驟操作。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
單擊儲存頁簽,分別定位csi-plugin組件和csi-provisioner組件,單擊組件卡片的配置,配置兩個組件的FeatureGate為
UpdatedOssfsVersion=false
。
ossfs Pod命名空間切換為ack-csi-fuse
舊版本CSI掛載OSS Bucket時會自動建立對應的ossfs Pod,位於kube-system命名空間下。自v1.30.4-*版本起,ossfs Pod所在的命名空間將切換至ack-csi-fuse。
若您在v1.30.4-*版本前通過RRSA鑒權方式掛載了OSS儲存卷,由於Pod的命名空間變更,升級版本至v1.30.4-*版本前,需要追加RAM角色的授權主體,否則新掛載OSS儲存卷的Pod將啟動失敗。
請參見如下步驟修改信任策略。
使用阿里雲帳號登入RAM控制台。
在左側導覽列,選擇 。
在角色頁面,搜尋對應RAM角色,單擊角色名稱,然後單擊信任策略頁簽,根據頁面提示編輯信任策略。
您可以參考以下樣本修改信任策略,在
oidc:sub
處追加ack-csi-fuse命名空間下的ServiceAccount。假設原信任策略為:
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:kube-system:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } } ], "Version": "1" }
修改後的信任策略為:
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:kube-system:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } }, { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:ack-csi-fuse:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } } ], "Version": "1" }
不再支援自訂ossfs鏡像
v1.30.4-*版本的CSI不再支援通過csi-plugin ConfigMap自訂ossfs鏡像。
注意事項
通過Container Service管理主控台的組件管理頁面升級csi-plugin組件版本到v1.30.4-*及以上版本後,叢集會自動使用新版掛載流程。csi-plugin組件版本升級後,掛載了OSS儲存卷的存量Pod仍會正常運行,不受影響。
升級csi-plugin組件到v1.30.4-*及以上版本前,請安裝最新版本的csi-provisioner組件,或升級csi-provisioner(託管版或非託管版)組件至v1.30.4-*及以上版本。
相關文檔
關於CSI組件的變更記錄及說明,請參見csi-plugin、csi-provisioner。