简易搭建swarm+etcd+docker
jopen
9年前
概述
docker swarm是docker原生的集群管理工具,etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。本文就swarm、etcd和docker搭建一个简易的swarm+etcd+docker系统。希望能帮助新人对它们有一个直观的认知和了解。
基本架构
基本架构请参考官网
实验过程
机器分配
IP | 角色 |
192.168.0.109 | Client |
192.168.0.201 | etcd |
192.168.0.202 | docker host1 |
192.168.0.203 | docker host2 |
192.168.0.204 | swarm管理机 |
结构图
说明:
1、etcd是可以集群的,而且集群中的任何一个节点都可读写,具体的可以自己去实验,这里为了简化整个结构,etcd使用了一台
2、本次实验中的swarm并不是使用官网的镜像,而是源码编译安装在物理机上的
3、swarm管理机和所有的docker host主机都需要安装swarm。管理节点运行swarm manage命令,docker host主机运行swarm join命令
etcd单机启动
etcd --name etcd0 --initial-advertise-peer-urls http://192.168.0.201:2380 \ --listen-peer-urls http://192.168.0.201:2380 \ --listen-client-urls http://192.168.0.201:2379 \ --advertise-client-urls http://192.168.0.201:2379 \ --initial-cluster etcd0=http://192.168.0.201:2380
swarm管理机启动
swarm manage -H 0.0.0.0:2375 etcd://192.168.0.201:2379/swarm
docker 主机配置
首先将docker配置成TCP监听模式,本次实验的监听端口为2375。
接下来,将docker主机加入到管理机中,配置如下:
docker host1
swarm join --advertise 192.168.0.202:2375 etcd://192.168.0.201:2379/swarm
docker host2
swarm join --advertise 192.168.0.203:2375 etcd://192.168.0.201:2379/swarm