使用 k3s 访问本地 docker 镜像

Posted

技术标签:

【中文标题】使用 k3s 访问本地 docker 镜像【英文标题】:Access local docker images with k3s 【发布时间】:2019-12-26 15:19:21 【问题描述】:

有没有什么方法可以通过 k3s 直接访问本地 docker 镜像(不使用 'docker save')?

就像 minikube 运行这个命令后访问本地 docker 镜像一样

eval $(minikube docker-env)

一点背景。

我已经使用 k3s 设置了一台机器,使用 Ubuntu 19.04 作为“master”,并使用 raspberry pi 作为“worker”。现在,我想使用本地映像在工作节点上创建部署。

更新

按照下面的评论添加屏幕截图。

Screenshot for the image listings

【问题讨论】:

【参考方案1】:

你可以像 sudo k3s server --docker 这样启动 k3s,它将使用主机的 Docker 而不是 containerd。这将使所有本地图像都可用于 k3s,如果您的 ImagePullPolicy 是 IfNotPresent,k3s 将使用它而不是尝试拉取它。

【讨论】:

在 Arch 我试过了。所以我编辑了/usr/lib/systemd/system/k3s.service,添加了`--docker`:ExecStart=/usr/bin/k3s server --dockersudo systemctl daemon-reloadsudo systemctl restart k3s.service。当我做kubectl时,它可能不再正常工作,有时看似在执行命令,但总是打印The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?Error from server (InternalError): an error on the server ("apiserver not ready") has prevented the request from succeeding (get pods)。我猜要崩溃了。

以上是关于使用 k3s 访问本地 docker 镜像的主要内容,如果未能解决你的问题,请参考以下文章

K3S与Docker常用命令

K3S与Docker常用命令

在 K3s 中使用 Kubernetes 服务端点的本地 Mongo DB 容器访问不起作用

docker创建私有仓库

Docker常用命令 总结

搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)