Ecs-docker-swarm
接前篇安装docker到ECS,接下来实现在本机使用docker machine实现swarm创建和节点管理。
- 本机docker machine
- es-swarm-1(manager)
- es-swarm-2(worker)
准备工作
- 为已安装docker的ECS es-swarm-1实例开启端口
- TCP端口2377用于集群管理通信
- TCP和UDP端口7946用于节点之间的通信
- TCP和UDP端口4789用于overlay网络交互
- 对已安装docker的ECS es-swarm-1实例进行自定义镜像制作,阿里的管理控制台一键完成
- 再购买一台ECS实例,采用刚刚制作的自定义镜像,命名为es-swarm-2
- 在本机安装docker machine,我的系统是Mac OS,直接下载dmg安装
- 将本机公钥配置到es-swarm-1、es-swarm-2的authorized_key中,确保本机可以无密登录es-swarm-1、es-swarm-2。可以通过ssh-copy-id方便的配置
1
|
|
把xxx.xxx.xxx.xxx分别替换为es-swarm-1、es-swarm-2的ip即可
关联远程node创建machine实例
通过docker-machine的generic实现分别关联远程es-swarm-1、es-swarm-2创建machine实例
1 2 3 4 5 6 7 8 9 |
|
将xxx.xxx.xxx.xxx分别替换为es-swarm-1、es-swarm-2的ip。确认下是否成功
1
|
|
swarm初始化,es-swarm-1做manager
1 2 3 4 |
|
将es-swarm-2加入
1 2 3 4 5 6 7 8 9 |
|
至此创建完成,查看下节点状态
1
|
|
为es-swarm-2添加elk label为后续ELK部署做准备
1 2 3 |
|
整个流程我们可以放到一个shell脚本中,一次完成
完整脚本参考dm-swarm.sh