通過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,請參見如下步驟操作。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
單擊存儲頁簽,分別定位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鏡像。
注意事項
通過容器服務管理控制臺的組件管理頁面升級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。