基于 Swarm 的 docker 集群搭建

原文地址

1、安装环境要求

  • 3台可以网络通信的Linux主机,并且安装了docker
  • 安装1.12.0以上的docker
  • 管理节点的IP地址
  • 主机之间开放端口

2、准备3台主机

  • 3台主机可以是物理机,虚拟机,云主机,甚至是docker machine创建的主机。并安装docker。三台主机分别是manager1,work1和worker2.

安装1.12.0以上的docker

  • 管理节点的IP地址

  • 所有swarm集群中的节点都会连接到管理节点的IP地址

  • 主机间开放端口

    以下端口必须是开放的:
    • TCP port 2377为集群管理通信
    • TCP and UDP port 7946 为节点间通信
    • UDP port 4789 为网络间流量
  • 如果你想使用加密网络(--opt encrypted)也需要确保ip protocol 50 (ESP)是可用的

主机名称 manager、node1、node2

可以使用 hostnamectl set-hostname docker-node2 修改主机名称,要想始终有效请修改文件 vim /ect/hostname

3、创建一个Swarm集群

登陆到manager上,运行以下命令来创建一个新的swarm集群:

docker swarm init --advertise-addr <MANAGER-IP>

输出信息

root@manager1:~# docker swarm init --advertise-addr 192.168.10.104
Swarm initialized: current node (zmvmswnwv6jcvjt1tmq65zzkg) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4q7uby9b9vjrjryrvl9r7kgq23hx0y6nwmdt3b9kmxpfcn7vmu-97op3d7nkn8rp31e0boz0308w 192.168.10.104:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  • --token 重要参数,node节点加入需要用,记录下来
运行 docker info 查看集群状态
 #找到
 
 Swarm: active
运行docker node ls来查看节点信息
  • nodeId 旁边的*号表示你当前连接到的节点

4、将节点加入到swarm集群中

登录node1 运行创建swarm集群时候产生的命令来将node1加入到集群中:

docker swarm join --token SWMTKN-1-4q7uby9b9vjrjryrvl9r7kgq23hx0y6nwmdt3b9kmxpfcn7vmu-97op3d7nkn8rp31e0boz0308w 192.168.10.104:2377

如果你找不到加入命令了,可以在管理节点运行下列命令找回加入命令

docker swarm join-token worker

*多节点同上

  • 最后登录manager节点运行 docker node ls 查看节点,检查是否加入成功。
posted @ 2021-01-05 15:05  believexin  阅读(178)  评论(0编辑  收藏  举报