自動化運維Ansible安裝篇

Ansible自動化工具之--部署篇

ansible是新出現的自動化運維工具,基於Python開發,集合了衆多運維工具(puppet、cfengine、chef、func、fabric)的優勢,實現了批量系統配置、批量程序部署、批量運行命令等功能。 ansible是基於模塊工做的,自己沒有批量部署的能力。真正具備批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括:

(1)、鏈接插件connection plugins:負責和被監控端實現通訊;html

(2)、host inventory:指定操做的主機,是一個配置文件裏面定義監控的主機;python

(3)、各類模塊核心模塊、command模塊、自定義模塊;c++

(4)、藉助於插件完成記錄日誌郵件等功能;git

(5)、playbook:劇本執行多個任務時,非必需可讓節點一次性運行多個任務。github

如何安裝Ansible

環境介紹

官網安裝Ansible的幾種方式 參考一下 ,接下來給你們的介紹的是經過pip的方式安裝ansible的2.3.2版本.
本次使用的是Centos6.7版本操做系統,因此在安裝ansible以前須要把默認的python2.6.6版本升級至python2.7.5版本

Python升級

安裝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
pip安裝Ansible

更換鏡像源: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:
建立pip軟鏈接: ln -s /usr/local/bin/pip /usr/bin/pip
制定版本安裝ansible: pip install ansible==2.3.2.0

查看ansible版本: ansible --versionvim

Ansible基本配置
ansible是輕量級的自動化批量管理工具,無需客戶端安裝agent就能夠操做遠程主機,下面介紹兩種hosts配置方式,在介紹以前pip安裝的ansible是沒有配置文件的,須要手動建立配置文件目錄。
建立ansible目錄,默認是在/etc/目錄下
  mkdir /etc/ansible
建立配置文件
  touch /etc/ansible/ansible.conf
基本配置信息:
  [defaults]
  inventory = /etc/ansible/hosts
  forks = 5
  log_path=/var/log/ansible.log
  host_key_checking = False
  [accelerate]
  accelerate_port = 5099
  accelerate_timeout = 30
  accelerate_connect_timeout = 5.0
基礎配置,根據需求自行添加配置文件
Ansible運行前的最後一次配置hosts

hosts配置參數

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

相關文章
相關標籤/搜索