龙芯平台搭建Docker Swarm集群

http://ask.loongnix.org/?/article/91

 

本教程将指导完成如下工作:

  1. 初始化一个Docker swarm集群;
  2. 添加节点到swarm;
  3. 部署swarm服务;
  4. 管理swarm。

准备工作:

  1. 三台Linux系统的主机(可以是物理机、虚拟机或者docker容器,本文选择了三台龙芯3A3000+Loongnix(Fedora21-20170927));
  2. 每台主机安装Docker Engine且版本为1.12及以上;
  3. 其中一台主机作为管理节点,需知道其IP地址;
  4. 主机彼此之间开放下面几个端口:
  • TCP 端口2377用于集群管理通信,
  • TCP/UDP端口7946用于节点间通信,
  • UDP端口4789用于overlay网络通信。

         默认情况这些端口都是开放的,如果不确定可以执行下面的命令打开这3个端

iptables -A INPUT -p tcp --dport 2377 -j ACCEPTiptables -A INPUT -p tcp --dport 7946 -j ACCEPTiptables -A INPUT -p udp --dport 7946 -j ACCEPTiptables -A INPUT -p udp --dport 4789 -j ACCEPT

初始化一个Docker swarm集群首先确认各主机的Docker deamon已经启动:

Screenshot.png

如果服务状态不是active(running),执行命令service docker start来启动Docker deamon。接下来就可以正式开始了。1.选择一台主机作为管理节点(manager1),获取到主机IP为10.20.42.45。终端输入命令docker swarm init 初始化swarm。

[root@worker1 ~]# docker swarm init --advertise-addr 10.20.42.45Swarm initialized: current node (892ozqeoeh6fugx5iao3luduk) is now a manager. To add a worker to this swarm, run the following command:     docker swarm join \    --token SWMTKN-1-5vs5ndm8k5idcxeckprr61kg6a7h90dp3uihdhr3kwl1ejwtwg-58jqj86p1nqfh225t51p5h8lp \    10.20.42.45:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

 --advertise-addr 配置管理节点的广播地址为10.20.42.45,其他的节点要想加入集群需要能够访问该地址。输出信息显示了其他节点分别作为管理节点和工作节点加入该集群的方法。2.输入命令docker info查看当前状态的swarm信息,截取部分关键信息如下:

[root@worker1 ~]# docker infoContainers: 10 Running: 0 Paused: 0 Stopped: 10Images: 22Server Version: 1.12.2... ...Swarm: active NodeID: 250tj9l3mnrrtprdd0990b2t3 Is Manager: true ClusterID: atrevada8k0amn83zdiig6qkb Managers: 1 Nodes: 1 Orchestration:  Task History Retention Limit: 5... ...

 3.输入命令docker node ls查看节点信息:

[root@localhost loongson]# docker node lsID                                      HOSTNAME      STATUS    AVAILABILITY    MANAGER STATUS250tj9l3mnrrtprdd0990b2t3 *  manager1        Ready        Active              Leader

*表示你连接到的节点ID。添加两个节点到swarm另外选择一台主机作为工作节点(worker1),第三台主机也作为工作节点(worker2)。1.worker1上打开终端。上文我们在创建swarm时,输出提示信息展示了如何作为工作节点加入swarm:

[root@worker1 ~]# docker swarm join /--token SWMTKN-1-5vs5ndm8k5idcxeckprr61kg6a7h90dp3uihdhr3kwl1ejwtwg-58jqj86p1nqfh225t51p5h8lp /10.20.42.45:2377This node joined a swarm as a worker.

如果你丢失了上面命令的信息,可以在manager1上执行docker swarm join-token worker重新获取。2.worker2上重复worker1的步骤,作为工作节点加入swarm。3.回到管理节点mgnager1,输入命令docker node ls查看swarm内所有节点状态:

[root@manager1 ~]# docker node lsID                                          HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS250tj9l3mnrrtprdd0990b2t3 *   manager1   Ready     Active             Leadera24i9nu2943niy8eq239bbpwv  worker1      Ready     Active         e0lh6c2zb57qg8db7usvg17r6    worker2     Ready     Active         

*显示本机连接到的节点,MANAGERSTATUS一栏为Leader表示该节点为管理节点,空表示为工作节点。 部署一个服务到swarm为了更直观的观察集群的服务编排,我们在管理节点启动portainer,其中swarm visualizer模块能直观地看到每个节点的服务详情。portainer 下载:

[root@manager1 ~]# docker pull jiangxinshang/portainer

启动portainer(9000端口不要被其他应用占用):

[root@manager1 ~]# docker run -t -i -p 9000:9000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值