部署公司生产环境的 Splash 集群无奈节点太多 差点被搞死·· 还好我有运维神器 Ansible,一次编撰终生可用啊!而且这玩意儿 等幂特性 扩容回滚 So Easy!! 闲话少说开搞!
安装 Ansible:
看官方文档去:http://www.ansible.com.cn/index.html 好像这个主控端不支持 Windows? 大家虚拟机装个 Ubuntu 吧。
闲话少扯直接上干货:
整体目录如下:
1 |
study@study:~/文档/ansible-examples$ tree Splash_Load_balancing_cluster |
Group_vars: 里面定义全局使用的变量 Roles: 存放所有的规则目录 Roles/common :所有服务器初始化配置部署 Roles/common/filters :需要使用的文件或者文件夹 Roles/common/task:部署任务(main.yml 为入口必须要有) Roles/common/templates :配置模板(jinja2 模板语法 用于可变更的配置文件,可获取定义在 Group_vars 中的变量) Roles/Docker :Docker 的安装配置 Roles/HAproxy : HAproxy 的负载均衡配置 Roles/Splash : Splash 的镜像拉取配置部署以及启动 site.yml : 启动入口
使用方法:
在你的 Inventory 文件定义好主机分组:
必须包括 HaProxy、和 Docker 两个分组如下:
1 |
study@study:~/文档/ansible-examples$ cat /etc/ansible/inventory/splash |
主控端新建 SSH 秘钥并发布到你你需要配置的所有主机!!!!(一定要注意如果本机当前工作用户在远程主机不存在额时候,需要指定 remote_user 这个参数):
1 |
study@study:~/文档/ansible-examples$ cat /etc/ansible/ansible.cfg |
好了开始执行:
1 |
study@study:~/文档/ansible-examples/Splash_Load_balancing_cluster$ ansible-playbook site.yml |
效果就像这样:
1 |
PLAY [all] ********************************************************************************************************************************************************************************** |
静静等着跑完 就可以愉快的使用啦 ! 需要增加节点的话直接把 IP 加载 Docker 分组下 重新执行一遍就可以了! 需要注意如果 SSH 非默认的 22 端口还需要指定你的端口号!怎么指定 看看文档去 以上完毕!!! 完整的看这儿:https://github.com/thsheep/ansible-examples