本文为您介绍OSS存储卷常见问题的处理方法。
OSS存储卷挂载失败
问题现象:
OSS存储卷挂载失败。
问题原因:
使用的AccessKey不正确。
OSS存储卷挂载使用的URL无法访问网络。
节点操作系统非CentOS 7或Alibaba Cloud Linux 2。
解决方法:
使用正确的AccessKey。
确认OSS存储卷挂载使用的URL可以访问网络。
临时解决:手动在节点上下载安装新版本ossfs工具,然后删除业务Pod触发OSS存储卷重新挂载。
重要Flexvolume Pod每次重启时,都将回退ossfs至原版本,但不影响已经成功挂载的业务。如需彻底修复该问题,建议您将Flexvolume迁移至CSI后,再升级节点操作系统。关于迁移操作,请参见迁移Flexvolume至CSI。
集群升级后容器内OSS挂载目录不可用
问题现象:
集群升级后,容器内OSS挂载目录不可用。
问题原因:
升级集群重启kubelet时,由于容器网络会重启,导致OSSFS进程重启,主机与容器目录映射失效。
解决方法:
需要重启容器,或重建Pod。您可以通过配置健康检查实现容器或Pod的自动重启。
关于使用OSS存储的更多信息,请参见OSS存储卷概述。
OSS存储卷挂载时间延长
问题现象:
OSS存储卷挂载时间延长。
问题原因:
若您在应用模板中配置了securityContext.fsgroup参数,kubelet在存储卷挂载完成后会执行chmod
或chown
操作,导致挂载时间延长。
解决方法:
若应用模板中配置了securityContext.fsgroup参数,请删除securityContext下的fsgroup参数。
若需要将挂载目录内文件变成期望的UID和mode,可以手动将Bucket挂载到一台ECS。关于ECS实例挂载OSS,请参见通过云存储网关挂载OSS。再通过命令行执行
chown
和chmod
,完成后通过Flexvolume使用OSS存储卷。关于如何通过Flexvolume使用OSS存储卷,请参见使用OSS静态存储卷。对于1.20及之后版本的Kubernetes集群,可通过将fsGroupChangePolicy配置为OnRootMismatch,这时只有在首次启动时才会执行
chmod
或chown
操作。更多信息,请参见为Pod或容器配置安全性上下文。