linux下安装部署ansible

介绍

Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,其中saltstack和ansible都是用python开发的。ansible其实准确的说只提供了一个框架,它要基于很多其他的python模块才能工作的,所以在安装ansible的时候你要再装很多其他的依赖包的。

好处之一是使用者可以开发自己的模块,放在里面使用。第二个好处是无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可。第三个好处是批量任务执行可以写成脚本,而且不用分发到远程就可以执行。

正文

注意:强烈建议升级python版本到2.6以上,不然运行会出错或者有些功能会没有,在编译安装其他包的时候也会因为兼容问题报错。

(1)、python2.7安装

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

tar xvzf Python-2.7.8.tgz

cd Python-2.7.8

./configure --prefix=/usr/local

make

make install

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

cd /usr/local/include/python2.7

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

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

cd /usr/bin

mv python python.old

ln -s /usr/local/bin/python2.7 /usr/local/bin/python

rm -f /usr/bin/python && cp /usr/local/bin/python2.7 /usr/bin/python

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

vim /usr/bin/yum

!/usr/bin/python --> #!/usr/bin/python2.4

Tips :若python版本已经为2.6或以上,则不需要再重装python,只是还需要安装python开发包:python-dev(有的操作系统下为python-devel)

yum install python-devel
or

yum install python-dev
(2)、setuptools模块安装

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

tar xvzf setuptools-7.0.tar.gz

cd setuptools-7.0

python setup.py install

安装好setuptools后就可以利用easy_install这个工具安装下面的python模块了,但我的电脑是虚拟机,配置太低了,所以基本无法安装,所以只好一个一个下载下来再安装了。

(3)、pycrypto模块安装

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

tar xvzf pycrypto-2.6.1.tar.gz

cd pycrypto-2.6.1

python setup.py install

(4)、PyYAML模块安装

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

tar xvzf 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

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

tar xvzf PyYAML-3.11.tar.gz

cd PyYAML-3.11

python setup.py install

(5)、Jinja2模块安装

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

tar xvzf MarkupSafe-0.9.3.tar.gz

cd MarkupSafe-0.9.3

python setup.py install

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

tar xvzf Jinja2-2.7.3.tar.gz

cd Jinja2-2.7.3

python setup.py install

(6)、paramiko模块安装

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

tar xvzf ecdsa-0.11.tar.gz

cd ecdsa-0.11

python setup.py install

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

tar xvzf paramiko-1.15.1.tar.gz

cd paramiko-1.15.1

python setup.py install

(7)、simplejson模块安装

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

tar xvzf simplejson-3.6.5.tar.gz

cd simplejson-3.6.5

python setup.py install

(8)、ansible安装

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

tar xvzf ansible-1.7.2.tar.gz

cd ansible-1.7.2

python setup.py install

(9)、SSH免密钥登录设置

生成公钥/私钥

ssh-keygen -t rsa -P ''

写入信任文件(将/root/.ssh/id_rsa_storm1.pub分发到其他服务器,并在所有服务器上执行如下指令):

cat /root/.ssh/id_rsa_storm1.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

(10)、拷贝,生成ansible配置文件

a 配置文件/etc/ansible/ansible.cfg

mkdir -p /etc/ansible

cp ansible-1.7.2/examples/ansible.cfg /etc/ansible/

b 配置文件/etc/ansible/hosts

vim /etc/ansible/hosts

[test]

192.168.1.3

192.168.1.4

测试

ansible test -m command -a 'uptime'
用来测试远程主机的运行状态

ansible test -m ping

参看所有的参数

ansible-doc -l

