一、基础介绍
==========================================================================================
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机
(3)、各种模块核心模块、command模块、自定义模块
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务

1、Ansible基础安装
(1)、python2.7安装 #目前还不支持3X的版本,你也可以用

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/python .

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

centos6修改如下
vim /usr/bin/yum
修改为
#!/usr/bin/python.old
centos7 增加修改vim /usr/libexec/urlgrabber-ext-down
修改为
#!/usr/bin/python.old

(2)、setuptools模块安装

https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip
unzip setuptools-39.2.0
cd setuptools-39.2.0
python setup.py install

(3)、pycrypto模块安装

https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz

tar xvzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py install

(4)、YAML模块安装

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

tar xvzf yaml-0.1.7.tar.gz
cd yaml-0.1.7
./configure --prefix=/usr/local
make && make install

(5)、PyYAML模块安装

https://files.pythonhosted.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a/PyYAML-3.12.tar.gz

tar zxvf PyYAML-3.12.tar.gz
cd PyYAML-3.12
python setup.py install

(6)、MarkupSafe模块安装

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.8.tar.gz tar xvzf Jinja2-2.7.3.tar.gz
cd Jinja2-2.7.3
python setup.py install

(7)、simplejson模块安装

https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz

tar xvzf MarkupSafe-1.0.tar.gz
cd MarkupSafe-1.0
python setup.py install

(8)、Jinja2模块安装

https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz

tar xvzf Jinja2-2.10.tar.gz
cd Jinja2-2.10
python setup.py install

(9)simplejson模块安装

https://files.pythonhosted.org/packages/8b/6c/c512c32124d1d2d67a32ff867bb3cdd5bfa6432660975f7ee753ed7ad886/simplejson-3.15.0.tar.gz

tar xvzf simplejson-3.15.0.tar.gz
cd simplejson-3.15.0
python setup.py install

(10)httplib2安装

https://files.pythonhosted.org/packages/fd/ce/aa4a385e3e9fd351737fd2b07edaa56e7a730448465aceda6b35086a0d9b/httplib2-0.11.3.tar.gz

tar zxvf httplib2-0.11.3.tar.gz
cd httplib2-0.11.3
python setup.py install

(11)libffi安装

http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/libffi-3.2.1.tar.gz

tar zxvf libffi-3.2.1.tar.gz
cd libffi-3.2.1
./configure --prefix=/usr/local
make
make install

ldconfig

 

(12)six安装

https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz

tar zxvf six-1.11.0.tar.gz
cd six-1.11.0
python setup.py install

(13)cffi安装

https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz

tar zxvf cffi-1.11.5.tar.gz
cd cffi-1.11.5
python setup.py install

(14)cryptography安装

https://files.pythonhosted.org/packages/ec/b2/faa78c1ab928d2b2c634c8b41ff1181f0abdd9adf9193211bd606ffa57e2/cryptography-2.2.2.tar.gz

tar zxvf cryptography-2.2.2.tar.gz
cd cryptography-2.2.2
python setup.py install

(15)pyOpenSSL安装

https://files.pythonhosted.org/packages/9b/7c/ee600b2a9304d260d96044ab5c5e57aa489755b92bbeb4c0803f9504f480/pyOpenSSL-18.0.0.tar.gz

tar zxvf pyOpenSSL-18.0.0.tar.gz
cd pyOpenSSL-18.0.0
python setup.py install

(16)pycparser安装

https://files.pythonhosted.org/packages/8c/2d/aad7f16146f4197a11f8e91fb81df177adcc2073d36a17b1491fd09df6ed/pycparser-2.18.tar.gz

tar zxvf pycparser-2.18.tar.gz
cd pycparser-2.18
python setup.py install

(17)paramiko安装

https://files.pythonhosted.org/packages/29/65/83181630befb17cd1370a6abb9a87957947a43c2332216e5975353f61d64/paramiko-2.4.1.tar.gz

tar zxvf paramiko-2.4.1.tar.gz
cd paramiko-2.4.1
python setup.py install

(18)passlib安装

https://files.pythonhosted.org/packages/25/4b/6fbfc66aabb3017cd8c3bd97b37f769d7503ead2899bf76e570eb91270de/passlib-1.7.1.tar.gz

tar zxvf passlib-1.7.1.tar.gz
cd passlib-1.7.1
python setup.py install

(19)、ansible安装

https://github.com/ansible/ansible/archive/
https://pypi.org/project/ansible/ https://files.pythonhosted.org/packages/6e/95/490f5e39ee7cc7956eecd070610f0a873b97781c9efdbf6098bad2ed3ee0/ansible-2.5.4.tar.gz tar zxvf ansible-2.5.4.tar.gz
cd ansible-2.5.4
python setup.py install

