本指南提供了诊断和解决在工作负载中挂载 OCI 注册表配置时,Connectors CSI Driver 常见问题的详细步骤。
问题 | 可能原因 | 影响 |
---|---|---|
卷挂载失败 | CSI 配置错误,驱动不可用 | 工作负载无法启动 |
Docker 配置未找到 | 挂载路径错误,缺少卷 | 镜像拉取/推送操作失败 |
认证失败 | 令牌问题,配置错误 | 注册表访问被拒绝 |
非安全注册表问题 | Docker 守护进程配置错误 | TLS/证书错误 |
验证工作负载 YAML 中的 CSI 卷配置:
常见配置选项:
配置名称 | 描述 | 使用场景 |
---|---|---|
docker-config | 标准 Docker 配置 | 通用容器操作 |
dockerd | Docker 守护进程配置 | 用于 Docker 守护进程的 Docker 模式 |
buildkitd | BuildKit 守护进程配置 | 用于基于 BuildKit 的操作 |
常见配置问题:
问题 | 表现 | 解决方案 |
---|---|---|
驱动名称错误 | 出现 MountVolume.SetUp failed 错误 | 将 driver 精确设置为 connectors-csi |
找不到 Connector | 出现 could not get connector 错误 | 确保 Connector 存在于相同命名空间 |
配置名称错误 | 未生成 Docker 配置 | 设置正确的 configuration.names 值 |
命名空间不匹配 | 卷挂载失败 | 确保 Connector 与 Pod 在同一命名空间 |
如何验证:
检查卷挂载配置是否正确:
不同配置的常用挂载路径:
配置名称 | 推荐挂载路径 | 描述 |
---|---|---|
docker-config | /root/.docker 或 $HOME/.docker | Docker 客户端配置目录 |
dockerd | /etc/docker | Docker 守护进程配置目录 |
buildkitd | /etc/buildkit | BuildKit 守护进程配置目录 |
检查 Pod 事件中与挂载相关的问题:
常见错误信息及解决方案:
错误信息 | 原因 | 解决方案 |
---|---|---|
MountVolume.SetUp failed | CSI 驱动问题或配置错误 | 检查驱动状态和卷配置 |
waiting for ephemeral inline CSI driver | CSI 驱动未就绪或未找到 | 验证 CSI 驱动 Pod 是否运行 |
connector not found | Connector 不存在或命名空间错误 | 创建 Connector 或修正命名空间 |
failed to generate configuration | 模板渲染错误 | 检查 Connector 和 ConnectorClass 状态 |
示例错误及解决方案:
解决方案:创建 Connector 或修正卷属性中的 Connector 名称。
定位配置文件:
如果未找到配置文件,请检查:
检查生成的 config.json
文件:
预期配置内容:
检查生成的 daemon.json
文件:
预期配置内容:
检查生成的 buildkitd.toml
文件:
预期配置内容:
症状:
server certificate verification failed
错误排查步骤:
验证非安全注册表设置是否正确配置:
检查容器运行时是否使用了挂载的配置:
对于 containerd,验证代理地址配置是否正确:
查看 CSI 驱动日志以获取详细错误信息:
查看代理服务日志以排查认证或访问问题:
创建诊断 Pod 测试 OCI 功能: