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

 

 

 




posted @ 2020-01-07 17:20  习得性无助  阅读(182)  评论(0编辑  收藏  举报