2、Ansible配置
(1)、SSH免密钥登录设置
分别在各个机器上执行SSH无密码验证登录的实现

vim /etc/ssh/sshd_config 开启
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径 ssh-keygen -t rsa 生成密钥文件
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub IP 重启SSH服务: /bin/systemctl restart sshd.service
/etc/init.d/sshd restart

将所有机器的key都在加在各自的authorized_keys里。

重启SSH服务:

 /bin/systemctl restart sshd.service

(2)、ansible配置

mkdir -p /etc/ansible
vim /etc/ansible/ansible.cfg inventory = /etc/ansible/hosts
remote_port = 22

主机组定义

vim /etc/ansible/hosts

[web59]
192.168.1.59

(3)、简单测试

ansible all -m command -a 'uptime'   

192.168.1.229 | SUCCESS | rc=0 >>
13:00:08 up 5 days, 18:58, 2 users, load average: 0.01, 0.03, 0.00 192.168.1.59 | SUCCESS | rc=0 >>
13:03:29 up 5 days, 19:20, 5 users, load average: 0.00, 0.00, 0.00

centos6.5-7编译安装Ansible详细部署的更多相关文章

  1. centos7源码编译安装Ansible详细部署

    一.基础介绍==========================================================================================ansi ...

  2. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  3. Linux系统CentOS6.2版本下安装JDK7详细过程

    Linux系统CentOS6.2版本下安装JDK7详细过程 分类: Linux 2014-08-25 09:17 1933人阅读 评论(0) 收藏 举报 前言:        java 是一种可以撰写 ...

  4. 16、编译安装ansible

    16.1.python版本说明: Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点, 其中saltst ...

  5. centos6.7下编译安装lnmp

    很多步骤不说明了,请参照本人的centos6.7下编译安装lamp,这次的架构是nginx+php-fpm一台服务器,mysql一台服务器 (1)首先编译安装nginx: 操作命令: yum -y g ...

  6. 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客

    自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署

  7. centos6.7下 编译安装MySQL5.7

    centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ...

  8. Linux(CentOS6.5)下编译安装PHP5.6.22时报错”configure: error: ZLIB extension requires gzgets in zlib”的解决方式(确定已经编译安装Zlib,并已经指定Zlib路径)

    本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢!   今天在CentOS6.5下编译安装PHP时,一直报错 confi ...

  9. mysql编译安装(详细)(转载)

    mysql编译安装(详细)   一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...

随机推荐

  1. 使用Visual Studio Code进行MicroPython编程

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 Visual Studio Code(以下简称VSC ...

  2. MyBatis从入门到精通(三):MyBatis XML方式的基本用法之多表查询

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. 多表查询 上篇博客中,我们示例的 ...

  3. 【SQL-JOIN】mysql中left joinn、right join、full join以及inner join

    看到这两张图的时候就觉得太棒了,年轻的时候曾经爬了好多坑~~~~~~

  4. Java学习笔记——设计模式之七.模板方法模式

    模板方法模式(TemplateMethod),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 结构图: 代码: 算法骨架 ...

  5. spring源码深度解析— IOC 之 默认标签解析(下)

    在spring源码深度解析— IOC 之 默认标签解析(上)中我们已经完成了从xml配置文件到BeanDefinition的转换,转换后的实例是GenericBeanDefinition的实例.本文主 ...

  6. Mac上使用brew update会卡住的问题

    Mac上使用brew update会卡住的问题 brew默认的源是Github,会非常慢,建议换为国内的源.推荐中科大的镜像源,比较全面. 解决方案 Homebrew Homebrew源代码仓库 替换 ...

  7. 跟我学SpringCloud | 第六篇:Spring Cloud Config Github配置中心

    SpringCloud系列教程 | 第六篇:Spring Cloud Config Github配置中心 Springboot: 2.1.6.RELEASE SpringCloud: Greenwic ...

  8. python爬虫之快速对js内容进行破解

    python爬虫之快速对js内容进行破解 今天介绍下数据被js加密后的破解方法.距离上次发文已经过去半个多月了,我写文章的主要目的是把从其它地方学到的东西做个记录顺便分享给大家,我承认自己是个懒猪.不 ...

  9. 设计模式-简单工厂模式(SimpleFactory)

    简单工厂模式又叫静态工厂模式,,通过定义一个类(FruitFactory)来负责创建其他类的实例,被创建的实例通常都具有相同的父类(Fruit). 角色和职责: 1.工厂角色(Factory)-Fru ...

  10. kafka入门(二)分区和group

    topic 在kafka中消息是按照topic进行分类的:每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic parition 一个topic可以配置几个parition,每一个分区 ...