![](/img/trans.png)
[英]Use a single VM with Vagrant to host Docker Containers across multiple projects
[英]Connecting containers with Kubernetes running in a single Vagrant VM
我正在运行多个容器的虚拟机(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
我的理解是,我在主机上运行了一个“主机”,并将每个容器连接到主机。
如果结点=容器, Kubernetes文档说ssh进入每个容器并运行kubeadm join
命令。 问题是您不能将ssh放入容器中。 在每个容器上执行/bin/bash
是最接近SSH的操作,但是没有在每个容器中安装kubeadm,docker和systemd。
如果节点!=容器,那么我不确定如何在单个VM中进行连接。
我是否必须创建第二个虚拟机作为“主”,还是可以在单个虚拟机中完成所有操作?
Minikube可能是您想要的:
https://github.com/kubernetes/minikube
minikube工具启动了一个VM,并将其配置为运行单节点版本的kubernetes。 您可以从VM主机使用Kubectl之类的kubernetes cli工具将容器部署到VM中运行的单节点kubernetes中。
还有另一个名为kompose的工具:
https://github.com/kubernetes/kompose
这可以帮助将docker-compose.yml文件转换为适合kubectl使用的kubernetes资源文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.