我正在尝试使用本地的Docker镜像创建Kubernetes部署。并且将imagePullPolicy设置为Never,以便Kubernetes从通过tar导入的本地Docker镜像中获取它。
环境
-
SingleNodeMaster # one node deployment
尽管本地docker镜像存在,但Kubernetes始终试图获取私有存储库。
请提供有关如何调试和解决问题的任何指针,以便Kubernetes将从本地docker注册表中选择镜像。谢谢。
执行的步骤
- docker load -i images.tar
- docker images # 显示来自myprivatehub.com/nginx/nginx-custom:v1.1.8的镜像
- kubectl create -f local-test.yaml,图像拉取策略为Never
错误
Pulling pod/nginx-custom-6499765dbc-2fts2 Pulling image "myprivatehub.com/nginx/nginx-custom:v1.1.8"
Failed pod/nginx-custom-6499765dbc-2fts2 Error: ErrImagePull
Failed pod/nginx-custom-6499765dbc-2fts2 Failed to pull image "myprivatehub.com/nginx/nginx-custom:v1.1.8": rpc error: code = Unknown desc = failed to pull and unpack image "myprivatehub.com/nginx/nginx-custom:v1.1.8": failed to resolve reference "myprivatehub.com/nginx/nginx-custom:v1.1.8": failed to do request: Head "https://myprivatehub.com/v2/nginx/nginx-custom/manifests/v1.1.8": dial tcp: lookup myprivatehub.com: no such host
docker pull <imagename>
Error response from daemon: Get https://myprivatehub.com/v2/: dial tcp: lookup myprivatehub.com on 172.31.0.2:53: no such host
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-custom
namespace: default
spec:
selector:
matchLabels:
run: nginx-custom
replicas: 5
template:
metadata:
labels:
run: nginx-custom
spec:
containers:
- image: myprivatehub.com/nginx/nginx-custom:v1.1.8
imagePullPolicy: Never
name: nginx-custom
ports:
- containerPort: 80
docker images
中有镜像存在,尝试将策略从never
更改为IfNotPresent
。不确定如何强制使用缓存。 - P....