ansible
1.为什么使用ansible
方便管理大量主机,一台主机通过ssh来管理大量主机进行操作。
轻量级,每次只要更新主机即可,其他主机不需要安装什么agent服务
支持sudo普通用户协议
模块
主要由模块、插件、主机群、以及剧本的组成,各部分含义如下:
1.核心模块(core modules):Ansible 自带的模块。
2.自定义模块(custom Modules):如果核心模块不足以完成某种功能,可以自行添加自定义模块(支持市面上大部分的编程语言)。
3.插件(Plugins):支持使用插件的方式对ansible本身的功能进行扩展。模块是用来实现任务的,增强ansible平台自己的功能就需要使用插件(loggin插件记录日志,email插件发送邮件)
- 其中最常用是:连接插件(Connectior Plugins) :ansibile基于连接插件连接到各个主机上,虽然默认情况下ansible使用ssh连接到各个主机上,但它还支持其他的连接方法(mq)。
4.主机群(Host Inventory): 主机清单,定义ansible管理的主机,还可以存放一下针对不同主机的变量,也可以写入主机的用户名和密码
5.剧本(playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行
运行原理:把命令翻译成shell命令,拷贝到目标主机(/root/.ansible/tmp/下),再执行,执行完毕后删除tmp文件。
下面解释:
核心模块就是ansible
自定义就是增加其他功能,自己定义
插件可以有mail和log插件,但是最常用还是connection plugins
主机群就是要添加要管理的主机
剧本就是添加要干那些活
这些活会被ansible翻译成shell命令
安装ansible:
yum install epel-release -y
但执行:
yum install ansible –y
网上说
原因:epel源与python版本冲突原因,从上图可以看出,有些包是需要依赖python2.6的版本,此主机的python版本是2.7.5。
解决办法:
1、先卸载 epel-release源,
#yum install epel-release -y
2、到 /etc/yum.repos.d 目录下,将epel.repo源备份,
#mv epel.repo epel.repo.bak
3、清理yum源缓存和新建缓存,
# yum clean all
# yum makecache
4、再执行安装命令:#yum install ansible -y