centos7 部署 docker swarm
===============================================
2019/4/9_第3次修改 ccb_warlock
更新说明:
2019/4/9:重新整理了docker swarm的部署步骤
2018/12/14:精简docker-compose部署的命令;
增加18.09.0-ce以后的hosts(2.3 配置hosts信息)配置方法;
===============================================
由于k8s的方案被搁置了,目前只能先考虑使用swarm搭建小规模的集群。经过几天对swarm的使用,对于与docker相关的docker-compose、service、stack相关内容有了更明确的理解。对比swarm与k8s也是各有千秋。
2019/4/9,重新整理了swarm的部署顺序,将docker的安装部分拆分到centos7 部署 docker ce,根据节点类型分别整理了部署步骤。
一、准备工作
1.1 修改主机名(可以不修改)
为了便于区分节点,用主机名来标记节点
manager节点执行:
hostnamectl --static set-hostname manager01
worker节点执行:
hostnamectl --static set-hostname worker01
修改完后,重新开shell控制台。
二、管理节点(Manager)
2.1 安装docker ce
可以参考下面的文章安装docker ce
centos7 部署 docker ce:https://www.cnblogs.com/straycats/p/10680502.html
2.2 配置hosts信息
2.2.1 18.06.1-ce及以前版本
# 修改docker daemon配置
mkdir -p /etc/docker
vim /etc/docker/daemon.json
增加hosts的内容,wq保存。
{
"hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}
2.2.2 18.09.0-ce及以后版本
systemctl edit docker
将下面的内容添加到文件(/etc/systemd/system/docker.service.d/override.conf)中,wq保存。
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
# 重新加载systemctl的配置
systemctl daemon-reload
2.3 重启docker
systemctl restart docker
2.4 创建swarm集群
# 初始化swarm集群(我使用的虚拟机IP为192.168.12.11)
docker swarm init
# 创建集群(当宿主机有多个IP时,需要指定IP)
docker swarm init --advertise-addr 192.168.12.11
创建后,该节点为manager节点(leader)。
如果需要添加其他管理节点,可以使用下面的命令查看作为管理节点加入集群的命令。
docker swarm join-token manager
三、工作节点(Worker)
3.1 安装docker ce
可以参考下面的文章安装docker ce
centos7 部署 docker ce:https://www.cnblogs.com/straycats/p/10680502.html
3.2 配置hosts信息
3.2.1 18.06.1-ce及以前版本
# 修改docker daemon配置
mkdir -p /etc/docker
vim /etc/docker/daemon.json
增加hosts的内容,wq保存。
{
"hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}
3.2.2 18.09.0-ce及以后版本
systemctl edit docker
将下面的内容添加到文件(/etc/systemd/system/docker.service.d/override.conf)中,wq保存。
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
# 重新加载systemctl的配置
systemctl daemon-reload
3.3 重启docker
systemctl restart docker
3.4 将该工作节点添加到swarm集群中
# 查看作为工作节点接入集群的命令
docker swarm join-token worker
# 将自己注册到该集群(192.168.12.11)
docker swarm join --token SWMTKN-1-1w1q09p1z37n4j24usz9lwb0i01t2ecuxn4ad5ctfdpks4270r-5p5mmiw6u77skwd49sxovztxc 192.168.12.11:2377
PS.命令中的token信息根据实际情况更换。
参考资料:
2.https://docs.docker.com/engine/reference/commandline/dockerd/
centos7 部署 docker swarm的更多相关文章
- centos7 部署 docker compose
=============================================== 2019/4/10_第1次修改 ccb_warlock == ...
- centos7 部署 docker ce
=============================================== 2019/4/9_第1次修改 ccb_warlock === ...
- centos7 部署 docker、shipyard
=============================================== 2019/4/9_第3次修改 ccb_warlock 更新说 ...
- 部署docker swarm集群
基础环境 机器名称 IP地址 安装的软件 node-1 192.168.10.190 docker-ce node-2 192.168.10.191 docker-ce node-3 192.168. ...
- CentOS-7部署Docker容器
为了适应当前容器化的部署方式,故最近也在对docker进行学习.目前的理解是docker服务就像一艘货船,而你的各项服务可以封装在一个个集装箱里,而且在docker里服务的启动非常快,故有必要从基础的 ...
- 通过docker-machine和etcd部署docker swarm集群
本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...
- centos7 在docker swarm中运行Jenkins,利用gitlab的webhook触发自动部署脚本
1.宿主机中创建目录 mkdir -p /jenkins_home 2.编辑compose文件,文件名jenkins.yml version: '3.4' services: jenkins-upgr ...
- 容器基础(八): 使用docker swarm部署程序
环境 基于上一节的env/server:v0.1, env/worker:v0.1镜像, 在基于debian8.2的两台机器上测试部署docker swarm. docker service部署 ➜ ...
- 故障公告:docker swarm集群“群龙无首”引发部分站点无法访问
今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问.闪存.园子. ...
随机推荐
- [转帖]devops 容器管理平台 rancher 简介
https://testerhome.com/topics/10828 chenhengjie123 for PPmoney · 2017年11月13日 · 最后由 c19950809 回复于 201 ...
- Delphi字符串转日期,强大到窒息,VarToDateTime解决了困扰很久的小问题
procedure THRForm.Button1Click(Sender: TObject); var D:TDateTime; s:string; begin D:=VarToDateTime(' ...
- 模拟APP存储空间、内存不足情况下软件正常运行
1.进行临界测试,手机盘空间存满的条件下应用会有何表现: 方法一:adb shell dd if=/dev/zero of=/mnt/sdcard/bigfile 方法二:哆啦A工具生成文件 2.内存 ...
- MT【192】又是绝对值函数
(2018浙江新高考联盟2018第三次联考填空压轴题) 已知$f(x)=x^2+x-2$,若函数$g(x)=|f(x)|-f(x)-2mx-2m^2$有三个不同的零点,则实数$m$的取值范围是____ ...
- 【转】结构struct 联合Union和枚举Enum的细节讨论
结构struct 联合Union和枚举Enum的细节讨论 联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换 ...
- 【bzoj4676】 两双手
http://www.lydsy.com/JudgeOnline/problem.php?id=4767 (题目链接) 题意 求在网格图上从$(0,0)$走到$(n,m)$,其中不经过一些点的路径方案 ...
- Linux系统上查找已安装软件的路径
在Linux系统上查找已安装软件路径的命令,以查找pcre的安装路径为例: [root@localhost doc]# rpm -ql pcre /lib64/libpcre.so. /lib64/l ...
- SQL Server 事务与隔离级别实例讲解
上班途中,你在一处ATM机前停了下来.正当你在敲入密码的时候,你的一位家人也正在镇上的另一处TAM机上输入密码.你打算从某个还有500元余额的账户上转出400元,而你的家人想从同一账户取走300元.倘 ...
- spring boot 分布式事务实现(XA方式)
关于spring boot 支持分布式事务,XA是常用的一种方式. 这里把相关的配置记下,方便以后使用. 首先配置两个不同的数据源 : 订单库.持仓库. /** * Created by zhangj ...
- python操作txt文件中数据教程[1]-使用python读写txt文件
python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...