Ansible基本部署&&常用模块

1、简介
ansible是什么?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具;其目标是:自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。
ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

  • 连接插件connection plugins:负责和被监控端实现通信;
  • host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
  • 各种模块核心模块、command模块、自定义模块;
  • 借助于插件完成记录日志邮件等功能;
  • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

运维工具常见的工作模式

  • agent模式: 基于ssl实现,代理工作在被监控端,如:puppet
  • agentless模式: 基于ssh服务实现工作在被监控端,监控端是ssh的客户端。

ansible工作在agentless模式下具有幂等性。ansible在控制端只需要告诉监控端的期望状态就可以实现批量部署。幂等性不会重复执行相同的指令。例如不会重复安装软件 ;期望状态只需要告诉被监控端的期望状态
2、总体架构
这里写图片描述
3、特性

  • no agents:不需要在被管控主机上安装任何客户端;
  • no server:无服务器端,使用时直接运行命令即可;
  • modules in any languages:基于模块工作,可使用任意语言开发模块;
  • yaml,not code:使用yaml语言定制剧本playbook;
  • ssh by default:基于SSH工作;
  • strong multi-tier solution:可实现多级指挥。

4、优点

  • 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
  • 批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
  • 使用python编写,维护更简单,ruby语法过于复杂;
  • 支持sudo。

5、任务执行流程
这里写图片描述
说明:

  • 以上内容大多是基于他人分享的基础上总结而来,学习借鉴之用;
  • 本次安装基于 CentOS 6.4x86_64系统环境。

二、Ansible基础安装与配置
下载以下软件包准备编译安装
这里写图片描述
1、Ansible基础安装
控制服务器(Master)需要安装Python2.6/7,windows上无法使用ansible。被管理的服务器(Managed Node)需要安装Python2.4以上的版本,如果低于2.5,需要安装python-simplejson。
(1)python2.7安装
https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
这里写图片描述
将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
这里写图片描述
修改yum脚本,使其指向旧版本的python,已避免其无法运行

[root@DQ ~]# vim /usr/bin/yum
!/usr/bin/python  -->  #!/usr/bin/python2.6

(2)setuptools模块安装
https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz

[root@DQ ansible]# tar xf setuptools-7.0.tar.gz -C /usr/src/
[root@DQ ansible]# cd /usr/src/setuptools-7.0/
[root@DQ setuptools-7.0]# python setup.py install

(3)pycrypto模块安装
https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz

[root@DQ ansible]# tar xf pycrypto-2.6.1.tar.gz -C /usr/src/
[root@DQ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值