Ansible-快速启动
Ansible
是一款简单的运维自动化工具,只需要使用ssh
协议连接就可以来进行系统管理,自动化执行命令,部署等任务。
Ansible的特点
1、ansible不需要单独安装客户端,不需要启动任何服务,只需要双方支持ssh
2、ansible是python中的一套完整的自动化执行任务模块
3、ansible playbook 采用yaml配置,对于自动化任务执行过一目了然
Ansible组成结构
Ansible
是Ansible
的命令工具,核心执行工具;一次性或临时执行的操作都是通过该命令执行。
Ansible Playbook
任务剧本(又称任务集),编排定义Ansible
任务集的配置文件,由Ansible
顺序依次执行,yaml
格式。
InventoryAnsible
管理主机的清单,默认是/etc/ansible/hosts
文件。
ModulesAnsible
执行命令的功能模块,Ansible2.3
版本为止,共有1039
个模块。还可以自定义模块。
Plugins
插件,模块功能的补充,常有连接类型插件,循环插件,变量插件,过滤插件,插件功能用的较少。
API
提供给第三方程序调用的应用程序编程接口。
安装与快速使用
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && yum clean all && yum makecache
yum -y install ansible
ansible --version
————————————————————————————————————————
配置主机Inventory /etc/ansible/hosts
临时指定inventory /etc/ansible-web
[ ~]# cat /etc/ansible/hosts # This is the default ansible ‘hosts‘ file. [web] 192.168.9.243 192.168.9.242 192.168.9.241[db]192.168.17.214192.168.17.220192.168.17.248
————————————————————————————————————————
查看主机列表 ansible all --list-hostsansible web --listansible all -m ping -i /etc/ansible-web查看主机存活状态 ansible web -m ping -o 匹配apache组nginx组两个组所有的机器(并集) ansible ‘web:db‘ -m ping -o 执行非内置命令ansible web -m shell -a ‘yum clean all ; yum makecache‘ -o
PS: