有没有办法用k3s直接访问本地docker镜像(不使用“docker save”)?
就像 minikube 在运行此命令后访问本地 docker 镜像一样
eval $(minikube docker-env)
一点背景知识。
我已经使用 k3s 设置了一台机器,使用 Ubuntu 19.04 作为“master”,将 raspberry pi 作为“worker”。现在,我想使用本地镜像在工作节点上创建部署。
更新
添加屏幕截图,如下面评论中所述。
虽然这并不能让所有 Docker 镜像都可用,但一个有用的解决方法是导出本地 Docker 镜像并将其导入到您的
ctr
:
docker save my/local-image:v1.2.3 | sudo k3s ctr images import -
这将使它们按需可供您的 k3s 集群使用。 这对于无法让
k3s server
使用 --docker
标志的用户非常有用。
您可以像这样启动k3s
sudo k3s server --docker
,它将使用主机的Docker而不是containerd。这将使所有本地图像可供 k3s 使用,如果您的 ImagePullPolicy 为 IfNotPresent,k3s 将使用它而不是尝试拉取它。
在 k3s 中缺少 docker 引擎,您可以使用 k3s ctr 命令加载新的容器镜像。
首先将 docker 镜像加载为 tar 文件,然后使用 k3s ctr 镜像导入命令
例如: k3s ctr 图像导入 [图像 tar]