Ansible

     基于Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用YMAL 及Jinja2

模板语言,更强的远程命令执行操作


Ansible 工作机制

   Ansible 在管理节点将Ansible 模块通过SSH 协议(或者Kerberos、LDAP)推送到被管理端执

行,执行完之后自动删除,可以使用SVN 等来管理自定义模块及编排


五个组件

Ansible:核心

Modules:核心模块及自定义模块

Plugins:完成模块功能的补充,包括连接插件、邮件插件等

Playbooks:网上很多翻译为剧本,定义Ansible 多任务配置文件,有Ansible 自动执行

Inventory:定义Ansible 管理主机的清单



安装ansible

rpm -ivh  http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

安装扩展源

yum -y install ansible


设置ansible互信

root@geekwolf:~# ssh-keygen

root@geekwolf:~# ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip  

root@geekwolf:~# ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip


基础模块查看用ansible-doc -l查看

下面列举一些模块

copy

ansible vm1 -m copy -a 'src=/root/aa dest=/root/'


Ansible的安装_Ansible


-m 后加的是模块

-a 是参数

vm1 是你在/etc/ansible/hosts 定义的组

ansible vm1 -m yum -a "state=present name=httpd"  安装apache服务

Ansible的安装_自动化运维工具_02


ansible vm1 -m service -a 'name=httpd state=started enabled=yes'启动

Ansible的安装_Ansible_03