0.Ansible介绍

  Ansible 是一个简单的自动化运维管理工具,可以用来自动化部署应用、配置、编排 task(持续交付、无宕机更新等),采用 paramiko 协议库(fabric 也使用这个)。

  

 特殊说明:本教程是CentOS6.6的安装教程,在Linux 7的镜像里面一般都会带ansible这个rpm包,通过 yum -y install ansible就可以直接安装。避免如下复杂的步骤。

1.安装环境及介质

安装版本:Ansible 1.7.2

操作系统:Linux localhost.localdomain 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linu

虚拟机镜像:CentOS-6.6-x86_64-bin-DVD1.iso

系统配置:1C(core)/1G(mem)/8G(disk)

介质:

ansible-1.7.2.tar.gz

https://github.com/ansible/ansible/archive/v1.7.2.tar.gz

          ecdsa-0.11.tar.gz

https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz

          Jinja2-2.7.3.tar.gz

https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz

        MarkupSafe-0.9.3.tar.gz

https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz

          paramiko-1.15.1.tar.gz

https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz

          pycrypto-2.6.1.tar.gz

https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz

        Python-2.7.8.tgz

https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

          PyYAML-3.11.tar.gz

https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz

        setuptools-7.0.tar.gz

https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz

simplejson-3.6.5.tar.gz

https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz

yaml-0.1.5.tar.gz

http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz

2.开始安装

  2.1 Python2.7安装

$  tar –zxvf Python-2.7.8.tgz

$  cd Python-2.7.8

$  ./configure –prefix=/usr/local

$  make --jobs=`grep processor /proc/cpuinfo | wc -l`

$  make install

## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件

$  cd /usr/local/include/python2.7

