安装Ansible:

看官方文档去:http://www.ansible.com.cn/index.html

好像这个主控端不支持Windows? 大家虚拟机装个Ubuntu吧。

闲话少扯直接上干货:

整体目录如下:

  1. study@study:~/文档/ansible-examples$ tree Splash_Load_balancing_cluster
  2. Splash_Load_balancing_cluster
  3. ├── group_vars
  4.    └── all
  5. ├── roles
  6.    ├── common
  7.       ├── files
  8.          ├── CentOS-Base.repo
  9.          ├── docker-ce.repo
  10.          ├── epel.repo
  11.          ├── ntp.conf
  12.          └── RPM-GPG-KEY-EPEL-
  13.       ├── tasks
  14.          └── main.yml
  15.       └── templates
  16.    ├── docker
  17.       ├── handlers
  18.          └── main.yml
  19.       ├── tasks
  20.          └── main.yml
  21.       └── templates
  22.       └── daemon.json.j2
  23.    ├── haproxy
  24.       ├── handlers
  25.          └── main.yml
  26.       ├── tasks
  27.          └── main.yml
  28.       └── templates
  29.       └── haproxy.cfg.j2
  30.    └── splash
  31.    ├── files
  32.       ├── filters
  33.          └── default.txt
  34.       ├── js-profiles
  35.       ├── lua_modules
  36.       └── proxy-profiles
  37.       └── proxy.ini
  38.    └── tasks
  39.    └── main.yml
  40. ├── site.retry
  41. └── site.yml
  42.  

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
  2. [docker]
  3. 1.1.1.1
  4. [haproxy]
  5. 10.253.20.25
  6.  
  7. [splash_ports]

主控端新建SSH秘钥并发布到你你需要配置的所有主机!!!!(一定要注意如果本机当前工作用户在远程主机不存在额时候,需要指定remote_user这个参数):

  1. study@study:~/文档/ansible-examples$ cat /etc/ansible/ansible.cfg
  2. [defaults]
  3. inventory= /etc/ansible/inventory/
  4.  
  5. remote_user=root

好了开始执行:

  1. study@study:~/文档/ansible-examples/Splash_Load_balancing_cluster$ ansible-playbook site.yml

效果就像这样:

  1.  
  2. PLAY [all] **********************************************************************************************************************************************************************************
  3.  
  4. TASK [Gathering Facts] **********************************************************************************************************************************************************************
  5. ok: [10.1.4.101]
  6. ok: [10.1.4.100]
  7.  
  8. TASK [common : Copy the CentOS repository definition] ***************************************************************************************************************************************
  9. ok: [10.1.4.100]
  10. ok: [10.1.4.101]
  11.  
  12. TASK [common : Copy the Docker repository definition] ***************************************************************************************************************************************
  13. ok: [10.1.4.100]
  14. ok: [10.1.4.101]
  15.  
  16. TASK [common : Create the repository for EPEL] **********************************************************************************************************************************************
  17. ok: [10.1.4.100]
  18. ok: [10.1.4.101]
  19.  
  20. TASK [common : Create the GPG key for EPEL] *************************************************************************************************************************************************
  21. ok: [10.1.4.100]
  22. ok: [10.1.4.101]
  23.  
  24. TASK [common : Firewalld service stop] ******************************************************************************************************************************************************
  25. ok: [10.1.4.100]
  26. ok: [10.1.4.101]
  27.  
  28. TASK [common : Chronyd service stop] ********************************************************************************************************************************************************
  29. ok: [10.1.4.100]
  30. ok: [10.1.4.101]
  31.  
  32. TASK [common : Install Ansible Base package] ************************************************************************************************************************************************
  33. ok: [10.1.4.100] => (item=['libselinux-python', 'libsemanage-python', 'ntp'])
  34. ok: [10.1.4.101] => (item=['libselinux-python', 'libsemanage-python', 'ntp'])
  35.  
  36. TASK [common : Configure SELinux to disable] ************************************************************************************************************************************************
  37. [WARNING]: SELinux state change will take effect next reboot
  38.  
  39. ok: [10.1.4.100]
  40. ok: [10.1.4.101]
  41.  
  42. TASK [common : Change TimeZone] *************************************************************************************************************************************************************
  43. ok: [10.1.4.100]
  44. ok: [10.1.4.101]
  45.  
  46. TASK [common : Copy NTP conf] ***************************************************************************************************************************************************************
  47. ok: [10.1.4.100]
  48. ok: [10.1.4.101]
  49.  
  50. TASK [common : NTP Start] *******************************************************************************************************************************************************************
  51. ok: [10.1.4.100]
  52. ok: [10.1.4.101]
  53.  
  54. PLAY [docker] *******************************************************************************************************************************************************************************
  55.  
  56. TASK [Gathering Facts] **********************************************************************************************************************************************************************
  57. ok: [10.1.4.101]
  58.  
  59. TASK [docker : Install Docker package] ******************************************************************************************************************************************************
  60. ok: [10.1.4.101] => (item=['yum-utils', 'device-mapper-persistent-data', 'lvm2', 'docker-ce'])
  61.  
  62. TASK [docker : Start Docker] ****************************************************************************************************************************************************************
  63. ok: [10.1.4.101]
  64.  
  65. TASK [docker : Create Docker Speed Configuration file] **************************************************************************************************************************************
  66. ok: [10.1.4.101]
  67.  
  68. TASK [docker : Restart Docker] **************************************************************************************************************************************************************
  69. changed: [10.1.4.101]
  70.  
  71. TASK [splash : pull splash] *****************************************************************************************************************************************************************
  72. changed: [10.1.4.101]
  73.  
  74. TASK [splash : Copy Splash module] **********************************************************************************************************************************************************
  75. ok: [10.1.4.101] => (item=filters)
  76. ok: [10.1.4.101] => (item=js-profiles)
  77. ok: [10.1.4.101] => (item=lua_modules)
  78. ok: [10.1.4.101] => (item=proxy-profiles)
  79.  

