我在虚拟机(Vagrant中的centOS)中开发运行多个容器。我需要在VM中设置容器协调器。容器列表:
[vagrant@localhost ~]$ docker-compose -f /vagrant/docker-compose.yml ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------
vagrant_django_1 /run-mod_wsgi-express.sh Up 8000/tcp
vagrant_ers-build_1 bash /ers/startup.sh Up 35729/tcp
vagrant_jupyterhub_1 /srv/run_jupyterhub.sh Up 8081/tcp, 0.0.0.0:8888->8888/tcp
vagrant_mongodb_1 /usr/bin/mongod Up 27017/tcp
vagrant_proxy_1 /run-httpd.sh Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
vagrant_python-volume_1 /bin/bash Exit 0
vagrant_static_1 /run-httpd.sh Up 80/tcp
vagrant_websocket_1 bash -c source activate tr ... Up 8473/tcp
我的理解是我经营一个"大师"在主机上,并将每个容器连接到主服务器。
如果nodes = container,Kubernetes documentation说ssh到每个容器并运行kubeadm join
命令。问题是你不能进入容器;在每个容器上执行/bin/bash
是最接近SSH的事情,但是kubeadm,docker和systemd不会安装在每个容器中。
如果节点!=容器,那么我不确定如何在单个VM中进行连接。
我是否必须创建第二个VM作为" master"或者一切都可以在一个VM中完成?
答案 0 :(得分:0)
Minikube可能就是您所寻找的:
https://github.com/kubernetes/minikube
minikube工具旋转了一个VM,它配置为运行单节点版本的kubernetes。从VM主机,您可以使用kubnel等kubernetes cli工具将容器部署到VM中运行的单节点kubernetes中。
另一个名为kompose的工具:
https://github.com/kubernetes/kompose
可以帮助将docker-compose.yml文件转换为kubernetes资源文件,适合kubectl使用。