如果crictl可以从本地主机提取映像,为什么k3s无法将其部署在本地主机上?

时间:2019-09-09 11:37:56

标签: docker kubernetes k3s

我已经在树莓派的群集上安装了k3。

pi@pikey:~ $ sudo kubectl get node 
NAME       STATUS   ROLES    AGE     VERSION
pikey      Ready    master   4d23h   v1.14.6-k3s.1
pinode-1   Ready    worker   4d23h   v1.14.6-k3s.1
pinode-2   Ready    worker   4d23h   v1.14.6-k3s.1
pinode-3   Ready    worker   4d23h   v1.14.6-k3s.1

我最初只在localhost(pikey)上工作。

我有一个我标记并推入crictl的码头工人图像

pi@pikey:~ $ sudo crictl pull localhost:5000/pilab/node-intro-img
Image is up to date for sha256:7a2c45e77748e6b2282210d7d54b12f0cb25c4b224c222149d7a66653512f543
pi@pikey:~ $ sudo kubectl delete deployment node-intro
deployment.extensions "node-intro" deleted
pi@pikey:~ $ sudo crictl images
IMAGE                                 TAG                 IMAGE ID            SIZE
docker.io/coredns/coredns             1.3.0               6d816a3a1d703       11.5MB
docker.io/library/traefik             1.7.12              a0fc65eddfcc8       19.1MB
docker.io/rancher/klipper-helm        v0.1.5              d4a37f6d19104       25.4MB
docker.io/rancher/klipper-lb          v0.1.1              36563d1beb5e2       2.58MB
k8s.gcr.io/pause                      3.1                 e11a8cbeda868       224kB
localhost:5000/pilab/node-intro-img   latest              7a2c45e77748e       320MB

现在,如果我尝试部署

sudo kubectl create deployment node-intro --image=localhost:5000/pilab/node-intro-img

我知道

pi@pikey:~ $ sudo kubectl get pods
NAME                          READY   STATUS             RESTARTS   AGE
node-intro-567c59c8c7-9p5c5   0/1     ImagePullBackOff   0          101s
pi@pikey:~ $ sudo kubectl get pods
NAME                          READY   STATUS         RESTARTS   AGE
node-intro-567c59c8c7-9p5c5   0/1     ErrImagePull   0          104s

如果crictl可以提取映像,为什么k3无法部署映像?

1 个答案:

答案 0 :(得分:1)

您使用loclahost:5000/...作为图像位置。

但是您确定图像出现在每个节点上吗?也许正在其上部署映像的节点不托管该映像。
请使用承载注册表的节点的IP地址,或确保每个节点上都存在该映像。