最近由於工做須要學習了ansible,把這幾天所學的東西作了個總結,和你們分享一下:python
ansible是新出現的自動化運維工具,基於Python開發,集合了衆多運維工具(puppet、cfengine、chef、func、fabric)的優勢,實現了批量系統配置、批量程序部署、批量運行命令等功能。
ansible是基於模塊工做的,自己沒有批量部署的能力。真正具備批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括:
(1)鏈接插件connection plugins:負責和被監控端實現通訊;
(2)host inventory:指定操做的主機,是一個配置文件裏面定義監控的主機;
(3)各類模塊核心模塊、command模塊、自定義模塊;
(4)藉助於插件完成記錄日誌郵件等功能;
(5)playbook:劇本執行多個任務時,非必需可讓節點一次性運行多個任務。編程
瞭解了ansible的基本概念以及它的用途,下來,咱們開始部署ansible(本次部署實在Redhat7上進行的),讓ansible在本身的機器上跑起來。
爲了能使用yum安裝,首先咱們得配置本地yum源,具體配置參考個人另外一篇文章
RHEL7配置本地yum源json
安裝ansible
一、安裝python-devel
yum install python-devel
二、setuptools模塊安裝
三、pycrypto模塊安裝
四、PyYAML模塊安裝
五、Jinja2模塊安裝
六、paramiko模塊安裝
七、simplejson模塊安裝
八、ansible安裝
在網上下載以上模塊以及ansiblede的.tar.gz包
分別執行tar xvzf *解壓後 再執行python setup.py install --record log.txt 命令安裝vim
ansible安裝成功以後,接下來進行Ansible的配置
一、SSH免密鑰登陸設置segmentfault
[root@localhost ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: c9:72:68:d4:5a:a7:73:8c:f6:29:3b:44:99:7e:ae:20 root@localhost.localdomain The key's randomart image is: +--[ RSA 2048]----+ | | | . | | . oo. | | . =+* | | =oS o | | . +o+.. | | E ...oo | | . ..o. | | oo | +-----------------+
二、將信任文件分發到指定服務器上服務器
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.28.159.103
三、配置ansible.cfg微信
[root@localhost ~]# vim /etc/ansible/ansible.cfg [defaults] private_key_file = /root/.ssh/id_rsa
四、主機組定義框架
[root@localhost ~]# vim /etc/ansible/hosts [test] localhost 192.168.56.103
五、簡單測試運維
[root@localhost ~]# ansible test -m ping 192.168.56.103 | SUCCESS => { "changed": false, "ping": "pong" } localhost | SUCCESS => { "changed": false, "ping": "pong" }
個人我的 微信公衆號:**Java編程社區** 歡迎你們的關注