linux下安装部署ansible的更多相关文章

  1. Linux下安装部署Samba共享盘的操作手册

    简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...

  2. Linux下安装部署NodeJS完整步骤

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ NodeJS是一个开源,跨平台,轻量级的JavaScript运行时环境,可用于构建可扩展的网络 ...

  3. linux下安装部署环境:jdk、tomcat、nginx

    一.安装jdk 一.查看Linux自带的JDK是否已安装 1.查看已经安装的jdk: # rpm -qa|grep jdk                ← 查看jdk的信息或直接执行 或 # rpm ...

  4. CentOS6.5 64位下安装部署Ansible

    这里使用的软件包为一下版本 Python-2.7.12.tgz pip-9.0.1.tar.gz ansible-2.2.0.0.tar.gz 其他依赖包使用pip方式安装 方便说明做以下设定: 控制 ...

  5. 今日Linux下安装部署禅道

    我的linux系统是在虚拟机上安装的Ubuntu,禅道在官网www.zentao.net下载安装的开源版的linux64位,采用一键安装包安装.安装前要求:系统上不能有自己安装的mysql .下载的安 ...

  6. Linux下安装部署RabbitMQ

    在写正文之前先啰嗦几句,RabbitMQ(消息队列)的安装让我费了半天劲啊!足足折腾了2天,最后写下这篇文章总结下,其实很简单,但是你找不到错在哪个环节就会费很多无用功,如果你也遇到了安装erl后 怎 ...

  7. jenkins在Linux 下安装部署

      这里介绍两种方法,一种方法将最新版jenkins加入到yum源,另外一种是下载指定版本的rpm包 系统centos6 自带jdk1.7 一 安装jenkins wget -O :下载并以不同的文件 ...

  8. RocketMQ在linux下安装部署

    本博客以当前RocketMQ最新版介绍:v4.4.0 环境要求 64位JDK 1.8+; Maven 3.2.x; // 源码编译时需要用到 二进制文件安装 下载二进制文件:http://mirror ...

  9. Linux下安装部署Java

    Java安装6小部(适合新手) 1.下载软件包 # wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x ...

随机推荐

  1. 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】

    题目链接 [洛谷传送门] 题解 很显然,当这个点不是割点的时候,答案是\(2*(n-1)\) 如果这个点是割点,那么答案就是两两被分开的联通分量之间求组合数. 代码 #include <bits ...

  2. [mstsc]解决win8 win10 平板无法被mstsc连接的问题

    问题如下: https://answers.microsoft.com/zh-hans/windows/forum/windows_8-performance/win8%E6%97%A0%E6%B3% ...

  3. jmeter5.1在windows(含插件安装)及linux环境下安装

    jmeter下载 前提:已经安装jdk8+ jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi 有Binaries和Source版本 前者是 ...

  4. qt: 获取sql数据表的所有的字段;

    1. mysql 数据库: 转载: https://www.cnblogs.com/fuqia/p/8994080.html mysql安装成功后可以看到已经存在mysql.information_s ...

  5. Docker:容器间互联的应用zabbix监控项目 [十]

    一.docker容器间的互联 1.创建两个容器 [root@luoahong ~]# docker run -d --name luoahong httpd:latest 8f771f043391e7 ...

  6. solr的搜索

    主要讲一下solr面板的使用: 查询 q:     查询用  语法: name:刘中华      支持通配符 ? 表示单个任意字符的通配 * 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号 ...

  7. NOI-OJ 2.2 ID:8758 2的幂次方表示

    思路 可以把任意一个数转化为2^a+2^b+2^c+...+2^n 例如137的二进制为10001001,这就等效于2^7+2^3+2^0 以上结果如何通过程序循环处理呢?需要把数字n分解为上述公式, ...

  8. 【codeforces 765F】Souvenirs

    Description Artsem is on vacation and wants to buy souvenirs for his two teammates. There are n souv ...

  9. webpack 代码优化压缩方法

    在配置基于webpack的react单页面脚手架时,公共依赖库代码打包至vender.js中,页面逻辑代码打包至app.js中,使用webpack-bundle-analyzer分析发现,两个js中包 ...

  10. xls表格 ctrl+D 和ctrl+Enter区别 --快速填充相同数据,同时填充多个不同数据

    一.ctrl+Enter应用 如何快速实现下图两个图的填充值效果? ==>效果 1. 选择A列,或者所需要填充的范围 (下面利用 ctrl+G定位应用) 2.Ctrl+G 定位 选择 空值  在 ...