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/'
-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'啓動