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" 问题,造成博问.闪存.园子. ...
随机推荐
- Python3《机器学习实战》学习笔记(一):k-近邻算法(史诗级干货长文)
https://blog.csdn.net/c406495762/article/details/75172850
- java学习一 path与classpath
path 任意目录下执行 javac JAVA classpath找到指定目录下的.class文件 前提是进入该文件目录里面 生成.class文件; 变量 的两个特性:1.约束了类型 2.约束了范围 ...
- 一本通1669S-Nim
1669:S-Nim [输入样例] 2 2 5 3 2 5 12 3 2 4 7 4 2 3 7 12 5 1 2 3 4 5 3 2 5 12 3 2 4 7 4 2 3 7 12 0 [输出样例] ...
- Java NIO 详解(一)
一.基本概念描述 1.1 I/O简介 I/O即输入输出,是计算机与外界世界的一个借口.IO操作的实际主题是操作系统.在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通 ...
- c++/ boost 库常见错误及解决方法总结
1. error LNK2019: 无法解析的外部符号 "class boost::system::error_category const & __cdecl boost::sys ...
- Java学习之String
一.String介绍(引用类型)1.java.lang.String字符串.用""括住的时字符串,都可以看做是实现此类的实例类String中也有许多简单方法 2.特点1).字符串不 ...
- BZOJ2440 中山市选2011完全平方数(容斥原理+莫比乌斯函数)
如果能够知道不大于n的合法数有多少个,显然就可以二分答案了. 考虑怎么求这个.容易想到容斥,即枚举完全平方数.我们知道莫比乌斯函数就是此种容斥系数.筛出来就可以了. 注意二分时会爆int. #incl ...
- BZOJ 4764: 弹飞大爷
4764: 弹飞大爷 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 4 Solved: 4[Submit][Status][Discuss] Des ...
- spark性能调优(二) 彻底解密spark的Hash Shuffle
装载:http://www.cnblogs.com/jcchoiling/p/6431969.html 引言 Spark HashShuffle 是它以前的版本,现在1.6x 版本默应是 Sort-B ...
- 解题:JSOI 2011 柠檬
题面 显然分出来的每段两端颜色相同,否则把一边归给旁边的答案不变劣,于是可以$O(n^2)$地dp了:设$dp[i]$表示到第$i$个位置为止的最优解,$dp[i]=dp[j]+a[i]*(s[j]- ...