CentOs7+ansbie+docker+swarm初步搭建
思路:
1.使用一台主机安装ansible,并配置添加ansible能管理
2.使用ansible工具进行同步自动化安装
2.1:剧本模式进行编排,安装
2.2:进行ansible脚本安装
3.搭建swarm集群
一。准备实验环境
ansible管理集群 192.168.80.85
swarm集群节点
192.168.80.10 manager
192.168.80.11 node01
192.168.80.12 node02
二、安装ansible如下:(本实验是yum安装)
vi /etc/yum.repos.d/ansible
[epel]
name = all source for ansible
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled = 1
gpgcheck = 0
[ansible]
name = all source for ansible
baseurl=http://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/
enabled = 1
gpgcheck = 0
$yum clean all
$ yum install ansible
安装成功验证如下图:

三、主控端与被控端口的连接简述(/root/.ssh 创建的默认位置)
ansible基于ssh-keygen而有的公钥和密钥,ssh-copy-id 用户@ip,因此针对机组有连接简单配置;
3.1被控端:ssh-keygen 一直回车,知道结束

暴露并ssh-copy-id 用户@ip:
例如:ssh-copy-id root@192.168.80.110

3.2主控端,也是如此,只是需要ssh-copy-id 用户@控制ip
例如:ssh-copy-id root@192.168.80.110
3.3验证

实验验证:

四、使用ansible同步安装docker服务
PS:
1.注意内核,不同版本对内核支持是不一样的,
2.过程中最好提前将SElinux和防火墙关闭
4.1使用ansible-playbook安装docker服务
4.2使用ansible安装docker服务

若小于此内核,建议yum update
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
#ansible swarm -m sheell -a "yum install -y yum-utils device-mapper-persistent-data lvm2"
#ansible swarm -m shell -a "yum -y install docker-ce-17.12.1.ce"
#ansible swarm -m shell -a "systemctl start docker.service"
#ansible swarm -m shell -a "docker ps"

安装完成
五、部署swarm集群
5.1分别在manager节点和node节点上配置docker
vi /usr/lib/systemd/system/docker.service # 修改ExecStart项为如下: ExecStart=/usr/bin/docker daemon -H 0.0.0.0:2375 -H unix:///var/run/docker.sock # 重新载入配置,使修改生效。 systemctl daemon-reload # 重启docker。 systemctl restart docker
5.2在manager节点和node节点上push swarm镜像
#ansible swarm -m shell -a "docker pull swarm" 拉镜像特别慢
请自行添加加速, 我采用的简单粗暴型
也可使用ansible新建文件覆盖,然后重启服务
镜像拉完截图:

5.3创建集群token,获取全球唯一的 token,作为集群唯一标识
# 在任何节点都可以,但是要记住该值,以后要用到

5.4加入集群

5.5启动管理机
#docker run -d -p 2376:2375 swarm manage token://2695c207b883ba6540c8da9dcc83d505

5.6查看节点信息
# 查看集群所有节点信息,在任何一台机器上执行 [root@swarm1 ~]# docker run --rm swarm list token://2695c207b883ba6540c8da9dcc83d505

# 查看集群详细信息。在任何一台机器上执行: # 该IP地址是manager的地址 [root@swarm1 ~]# docker -H 192.168.80.10:2376 info
Containers: 4
Running: 4
Paused: 0
Stopped: 0
Images: 3
Server Version: swarm/1.2.9
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint, whitelist
Nodes: 3
manager.swarm: 192.168.80.10:2375
└ ID: E4GL:2YR7:Q4CD:7XX3:EQXF:FQZJ:XOKO:2ASG:J6NO:M7BK:IS6H:N5AQ|192.168.80.10:2375
└ Status: Healthy
└ Containers: 4 (4 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.001 GiB
└ Labels: kernelversion=3.10.0-514.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), ostype=linux, storagedriver=overlay2
└ UpdatedAt: 2019-05-09T14:09:28Z
└ ServerVersion: 17.12.1-ce
node01.swarm: 192.168.80.11:2375
└ ID: 3TL5:SQDS:WYFL:72IP:5KVE:PQNK:KZU6:5SWN:SKFV:FYH6:OX7A:7I7C|192.168.80.11:2375
└ Status: Healthy
└ Containers: 0 (0 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.001 GiB
└ Labels: kernelversion=3.10.0-514.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), ostype=linux, storagedriver=overlay2
└ UpdatedAt: 2019-05-09T14:09:23Z
└ ServerVersion: 17.12.1-ce
node02.swarm: 192.168.80.12:2375
└ ID: H4H2:NW3C:TXBM:7ZPY:OL7A:4F54:4GQW:NLFJ:Q3NX:VUI3:4LNG:QAFH|192.168.80.12:2375
└ Status: Healthy
└ Containers: 0 (0 Running, 0 Paused, 0 Stopped)
└ Reserved CPUs: 0 / 1
└ Reserved Memory: 0 B / 1.001 GiB
└ Labels: kernelversion=3.10.0-514.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), ostype=linux, storagedriver=overlay2
└ UpdatedAt: 2019-05-09T14:09:31Z
└ ServerVersion: 17.12.1-ce
Plugins:
Volume:
Network:
Log:
Swarm:
NodeID:
Is Manager: false
Node Address:
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: linux
Architecture: amd64
CPUs: 3
Total Memory: 3.004GiB
Name: ffdde326610b
Docker Root Dir:
Debug Mode (client): false
Debug Mode (server): false
Experimental: false
Live Restore Enabled: false
参考:https://www.cnblogs.com/galengao/p/5780948.html

浙公网安备 33010602011771号