【发布时间】:2022-08-09 19:12:47
【问题描述】:
Kubernetes 无法拉取公共镜像。像nginx这样的标准镜像下载成功,但是我的宠物项目没有下载。我正在使用 minikube 启动 kubernetes-cluster
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-gateway-deploumnet
labels:
app: api-gateway
spec:
replicas: 3
selector:
matchLabels:
app: api-gateway
template:
metadata:
labels:
app: api-gateway
spec:
containers:
- name: api-gateway
image: creatorsprodhouse/api-gateway:latest
imagePullPolicy: Always
ports:
- containerPort: 80
当我尝试创建部署时,我收到一个错误,即 kubernetes 无法下载我的公共映像。
$ kubectl get pods
结果:
NAME READY STATUS RESTARTS AGE
api-gateway-deploumnet-599c784984-j9mf2 0/1 ImagePullBackOff 0 13m
api-gateway-deploumnet-599c784984-qzklt 0/1 ImagePullBackOff 0 13m
api-gateway-deploumnet-599c784984-csxln 0/1 ImagePullBackOff 0 13m
$ kubectl logs api-gateway-deploumnet-599c784984-csxln
结果
Error from server (BadRequest): container \"api-gateway\" in pod \"api-gateway-deploumnet-86f6cc5b65-xdx85\" is waiting to start: trying and failing to pull image
可能是什么问题呢?标准图像正在下载,但我的公共图像没有。任何帮助,将不胜感激。
编辑 1
$ api-gateway-deploumnet-599c784984-csxln
结果:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 8m22s default-scheduler Successfully assigned default/api-gateway-deploumnet-849899786d-mq4td to minikube
Warning Failed 3m8s kubelet Failed to pull image \"creatorsprodhouse/api-gateway:latest\": rpc error: code = Unknown desc = context deadline exceeded
Warning Failed 3m8s kubelet Error: ErrImagePull
Normal BackOff 3m7s kubelet Back-off pulling image \"creatorsprodhouse/api-gateway:latest\"
Warning Failed 3m7s kubelet Error: ImagePullBackOff
Normal Pulling 2m53s (x2 over 8m21s) kubelet Pulling image \"creatorsprodhouse/api-gateway:latest\"
编辑 2
如果我尝试下载单独的 docker 映像,那很好
$ docker pull creatorsprodhouse/api-gateway:latest
结果:
Digest: sha256:e664a9dd9025f80a3dd60d157ce1464d4df7d0f8a00538e6a137d44f9f9f12aa
Status: Downloaded newer image for creatorsprodhouse/api-gateway:latest
docker.io/creatorsprodhouse/api-gateway:latest
编辑 3建议重启 minikube 后
$ minikube stop
$ minikube delete --purge
$ minikube start --cni=calico
我开始了豆荚。
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 4m28s default-scheduler Successfully assigned default/api-gateway-deploumnet-849899786d-bkr28 to minikube
Warning FailedCreatePodSandBox 4m27s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container \"7e112c92e24199f268ec9c6f3a6db69c2572c0751db9fd57a852d1b9b412e0a1\" network for pod \"api-gateway-deploumnet-849899786d-bkr28\": networkPlugin cni failed to set up pod \"api-gateway-deploumnet-849899786d-bkr28_default\" network: failed to set bridge addr: could not add IP address to \"cni0\": permission denied, failed to clean up sandbox container \"7e112c92e24199f268ec9c6f3a6db69c2572c0751db9fd57a852d1b9b412e0a1\" network for pod \"api-gateway-deploumnet-849899786d-bkr28\": networkPlugin cni failed to teardown pod \"api-gateway-deploumnet-849899786d-bkr28_default\" network: running [/usr/sbin/iptables -t nat -D POSTROUTING -s 10.85.0.34 -j CNI-57e7da7379b524635074e6d0 -m comment --comment name: \"crio\" id: \"7e112c92e24199f268ec9c6f3a6db69c2572c0751db9fd57a852d1b9b412e0a1\" --wait]: exit status 2: iptables v1.8.4 (legacy): Couldn\'t load target `CNI-57e7da7379b524635074e6d0\':No such file or directory
Try `iptables -h\' or \'iptables --help\' for more information.
-
尝试描述其中一个 pod,它可能会在
Events部分提供更多详细信息:kubectl describe pod api-gateway-deploumnet-599c784984-csxln -
还有一件事要检查——你的节点是基于 arm 的机器吗?
-
当您在终端中运行
arch时,输出是什么? -
谢谢,那不是手臂机器,所以这是消除了一个可能的原因。
-
看起来你的 minikube 集群不能说话:
Failed to pull image \"creatorsprodhouse/api-gateway:latest\": rpc error: code = Unknown desc = context deadline exceeded
标签: kubernetes kubectl minikube