我正在尝试使用以下配置文件创建一个Kubernetes pod:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-deployment
labels:
app: mongodb
spec:
replicas: 1
selector:
matchLabels:
app: mongodb
template:
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: mongo
ports:
- containerPort: 27017
env:
- name: MONGO_INITDB_ROOT_USERNAME
valueFrom:
secretKeyRef:
name: mongodb-secret
key: mongo-root-username
- name: MONGO_INITDB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mongodb-secret
key: mongo-root-password然而,我得到了一个ImagePullBackOff,当我使用kubectl描述荚时,如下所示:
Name: mongodb-deployment-8f6675bc5-jzmvw
Namespace: default
Priority: 0
Node: minikube/192.168.64.2
Start Time: Thu, 10 Dec 2020 16:30:21 +0800
Labels: app=mongodb
pod-template-hash=8f6675bc5
Annotations: <none>
Status: Pending
IP: 172.17.0.3
IPs:
IP: 172.17.0.3
Controlled By: ReplicaSet/mongodb-deployment-8f6675bc5
Containers:
mongodb:
Container ID:
Image: mongo
Image ID:
Port: 27017/TCP
Host Port: 0/TCP
State: Waiting
Reason: ErrImagePull
Ready: False
Restart Count: 0
Environment:
MONGO_INITDB_ROOT_USERNAME: <set to the key 'mongo-root-username' in secret 'mongodb-secret'> Optional: false
MONGO_INITDB_ROOT_PASSWORD: <set to the key 'mongo-root-password' in secret 'mongodb-secret'> Optional: false
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-w5ltt (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
default-token-w5ltt:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-w5ltt
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 115m default-scheduler Successfully assigned default/mongodb-deployment-8f6675bc5-jzmvw to minikube
Normal Pulling 115m kubelet Pulling image "mongo"
Warning Failed 114m kubelet Failed to pull image "mongo": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Warning Failed 114m kubelet Error: ErrImagePull
Normal BackOff 114m kubelet Back-off pulling image "mongo"
Warning Failed 114m kubelet Error: ImagePullBackOff我不认为这是图像/图像名称的问题。我的配置文件有问题吗?
任何建议都将不胜感激!
发布于 2020-12-24 08:30:45
在Kubernetes中出现ImagePullBackOff错误的原因不多,要确定它是因为您应该运行kubectl describe pod
Failed to pull image "mongo": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)此错误意味着无法从容器注册表中提取图像。
您可以尝试使用docker login命令登录到docker。如果失败,您可以尝试修改/etc/resolv.conf并添加名称服务器8.8.8.8,然后使用sudo systemctl restart docker重新启动停靠程序。
其他原因可能是使用代理或VPN连接。你可以参考答案in this question.
https://stackoverflow.com/questions/65232826
复制相似问题