天天看点

docker集群部署:第4部分:群集

docker集群部署:第4部分:群集

介绍

在第3部分:服务中,介绍了你在第2部分中编写的应用程序,并将其转化为服务,然后在生产过程中将其扩展5倍,从而实现单台服务器多个容器的负载均衡。

在第4部分中,将此应用程序部署到群集上,并在多台服务器上运行它。通过将多台机器连接到名为“Dockerized”的群集,使的多容器,多机器应用成为可能。

群集概念

群集(swarm)是运行Docker并加入到一个集群中的一组机器。群体中的服务器可以是物理的或虚拟的。加入群体后,他们被称为节点。

Swarm管理人员可以使用多种策略来运行容器,你可以指示swarm manager(集群管理机)在Compose文件中使用这些策略,就像你已经使用的策略一样。

swarm manager(集群管理机)是群体中唯一可以执行你的命令的机器,或者授权其他机器作为从机加入群体。从机只是在那里提供资源或服务能力,并没有权力告诉任何其他机器可以做什么和不可以做什么。

到目前为止,你已经在本地机器上以单主机模式使用Docker。但是Docker也可以切换到群集模式,立即启用群模式使当前机器成为swarm manager(集群管理机)。从那时起,Docker将运行你正在管理的群集上执行的命令,而不仅仅是在当前的机器上。

建立群集

一个群由多个节点组成,可以是物理机或虚拟机。基本的概念很简单:运行docker swarm init来启用swarm模式,并让你的当前机器成为swarm manager,然后在其他机器上运行docker swarm join让它们作为worker(从机)加入swarm。

说明:在管理机上执行docker swarm init后,系统会产生如上的内容和docker swarm join的信息,但是,如果我们不是立即将从机加入集群中,那么我们应该如何得到这个信息呢?

离开集群

如果你想重新开始,你可以从每个节点运行docker swarm leave。

在群集上部署应用程序

两台机器分别是swarm1(10.0.0.38)和swarm2 (10.0.0.39)

具体步骤如下:

访问集群

在主机(manage)上执行:curl 10.0.0.38:80

说明:不要使用curl 10.0.0.39:80,执行时会报拒绝连接的错误!

集群上应用程序的更改

通过更改docker-compose.yml文件来更改应用程序。

无论哪种情况,只需docker stack deploy再次运行以部署这些更改即可。

使用docker swarm join将任何物理或虚拟机器加入到此群集,并将这些新添加的机器资源添加到群集中。docker stack deploy随后运行,你的应用程序将利用新的资源。

集群清理

你可以拆下堆叠docker stack rm 集群名。例如:

     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/2064012,如需转载请自行联系原作者