Docker swarm

Docker Swarm介绍

  • 在Wiki的解释中,Swarm behavior是指动物的群集行为。比如我们常见的蜂群、鱼群,秋天往南飞的燕群都可以称作为Swarm behavior。Swarm项目正是如此,通过把多个Docker Engine聚集在一起,形成一个大的Docker Engine,对外提供容器的集群服务。同时这个集群对外提供Swarm API,用户可以像使用Docker Engine一样使用Docker集群。
  • Swarm是Docker公司在2014年12月初发布的容器管理工具,和Swarm一起发布的Docker管理工具还有Machine以及Compose。Swarm是一套较为简单的工具,用以管理Docker集群,使得Docker集群暴露给用户时相当于一个虚拟的整体。Swarm将一群Docker宿主机变成一个单一的、虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client均可以直接和Swarm直接通信。Swarm几乎全部用Go语言完成开发,Swarm0.2版本增加了一个新的策略来调度集群中的容器,使得在可用的节点上传播它们以及支持更多的Docker命令以及集群驱动。Swarm deamon只是一个调度器(Scheduler)加上路由器(Router),Swarm自己不运行容器,它只是接受Docker客户端发送过来的请求,调度适合的节点来运行容器,这意味着,即使Swarm由于某些原因挂掉了,集群中的节点也会照样运行,当Swarm恢复运行之后,它会收集重建集群信息。

Docker Swarm特点

  • 对外以Docker API接口呈现,这样带来的好处是,如果现有系统使用Docker Engine,则可以平滑将Docker Engine切到Swarm上,无需改动现有系统。
  • Swarm对用户来说,之前使用Docker的经验可以继承过来。非常容易上手,学习成本和二次开发成本都比较低。同时Swarm本身专注于Docker集群管理,非常轻量,占用资源也非常少。简单的说,就是插件化机制,Swarm中的各个模块都抽象出了API,可以根据自己的一些特点进行定制实现。
  • Swarm自身对Docker命令参数支持的比较完善,Swarm目前和Docker是同步发布的。Docker的新功能都会第一时间在Swarm中体现。

Docker Swarm架构

  • Swarm作为一个管理Docker集群的工具,首先需要将其部署起来,可以单独将Swarm部署于一个节点。另外,自然需要一个Docker集群,集群上每一个节点均安装Docker。
Docker Swarm架构

Docker Swarm的使用

环境准备

  • 准备三台已经安装Docker Engine的CentOS系统主机(Docker的版本必须是1.12以上的版本,老版本不支持Swarm)。
  • Docker容器主机的ip地址固定,集群中所有工作节点必须能访问该管理节点。
  • 集群管理节点必须使用相应的协议并且保证端口可用。
集群管理通信:TCP,端口2377
节点通信:TCP和UDP,端口7946
覆盖型网络:UDP,端口4789

备注:
192.168.219.100 管理节点
192.168.219.101 工作节点
192.168.219.102 工作节点

Docker Swarm集群搭建实现

注意:在测试时,最好关闭防火墙。

  • 在192.168.219.100机器上创建Docke Swarm集群。
docker swarm init --advertise-addr 192.168.219.100

备注:
--advertise-addr将该IP地址的机器设置为集群管理节点,如果是单节点,无需该参数
  • 查看管理节点集群信息:
docker node ls
在管理节点创建Docker Swarm集群
  • 向Docker Swarm中添加工作节点:在两个工作节点中分别执行如下的命令,ip地址是manager节点的
# 在192.168.219.101中执行如下的命令
docker swarm join --token SWMTKN-1-1b8cgc1f61a9j7a84voptpfm15afnmfp8hpcizvichqid5ko11-cf094t5ymy0hzaharru9ocoty 192.168.219.100:2377

备注:
--token XXX:向指定集群中加入工作节点的认证信息,xxx认证信息是在创建Docker Swarm时产生的
# 在192.168.219.102中执行如下的命令
docker swarm join --token SWMTKN-1-1b8cgc1f61a9j7a84voptpfm15afnmfp8hpcizvichqid5ko11-cf094t5ymy0hzaharru9ocoty 192.168.219.100:2377

备注:
--token XXX:向指定集群中加入工作节点的认证信息,xxx认证信息是在创建Docker Swarm时产生的
  • 查看管理节点集群信息:
docker node ls
向Docker Swarm中添加工作节点

Docker Swarm中部署alpine服务

部署服务

docker service create --replicas 1 --name helloworld alpine ping docker.com

备注:
docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]:用于在Swarm集群中创建一个基于alpine镜像的服务
--replicas num:指定了该服务只有一个副本实例
--name 服务名称:创建成功后的服务名称
ping docker.com:表示服务启动执行的命令
部署alpine服务

查看服务

  • 查看服务列表:
docker service ls
查看服务列表
  • 查看部署具体服务的详细信息:
docker service inspect 服务名称
查看部署具体服务的详细信息
  • 查看服务在集群节点上的分配以及运行情况:
docker service ps 服务名称
查看服务在集群节点上的分配以及运行情况

修改副本数量

docker service scale helloworld=5
修改副本数量

删除服务

docker service rm 服务名称
删除服务
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352