
prepull是一个用于减少Kubernetes环境中Pod镜像拉取次数的工具,通过两个组件prepull-daemon和prepull-wait协同工作,实现镜像的预拉取与等待机制,从而优化镜像拉取流程,降低网络带宽消耗并缩短Pod启动时间。
适用于Kubernetes集群环境,特别是需要频繁部署Pod且对启动速度有要求的场景,可有效减少重复的镜像拉取操作,节省网络资源并提升Pod部署效率。
配置说明
prepull-daemon作为DaemonSet的initContainer启动,需配合一个常驻容器(如pause容器)运行。配置需满足以下要求:
/var/run目录/home/docker-compose.yml文件/root/.aws/config部署示例(DaemonSet配置)
yamlvolumes: - name: docker hostPath: path: /var/run - name: aws-credentials secret: secretName: aws-credentials - name: docker-compose configMap: name: prepull-docker-compose # 包含docker-compose.yml的ConfigMap initContainers: - name: prepull-daemon image: rhemsjapan/prepull-daemon:latest imagePullPolicy: IfNotPresent volumeMounts: - name: docker mountPath: /var/run - name: aws-credentials subPath: config mountPath: /root/.aws/config - name: docker-compose subPath: docker-compose.yml mountPath: /home/docker-compose.yml env: - name: AWS_REGION value: "ap-northeast-1" - name: AWS_ACCOUNT_ID value: "012345678910" containers: - name: pause image: 602401143452.dkr.ecr.us-east-2.amazonaws.com/eks/pause:3.1-eksbuild.1
相关配置文件
aws-credentials(Secret内容)
[default] aws_access_key_id=<<此处填写访问密钥>> aws_secret_access_key=<<此处填写密钥>>
docker-compose.yml(ConfigMap内容)
yamlversion: '3' services: a: image: <<需要预拉取的镜像地址>>
环境变量说明
| 名称 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| AWS_REGION | ECR的区域 | 是 | - |
| AWS_ACCOUNT_ID | AWS账户ID | 是 | - |
配置说明
prepull-wait作为Deployment或Pod的initContainer启动,用于等待所在节点上的prepull-daemon完成指定镜像的预拉取。
部署示例(Pod/Deployment配置)
yamlinitContainers: - name: prepull-wait image: rhemsjapan/prepull-wait:latest imagePullPolicy: IfNotPresent env: - name: NODE_IP valueFrom: fieldRef: fieldPath: status.hostIP
环境变量说明
| 名称 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| NODE_IP | Pod被调度到的节点IP地址 | 是 | - |
| DAEMON_NAMESPACE | prepull-daemon DaemonSet所在的命名空间 | 否 | prepull-daemon |


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务