(1)、鏈接插件connection plugins:負責和被監控端實現通訊;html
(2)、host inventory:指定操做的主機,是一個配置文件裏面定義監控的主機;python
(3)、各類模塊核心模塊、command模塊、自定義模塊;c++
(4)、藉助於插件完成記錄日誌郵件等功能;git
(5)、playbook:劇本執行多個任務時,非必需可讓節點一次性運行多個任務。github
安裝python2.7.5版本
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel gcc-c++
tar xf Python-2.7.5.tar.gz
編譯與安裝Python
cd Python-2.7.5
./configure –prefix=/usr/local
make && make install
make clean
make distclean
將系統python命令指向Python 2.7
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
將yum須要執行的python指定爲2.6.6
vi /usr/bin/yum
將文件頭部的
#!/usr/bin/python
改爲
#!/usr/bin/python2.6.6
更換鏡像源:OPSX源站web
根據系統版本選擇合適的源:{centos,epel,pip}sql
下載get-pip.py文件: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pyshell
安裝pip: python get-pip.pybootstrap
查看ansible版本: ansible --versionvim
ansible_ssh_host #用於指定被管理的主機的真實IP
ansible_ssh_port #用於指定鏈接到被管理主機的ssh端口號,默認是22
ansible_ssh_user #ssh鏈接時默認使用的用戶名
ansible_ssh_pass #ssh鏈接時的密碼
ansible_sudo_pass #使用sudo鏈接用戶時的密碼
ansible_sudo_exec #若是sudo命令不在默認路徑,須要指定sudo命令路徑 ansible_ssh_private_key_file #祕鑰文件路徑,祕鑰文件若是不想使用ssh-agent管理時可使用此選項
ansible_shell_type #目標系統的shell的類型,默認sh
ansible_connection #SSH 鏈接的類型: local , ssh , paramiko,在 ansible 1.2 以前默認是 paramiko ,後來智能選擇,優先使用基於 ControlPersist 的 ssh (支持的前提)
ansible_python_interpreter #用來指定python解釋器的路徑,默認爲/usr/bin/python 一樣能夠指定ruby 、perl 的路徑
ansible_*_interpreter #其餘解釋器路徑,用法和ansible_python_interpreter相似,這裏"*"能夠是ruby或才perl等其餘語言
hosts配置文件可用兩種方式配置:
一、ssh
二、密鑰
本次介紹使用ssh的方式配置hosts文件來控制主機
vim /etc/ansible/hosts
[web-202]
10.244.78.202 ansible_ssh_user=root ansible_ssh_pass=qwe`123
[web-204]
10.244.78.204 ansible_ssh_user=root ansible_ssh_pass=qwe`123
[web-206]
10.244.78.206 ansible_ssh_user=root ansible_ssh_pass=qwe`123
[webserver:children]
web-202
web-204
web-206