第1章 ansible軟件概念說明
python語言是運維人員必會的語言,而ansible是一個基于Python開發的自動化運維工具 (saltstack)。其功能實現基于SSH遠程連接服務;ansible可以實現批量系統配置、批量軟件部署、批量文件拷貝、批量運行命令等功能
ansible軟件相關參考鏈接信息:
http://docs.ansible.com/ansible/intro_installation.htmlhttp://www.ansible.com.cn/http://docs.ansible.com/modules_by_category.htmlhttp://www.ansible.cn/docs/
1.1 軟件特點概述
01.不需要單獨安裝客戶端(no agents),基于系統自帶的sshd服務,sshd就相當于ansible的客戶端
02.不需要服務端(no servers)
03.需要依靠大量的模塊實現批量管理
04.配置文件/etc/ansible/ansible.cfg(無需配置)
1.2 企業級生產場景批量管理-自動化管理方案
01.最簡單/最常用/最強大的選擇是ssh key+shell/pssh方案,一般中小型企業會用(50-100臺以下規模企業)
a.利用ssh key執行命令,并將命令放在腳本里面
b.利用ssh key執行命令,將命令放在腳本里面,并加上相應循環語句或判斷語句
02.sina cfengine/puppet較早的批量管理工具(現在基本上沒有企業用)
03.門戶級別比較流行的,puppet批量管理工具(復雜/笨重)
04.saltstack批量管理工具;特點:簡單,功能強大(配置復雜)---趕集網/小米/ CDN公司
批量管理路線:ssh key-->cfengine-->puppet-->saltstack/ansible
注意:使用ansible軟件的前提是ssh key公鑰分發完成
1.3 實現集群規模架構一鍵部署自動化-步驟說明
01.5臺服務器先配置好(kickstart,cobbler無人值守安裝),高級實現云計算(按需分配,動態調整)-openstack,kvm
02.linux基本優化,包括ssh服務(可以自動化實現)
03.創建密鑰信息(自動化免交互創建)
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null 2>&1
04.進行批量分發密鑰(sshpass,expect自動化實現)
05.ansible軟件安裝(自動化實現)
06.網絡服務自動化安裝(ansible實現)
搭建yum倉庫,定制rpm包
第2章 ansible軟件實踐部署
ansible軟件部署安裝需求
01. 需要有epel源
系統yum源(base epel--pip gem)
sshpass---epel
02. ssh+key免密碼環境必須部署完成
2.1 ansible地址規劃
| 服務器名稱 | 網卡eth0 | 網卡eth1 | 用途說明 | 
| m01 | 10.0.0.61 | 172.16.1.61 | 批量管理服務器 | 
| nfs01 | 10.0.0.31 | 172.16.1.31 | nfs共享存儲服務器 | 
| backup | 10.0.0.41 | 172.16.1.41 | rsync備份服務器 | 
| web01 | 10.0.0.8 | 172.16.1.8 | web服務器 | 
| 說明:無特殊說明,子網掩碼均為255.255.255.0,一個C類網段254臺機器規模 | |||
新聞熱點
疑難解答