在单个Vagrant虚拟机

时间:2018-02-20 15:18:39

标签: docker vagrant kubernetes

我在虚拟机(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中完成?

1 个答案:

答案 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使用。