$  cp -a ./* /usr/local/include/

## 备份旧版本的python,并符号链接新版本的python

$  cd /usr/bin

$  mv python python2.6

$  ln -s /usr/local/bin/python

## 修改yum脚本,使其指向旧版本的python,已避免其无法运行

$  vim /usr/bin/yum

#  !/usr/bin/python  -->  #!/usr/bin/python2.6    (将Python改成Python2.6)

  2.2 python-setuptools模块安装

 

$  tar -zxvf setuptools-7.0.tar.gz

$  cd setuptools-7.0

$  python setup.py install

  2.3 python-pycrypto模块安装

$  tar -zxvf pycrypto-2.6.1.tar.gz

$  cd pycrypto-2.6.1

$  python setup.py install

2.4 python-PyYAML模块安装

$  tar -zxvf yaml-0.1.5.tar.gz

$  cd yaml-0.1.5

$  ./configure --prefix=/usr/local

$  make --jobs=`grep processor /proc/cpuinfo | wc -l`

$  make install

$  tar -zxvf PyYAML-3.11.tar.gz

$  cd PyYAML-3.11

$  python setup.py install

  2.5 python-Jinja2模块安装

$  tar -zxvf MarkupSafe-0.9.3.tar.gz

$  cd MarkupSafe-0.9.3

$  python setup.py install

$  tar -zxvf Jinja2-2.7.3.tar.gz

$  cd Jinja2-2.7.3

$  python setup.py install

  2.6 python-paramiko模块安装

$  tar -zxvf ecdsa-0.11.tar.gz

$  cd ecdsa-0.11

$  python setup.py install

$  tar -zxvf paramiko-1.15.1.tar.gz

$  cd paramiko-1.15.1

$  python setup.py install

  2.7 python-simplejson模块安装

$  tar -zxvf simplejson-3.6.5.tar.gz

$  cd simplejson-3.6.5

$  python setup.py install

  2.8 python-ansible模块安装

$  tar -zxvf ansible-1.7.2.tar.gz

$  cd ansible-1.7.2

$  python setup.py install

3.配置及测试

  3.1 配置

# SSH免密钥登录设置

$  ssh-keygen -t rsa -P ''

    

    #远程机器复制生成id_rsa.pub公钥实现免密登录,参考《Linux下实现免密登录

    # ansible配置

$   mkdir -p /etc/ansible

$   touch /etc/ansible/ansible.cfg

$   vim /etc/ansible/ansible.cfg

粘贴如下内容:

[defaults]

inventory      = /etc/ansible/hosts

sudo_user=root

remote_port=22

host_key_checking=False

remote_user=root

log_path=/var/log/ansible.log

module_name=command

private_key_file=/root/.ssh/id_rsa

no_log:True

$  touch /etc/ansible/hosts

$  vim /etc/ansible/hosts

粘贴如下内容:

[test]

192.168.91.137

3.2 测试

 

$  ansible test -m ping

4 . 参考文章

Ansible官网全模块文档

http://docs.ansible.com/ansible/list_of_all_modules.html

自动化运维工具Ansible详细部署

http://sofar.blog.51cto.com/353572/1579894/

ansible快速上手

https://linuxtoy.org/archives/hands-on-with-ansible.html

Ansible:自动化工具

http://rangochen.blog.51cto.com/2445286/1425276

自动化工具ansible中文指南

http://www.aikaiyuan.com/6299.html

运维自动化之ansibleplaybook安装nginx

http://dl528888.blog.51cto.com/2382721/1438847

Ansible之安装部署及常用模块的使用介绍

http://yanshisan.blog.51cto.com/7879234/138440

Ansible状态管理

http://xdays.info/ansible%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86.html

ansible学习笔记(二)初始化操作系统:ansible变量使用

http://laowafang.blog.51cto.com/251518/1418471

Ansible学习记录一:Linux下部署的更多相关文章

  1. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  2. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  3. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  4. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  5. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  6. 记录在linux下的wine生活

    记录在linux下的windows生活 本篇内容涉及QQ.微信.Office的安装配置 QQ: 到deepin下载轻聊版. 如果安装了crossover,那么将其中opt/cxoffice/suppo ...

  7. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  8. linux下部署项目问题

    1. 今天linux下部署thinkphp项目,数据库用的mysql. 页面其他都是正常的,但是从数据库中取出的数据都是乱码.最后查了资料 解决方案: 在ThinkPHP里面 Library\Thin ...

  9. linux 下部署nodejs(两种方式)

    本次博客的编写时用的系统环境,刚装好的Centos 6.4  64位虚拟机. 另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Ins ...

  10. Linux下部署Symfony2对app/cache和app/logs目录的权限设置

    在linux下部署完Symfony2,可能在访问的时候会报app/logs或者app/cache目录没有写权限的错误.在linux下,如果我们在命令行登陆的用户和web应用服务器(apache.ngi ...

随机推荐

  1. CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

    密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方 ...

  2. 一篇文章助你理解Python2中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系.下面在Python2环境中进行代码演示,分别Wind ...

  3. 洛谷3933 Chtholly Nota Seniorious 二分答案+贪心

    题目链接 题意 给你一个N*M的矩阵 (N,M <=2000)  把他分成两部分 使两部分的极差较大的一个最小  求这个最小值.然后分矩阵的要求是:每个部分内部的方块之间,可以通过上下左右相互到 ...

  4. malloc()和free()的原理及实现

    在C语言中只能通过malloc()和其派生的函数进行动态的申请内存,而实现的根本是通过系统调用实现的(在linux下是通过sbrk()系统调用实现). malloc()到底从哪里得到了内存空间?答案是 ...

  5. HBase 1.1.2 优化插入 Region预分配

    预分Region 与 不预分Region 的测试: 1 不预分Region:       23~29秒插入100W数据   并且蛋疼的是每次都写入一个 RegionServer 且  只在一个 Reg ...

  6. 试图切换控制addChildViewController、_transitionFromViewController

    试图切换能够用transitionFromViewController. 步骤: View Controller中能够加入多个sub view,在须要的时候显示出来: 能够通过viewControll ...

  7. BZOJ 1002 FJOI 2007 轮状病毒 暴力+找规律+高精度

    题目大意: 思路:基尔霍夫矩阵求生成树个数,不会. 可是能够暴力打表.(我才不会说我调试force调试了20分钟... CODE(force.cc): #include <cstdio> ...

  8. C++学习笔记11-面向对象2

     1.  仅仅能初始化直接基类 一个类仅仅能初始化自己的直接基类.直接就是在派生列表中指定的类.假设类C 从类B 派生,类B 从类A 派生,则B 是C 的直接基类.尽管每一个C 类对象包括一个A 类部 ...

  9. Lesson 1 Basic Concepts: Part 2

    Getting your web site ‘live’ on the Web With the nerd background details under our belts, we can now ...

  10. Centos7 网络出错(failed to start LSB: Bring up/down networking )

    这是我更换了VM虚拟机内存,重启后无法连接网络. 然后这是因为NetworkManager.service这个程序造成 解决方法: systemctl disable NetworkManager.s ...