Ansible是一个综合的强大的管理工具,他可以对多台主机安装操作系统,并为这些主机安装不同的应用程序,也可以通知指挥这些主机完成不同的任务.查看多台主机的各种信息的状态等,ansible都可以通过模块的方式来完成。
- Ansible特性
- No agents:不需要再被管理节点上安装客户端,只要有sshd即可
- No server:在服务端不需要启动任何服务,只需要执行命令就行
- No additional PKI:由于不基于ssl,所以也不基于PKI工作
- Modules in any language:基于模块工作,ansible拥有众多的模块
- YAML:支持YAML语法
- SSH by default:默认使用ssh控制各节点
-
Ansible的基本组件
image
- 核心:ansible
- 核心模块(Core Modules):这些都是ansible自带的模块
- 扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
- 插件(Plugins):完成模块功能的补充
- 剧本(Playbooks):把需要完成的多个任务定义在剧本中
- 连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件
- 主机群(Host Inventory):ansible在管理多台主机时,可以选择只对其中的一部分执行某些操作
-
Ansible工作机制
Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执 行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排。
image
-
Ansible的安装
Ansible的安装方式有很多种,常用的安装方法是基于yum或者源码,如果是基于yum安装,需要配置epel源,然后直接执行yum -y install ansible即可。
- 源码安装配置如下:
解决依赖关系:
$ yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto
下载ansible:
$ wget https://github.com/ansible/ansible/archive/release1.6.1.zip
解压安装
$ unzip release1.6.1
$ cd ansible-release1.6.1
$ python setup.py build
$ python setup.py install
$ mkdir /etc/ansible
$ cp -r examples/* /etc/ansible
- YUM安装
$ yum install http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
$ yum install ansible
- RPM 手动安装
$ git clone https://github.com/ansible/ansible.git
$cd ./ansible
$ make rpm
$ sudo rpm -Uvh ./rpm-build/ansible-*.noarch.rpm
网友评论