通过Ansible来搭建一套Web服务架构。【以AD-HOC的形式】

Inventory文件内容如下:

[proxy]

192.168.40.254

[app]

192.168.40.243

[nosql]

192.168.40.252

[db]

192.168.40.252

(1)首先使用ansible安装Nginx。

ansible proxy -m yum -a "name=nginx state=present"

使用yum模块来安装CentOS上的包。特别要注意state的意思。

从网络安装:

ansible proxy -m yum -a \

"name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6.0.el6.ngx.noarch.rpm \

state=present"

从本地安装:

ansible proxy -m yum -a \

"name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present"

(2)然后部署app服务器。

=== nginx和php

ansible app -m yum -a "name=nginx state=present"

ansible app -m yum -a "name=php state=present"

=== django

ansible app -m yum -a "name=MySQL-python state=present"

ansible app -m yum -a "name=python-setuptools state=present"

ansible app -m pip -a "name=django state=present"

ansible app -m command -a "python -c 'import django; print django.get_version()' "

(3)然后部署nosql服务器和mariadb服务器。

ansible db -m yum -a "name=redis state=present"

ansible db -m command -a "redis-cli --version"

ansible db -m yum -a "name=mariadb-server state=present"

ansible db -m yum -a "name=mariadb-client state=present"

ansible db -m command -a "iptables -A INPUT -s 192.168.0.0/16 -p tcp -m tcp --dport 3306 -j ACCEPT"

总结:

通过ansible部署了一套应用环境,期间没有登录任何客户端,所有的操作都是在控制端执行的。

对于使用次数较少的情况下,这种方式没有任何优势,还不如我们直接登录客户服务器,执行相关命令。

但如果要将这套环境部署到1000台服务器上,那就体现出了ansible的优势。

以前可能需要执行10000条命令才能安装完1000台服务器,现在使用ansible后,完成这个工作只需要

10条命令即可。

注意:这是通过AD-HOC的方式来完成的。

随笔-ansible-2的更多相关文章

  1. Ansible随笔8

    自定义模块的开发模式 1.决定自定义模块的存放路径 编辑/etc/ansible/ansible.cfg文件,修改library = /usr/share/ansible/. 这样就告诉ansible ...

  2. Ansible playbook API 开发 调用测试

    Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible ...

  3. ansible学习

    声明:本博客内容是根据惨绿少年内容实践随笔,地址:http://www.cnblogs.com/clsn/p/7743792.html#comment_form 1.ansible介绍 Ansible ...

  4. Ansible 利用playbook批量部署mariadb

    环境说一下 192.168.30.21     ansible 192.168.30.25     client1 192.168.30.26     client2 这里我的ansible环境已经部 ...

  5. Ansible实现zabbix服务器agent端批量部署

    项目需求:由于搭建zabbix,需要每台服务器都需要安装监控端(agent)正常的的操作是一台一台去安装,这样确实有点浪费时间,这里为大家准备了一款开源 的自动化运维工具Ansible,相信大家也很熟 ...

  6. 利用ansible书写playbook搭建HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境续

    ansible.playbook.haproxy.keepalived.PXC haproxy+keepalived双主模式调度pxc集群 HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机 ...

  7. 如何利用ansible callback插件对执行结果进行解析

    最近在写一个批量巡检工具,利用ansible将脚本推到各个机器上执行,然后将执行的结果以json格式返回来. 如下所示: # ansible node2 -m script -a /root/pyth ...

  8. AI人工智能系列随笔

    初探 AI人工智能系列随笔:syntaxnet 初探(1)

  9. 【置顶】CoreCLR系列随笔

    CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔 ...

  10. C++随笔:.NET CoreCLR之GC探索(4)

    今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize fre ...

随机推荐

  1. vbs 之 解决打开Excel文件格式与扩展名指定格式不一致的问题

    ' Q:解决打开Excel文件格式与扩展名指定格式不一致的问题' A: 使用工作簿saveAs时,往往忽略掉它的第二个参数FileFormat,添加即可. 比如: set bookDiff = oEx ...

  2. linux get current thread count and system threads limit

    get current thread count grep -s '^Threads' /proc/[0-9]*/status | awk '{ sum += $2; } END { print su ...

  3. CH1201 最大子序和 (单调队列)

    题目链接: AcWing 牛客 题目描述 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7 当 ...

  4. HDU 4109 Instrction Arrangement

    题目链接:https://vjudge.net/problem/HDU-4109 题目大意 有 N 个指令,标号从 0 ~ N - 1,和 M 个指令间的先后关系,每个关系都有一个权值 w,表示后一个 ...

  5. C#比较时间大小(时分)

    比较时间大小(时分)    string st1="12:13";    string st2="14:14";    DateTime dt1=Convert ...

  6. Rsync 恢复 libselinux.SO.1

    libselinux.SO.1  这个文件对 CentOS 7很重要, 误删掉后,会导致很多命令无法使用(比如yum ,rpm  命令),利用rsync这个工具来修复. 服务端执行如下配置:(选取正常 ...

  7. Warshall算法和Floyd算法

    不用说这两位都是冷门算法……毕竟O(n^3)的时间复杂度算法在算法竞赛里基本算是被淘汰了……而且也没有在这个算法上继续衍生出其他的算法… 有兴趣的话:click here.. 话说学离散的时候曾经有个 ...

  8. JS的面向对象与原型

    原型 const yoshi = { skulk: true }; const hattori = { sneak: true }; const kuma = { creep: true }; ⇽-- ...

  9. 案例-html5新标签-input和video

    <form action=""> <fieldset> <!--fieldset标签:可将表单内的元素分组 ,常与legend搭配使用--> & ...

  10. ASP.NET MVC 解决账号重复登录问题

    解决重复登录 用到了 .net 身份票证 和Global全局处理文件 第一步 登录方法  传入用户名 private void GetOnline(string Name) { Hashtable S ...