
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个用于将镜像挂载为PV(持久卷)或临时卷的CSI驱动。
它通过CRI拉取镜像并与容器运行时共享镜像存储,然后通过运行时的快照/存储服务挂载镜像。只读卷的同一镜像共享相同快照,读写卷保留自己的快照及更改直至Pod删除。
该驱动需要为不同的容器运行时挂载各种主机路径。因此,提供了一个二进制工具warm-metal-csi-image-install以降低安装复杂度。它支持使用cri-o、containerd或docker容器运行时的kubernetes、microk8s和k3s集群。用户可在集群的任何节点上运行此工具生成适当的清单来安装驱动。下载链接可在https://github.com/warm-metal/csi-driver-image/releases%E8%8E%B7%E5%8F%96%E3%80%82
shell# 打印安装清单 warm-metal-csi-image-install # 显示检测到的配置 warm-metal-csi-image-install --print-detected-instead # 更改驱动安装的默认命名空间 warm-metal-csi-image-install --namespace=foo
在Docker将其https://github.com/moby/moby/issues/38043%E8%BF%81%E7%A7%BB%E5%88%B0containerd%E4%B9%8B%E5%89%8D%EF%BC%8C%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8containerd%E6%9B%BF%E4%BB%A3Docker%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E9%A9%B1%E5%8A%A8%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8Docker%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E7%9A%84%E9%95%9C%E5%83%8F%E3%80%82
如果容器运行时无法迁移,可通过清除containerd配置文件/etc/containerd/config.toml启用CRI插件,然后重启containerd。
用户可将镜像挂载为预配置PV或临时卷。PV仅支持ReadOnlyMany访问模式,而临时卷可写,其更改在卸载后会被丢弃。
对于临时卷,volumeAttributes包含image(必填)、secret、secretNamespace和pullAlways。
yamlapiVersion: batch/v1 kind: Job metadata: name: ephemeral-volume spec: template: metadata: name: ephemeral-volume spec: containers: - name: ephemeral-volume image: docker.xuanyuan.run/warmmetal/csi-image-test:check-fs env: - name: TARGET value: /target volumeMounts: - mountPath: /target name: target restartPolicy: Never volumes: - name: target csi: driver: csi-image.warm-metal.tech # nodePublishSecretRef: # name: "同命名空间中的ImagePullSecret名称" volumeAttributes: image: "docker.xuanyuan.run/warmmetal/csi-image-test:simple-fs" # # 若需忽略本地镜像,设置pullAlways # pullAlways: "true" backoffLimit: 0
对于预配置PV,使用volumeHandle而非image属性来指定目标镜像。
yamlapiVersion: v1 kind: PersistentVolume metadata: name: pv-test-csi-image-test-simple-fs spec: storageClassName: csi-image.warm-metal.tech capacity: storage: 5Gi accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain csi: driver: csi-image.warm-metal.tech volumeHandle: "docker.io/warmmetal/csi-image-test:simple-fs" # nodePublishSecretRef: # name: "ImagePullSecret的名称" # namespace: "secret的命名空间" # volumeAttributes: # # 若需忽略本地镜像,设置pullAlways # pullAlways: "true"
查看所有https://github.com/warm-metal/csi-driver-image/tree/master/sample%E3%80%82
配置私有镜像拉取凭证有多种方式。
若集群在云环境中,凭证提供器会自动启用。若云提供商提供凭证提供器插件,可通过向驱动添加--image-credential-provider-config和--image-credential-provider-bin-dir标志来启用,详见https://kubernetes.io/docs/tasks/kubelet-credential-provider/kubelet-credential-provider/%E3%80%82
否则,需使用ImagePullSecrets存储凭证。以下链接可能有帮助:
若需所有卷共享secret,可将其添加到驱动的ServiceAccount(默认名为csi-image-warm-metal),并更新Role csi-image-warm-metal以确保守护进程有权限获取该secret,然后重启驱动守护进程Pod。用户可运行warm-metal-csi-image-install生成新清单并应用以更新。
shell# 使用secret foo和bar warm-metal-csi-image-install --pull-image-secret-for-daemonset=foo --pull-image-secret-for-daemonset=bar
若secret仅用于特定工作负载,可通过临时卷的nodePublishSecretRef属性设置(见上述示例清单),注意secret与工作负载必须在同一命名空间。(自v0.5.1版本起,出于安全原因,不再支持使用工作负载服务账户关联的ImagePullSecrets拉取私有镜像。)
也可将secret设置到PV,然后与多个工作负载共享该PV,见上述示例。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务