【发布时间】:2021-02-20 01:54:16
【问题描述】:
我正在从驻留在主节点上的图像创建一个 pod。当我在主节点上创建要在工作节点上调度的 pod 时,我得到了 pod ErrImageNeverPull 的状态
kind: Pod
metadata:
name: cloud-pipe
labels:
app: cloud-pipe
spec:
containers:
- name: cloud-pipe
image: cloud-pipeline:latest
command: ["sleep"]
args: ["infinity"]
Kubectl 描述 pod 详细信息:
Type Reason Age From Message
- --- ------ ---- ---- -------
Normal Scheduled 15m default-scheduler Successfully assigned
default/cloud-pipe to knode
Warning ErrImageNeverPull 5m54s (x49 over 16m) kubelet Container image "cloud-
pipeline:latest" is not present with pull policy of Never
Warning Failed 51s (x72 over 16m) kubelet Error: ErrImageNeverPull
如何解决此问题。另外,我的问题是默认情况下 Kubernetes 是否会在工作节点上查找图像是否存在?谢谢
【问题讨论】:
-
您的 pod 清单中是否指定了
imagePullPolicy: never?如果是这样,这就是它不尝试提取图像的原因。同样,您在那里指定图像的方式,对于大多数 k8s clsuters 会导致它在 Docker 集线器上查找该图像,而 AFAIK 它不存在。如果您希望它从不同的容器注册表中提取,您需要在其中提取注册表的主机名和端口。
标签: kubernetes kubectl kubernetes-pod kubernetes-deployment