通过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。