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互信
[email protected]:~# ssh-keygen
[email protected]:~# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
[email protected]:~# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
基础模块查看用ansible-doc -l查看
下面列举一些模块
copy
ansible vm1 -m copy -a ‘src=/root/aa dest=/root/‘
-m 后加的是模块
-a 是参数
vm1 是你在/etc/ansible/hosts 定义的组
ansible vm1 -m yum -a "state=present name=httpd" 安装apache服务
ansible vm1 -m service -a ‘name=httpd state=started enabled=yes‘启动