提问者:小点点

如何将本地泊坞窗映像与 microk8s 配合使用?


我一直在使用minikube在本地测试库伯内特斯,在minikube中,我们可以通过使用eval$(minikube docker-env)命令来使用本地docker镜像。

我开始探索微型k8。在运行Ubuntu 18的机器上使用快照安装microk8。

除了创建本地 docker 注册表之外,有没有办法将本地 docker 映像与 microk8s 一起使用,就像我们使用 minikube 进行测试和开发一样?

microk8s.docker命令也不工作,它显示:

命令‘microk8s。未找到docker,但可以安装:

卡扣安装microk8s

但它已经安装。


共2个答案

匿名用户

microk8s有一个专用注册表,可用于此目的。

您必须先使用以下命令启用注册表

$microk8s.enable注册表

注册表将流量映射到端口32000,因此您必须将docker映像推送到注册表。如果图像已经存在于本地,您可以使用docker tag命令。

$docker tag <imageName:version> localhost:32000/<imageName:version>

$docker push localhost:32000/<imageName:version>.

使用 https://microk8s.io/docs/registry-built-in 了解更多信息。

匿名用户

不幸的是,你没有提供microk8版本和你的步骤。

我以为你用了sudo快照安装microk8s--经典命令来安装。目前它将下载v1.14.0。
您可以使用快照信息microk8s检查您的版本

1.14.0版引入了microk8s.daemon-docker中的更改,并将其更改为microk8s.daemon。由于此更改,microk8s无法执行docker命令。Microk8s包含1.11和1.13版之间的daemon-docker。

如果您习惯使用docker install microk8s v1.13 bysudo快照安装microk8s--经典--Channel=1.13/稳定

供将来使用:

1) 安装microk8s-sudo snap安装microk8s--classic--channel=1.13/stable(如果仍然想使用docker)

2)确保微k8s已启动 - 微k8s启动(您可以通过微k8s停止它)

3) 检查microk8s正在运行哪些服务。检查

4)microk8s中的命令有不同的前缀,也就是说,你需要使用而不是-kubectl get all--all-namespacemicrok8s.kubectlget all--all-namespace(以后你可以使用allias来改变它)

5) 您可以使用microk8s通过Dockerfile创建映像。docker build.(不要忘记在命令末尾有Dockerfile和“.”)。

你可以随时查看Microk8s的留档