简易搭建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管理机

结构图

简易搭建swarm+etcd+docker

说明:

    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



至此,整个结构就都起来了。