码迷,mamicode.com
首页 > 其他好文 > 详细

Swarm实现Docker集群的搭建和管理。

时间:2018-10-25 00:12:10      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:water   外部   防火   creat   --   发布   需要   没有   lis   

1.Swarm是一个由Docker开发的调度框架。
(图网上找的)

技术分享图片

2.负载均衡: Docker称之为入口负载均衡(ingress load balancing)。它的工作方式是,所有worker节点都监听在发布的服务端口上。当该服务被外部系统调用时,收到流量的节点会通过Docker提供的内部DNS服务,将流量负载均衡不同的worker上。

(图网上找的)
技术分享图片

3.docker集群搭建。

(1).时间同步:
yum install –y ntpdate
ntpdate us.pool.ntp.org

(2).swarm manager服务的启动
docker swarm init --listen-addr 192.168.56.200:2377

技术分享图片

(3).要是节点加入到对应的集群中是通过token来识别的。
添加时发现报错了百度了一把网上说我的2377端口没有打开。
打开防火墙端口:
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --reload

技术分享图片

(4).docker swarm join --token SWMTKN-1-5uurnd5jjaxrsa6gt6s9chg35uuhm9f9cs7g0blmqdkw9lkpwf-3gcqoqcy0nom2i0q57un9fzcj 192.168.56.200:2377
此时这台机器已经成为了worker

技术分享图片

至此问题解决,也说明一点,如果要使用swarm功能,需要在所有manager node节点上开启2377端口。

(5).也可以在manager上查看集群中机器情况
docker node ls

技术分享图片

4.docker服务创建

服务:是指一个长期运行(long-running)的Docker容器,它可以被部署到任意一台worker节点上,可以被远端系统或者Swarm中其他容器连接和消费(consume)的。

任务(Task):服务运行的在一个容器的实例。

副本(replicas):同一个服务以特定数目在worker节点上运行。

创建一个服务
docker service create --name web_server httpd
创建副本数为2的服务
docker service create --name web_server2 --replicas 2 httpd
查看服务:docker service ls

技术分享图片

查看服务的任务详情:docker service ps web_server2
这里有一个问题刚开始创建的两个服务出现这种情况说服务shutdown了,后面创建的服务正常了。

技术分享图片

创建副本数为5的服务这次正常了
docker service create --name web_server3 --replicas 5 httpd

技术分享图片

如果我们想让所有的节点都运行一个服务,就可以使用服务global化。Global Service使用了创建一个服务,该服务会自动地在每个worker节点上运行任务。
docker service create --name web_server4 --mode global httpd

技术分享图片

删除服务:docker service rm web_server

技术分享图片

服务的扩容与缩容
docker service scale web_server5=2

技术分享图片

技术分享图片

集群中服务端口绑定到主机

技术分享图片

验证是否成功,(这里可以都输入manager机器的IP):

技术分享图片

Swarm实现Docker集群的搭建和管理。

标签:water   外部   防火   creat   --   发布   需要   没有   lis   

原文地址:http://blog.51cto.com/14033037/2308602

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!