1. 容器的 ulimit 设置太小 报错信息:1 2 3 4 5 6 7 CheckpointDir: /root/.obsutil_checkpoint OutputDir: /root/.obsutil_output runtime: mlock of signal stack failed: 12 runtime: increase the mlock limit (ulimit -l) or runtime: update your kernel to 5.3.15+, 5.4.2+, or 5.5+ fatal error: mlock failed 如果是 Docker 下,可以在启动时添加 ulimit 参数1 docker run -it --ulimit memlock=-1 ... 如果是 Kubernetes 下,需要以特权模式启动 Pod1 2 3 securityContext: privileged: true runAsUser: 0 在 yaml 配置中添加上面的片段,然后在启动脚本中添加 ulimit -c unlimited 修改 ulimit 。2. 只读权限的凭证无法使用 报错信息:1 Error: open /root/.obsutilconfig: read-only file system 由于以只读权限挂载 .obsutilconfig 凭证到容器,而 obsutil 命令需要对凭证的写权限。因此需要在容器启动时,读取并生成凭证。1 2 cat /root/.obsutilconfig1 > /root/.obsutilconfig ulimit -c unlimited