静静等着跑完 就可以愉快的使用啦 ! 需要增加节点的话直接把IP加载Docker分组下 重新执行一遍就可以了!

芝麻HTTP:批量部署Splash负载集群的更多相关文章

  1. 小白学爬虫-批量部署Splash负载集群

    整体目录如下: study@study:~/文档/ansible-examples$ tree Splash_Load_balancing_cluster Splash_Load_balancing_ ...

  2. 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群,并部署客户端负载均衡和高可用

    本文作者系:视野金服工程师 | 吴海胜 首发于 Nebula Graph 论坛:https://discuss.nebula-graph.com.cn/t/topic/1388 一.前言 本文介绍如何 ...

  3. kubernetes kubeadm部署高可用集群

    k8s kubeadm部署高可用集群 kubeadm是官方推出的部署工具,旨在降低kubernetes使用门槛与提高集群部署的便捷性. 同时越来越多的官方文档,围绕kubernetes容器化部署为环境 ...

  4. 使用Docker构建持续集成与自动部署的Docker集群

    为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...

  5. 多机部署redis5.0集群环境

    redis5.0集群部署 一.集群介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redi ...

  6. 使用Minikube部署本地Kubernetes集群(二十八)

    前言 使用Minikube部署本地k8s集群相对比较简单,非常推荐将其用于本地k8s开发环境,唯一麻烦点的仅仅是网络问题. 在本篇教程中,我们使用了国内的镜像来完成本地k8s集群的搭建.如果搭建过程中 ...

  7. Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群

    前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...

  8. Apache 2.4.12 64位+Tomcat-8.0.32-windows-x64负载集群方案

    上次搞了Apache 2.2的集群方案,但是现在自己的机器和客户的服务器一般都是64位的,而且tomcat已经到8了.重新做Apache 2.4.12 64位+Tomcat-8.0.32-window ...

  9. 部署rabbitMQ镜像集群实战测试

    部署rabbitMQ镜像集群 版本信息 rabbit MQ: 3.8.5 Erlang: 官方建议最低21.3 推荐22.x 这里用的是23 环境准备 主机规划 主机 节点 172.16.14.3 磁 ...

随机推荐

  1. require和require_once的区别

    require 的使用方法如 require("./inc.php"); .通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它 ...

  2. 文件锁FileLock

    1.文件锁的定义 FileLock是文件锁,进程锁,用于进程间并发,控制不同程序(JVM)对同一文件的并发访问. FileLock是java 1.4 版本后出现的一个类,它可以通过对一个可写文件(w) ...

  3. 夏令营讲课内容整理 Day 6 Part 1.

    Day6讲了三个大部分的内容. 1.STL 2.初等数论 3.倍增   Part1主要与STL有关. 1.概述 STL的英文全名叫Standard Template Library,翻译成中文就叫标准 ...

  4. 简单实现ASP.Net MVC网页播放音乐

    <div> @*音乐*@ <audio id="warning-sound" loop="loop" src="/Areas/Map ...

  5. ubuntu下smb的配置

    PS:    转自Ubuntu中文论坛 -------------------------------------------------------------------------------- ...

  6. Leetcode刷题C#版之 Length of Last Word

    题目: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return t ...

  7. Qt滑动条设计与实现

    没有找到Qt的滑动条控件,所以自己写了一个,能够实现亮度调节.音量调节等功能. 效果如下图: 主要设计思路: 有些调节功能如对比度是有负值的,所以需要能对滑动条的数值范围进行设置,不局限于0~100 ...

  8. Linux双网卡搭建NAT服务器之网络应用

    一:拓扑.网络结构介绍 Eth1 外网卡的IP 地址, GW和DNS 按照提供商提供配置.配置如下: IP:114.242.25.18 NETMASK:255.255.255.0 GW:114.242 ...

  9. js到底new了点啥

    在最开始学习js的时候,我看书上写着,创建一个数组,一个对象通常使用new,如下: var arr=new Array(),//arr=[] obj=new Object();//obj={} 到了后 ...

  10. Java中Excel表格的上传与下载

    详见:http://blog.csdn.net/lzh657083979/article/details/73252585