我一直在使用minikube在本地测试库伯内特斯,在minikube中,我们可以通过使用eval$(minikube docker-env)
命令来使用本地docker镜像。
我开始探索微型k8。在运行Ubuntu 18的机器上使用快照安装microk8。
除了创建本地 docker 注册表之外,有没有办法将本地 docker 映像与 microk8s 一起使用,就像我们使用 minikube 进行测试和开发一样?
microk8s.docker
命令也不工作,它显示:
命令‘microk8s。未找到docker,但可以安装:
卡扣安装microk8s
但它已经安装。
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中的命令有不同的前缀,也就是说,你需要使用而不是-
(以后你可以使用allias来改变它)kubectl get all--all-namespace
microk8s.kubectlget all--all-namespace
5) 您可以使用microk8s通过Dockerfile创建映像。docker build.(不要忘记在命令末尾有Dockerfile和“.”)。
你可以随时查看Microk8s的留档