Ansible原理和安装
一.概念
简介
Ansible是一个IT自动化工具。它能配置系统、部署软件、编排更复杂的IT任务,如连续部署或零停机时间滚动更新。
连接其他主机(管理节点)默认使用ssh协议
特性
Agentless:不需要在被管理节点上安装客户端,只要有sshd即可
Serverless:在服务端不需要启动任何服务,只需要执行命令就行
Modules in any language:基于模块工作,可以使用任意语言开发ansible模块
YAML, not code:使用yaml语言定制playbook
SSH by default:默认使用ssh控制各节点
Strong multi-tier solution:可实现多级控制
架构
核心:ansible
核心模块(Core Modules):这些都是ansible自带的模块
扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
插件(Plugins):完成模块功能的补充
剧本(Playbooks):把需要完成的多个任务定义在剧本中
连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个
主机的,但是它还支持其他的连接方法,所以需要有连接插件
主机清单(Host Inventory):ansible在管理多台主机时,可以选择只对其中的一部分执行某些操作
工作机制
Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行,
执行完之后自动删除,可以使用版本控制系统(git/svn)来管理自定义模块及playbooks。
生成的主要文件:
/etc/ansible
/etc/ansible/ansible.cfg #配置文件
/etc/ansible/hosts #主机库(host inventory)
/usr/bin/ansible #主程序
/usr/bin/ansible-doc #文档
/usr/bin/ansible-playbook #剧本
二.安装
1.搭建仓库
本地仓库或者远程仓库
注意:搭建本地仓库时
file:///mnt/ansible-image/ansible //文件路径要精确到ansible指定文件夹
2.yum安装
# yum -y install ansible
# ansible --version //验证