Ansible 學習記錄 (二)基礎介紹
Ansible的優點:
Agentless (去中心化)
Stupied Simple
SSH by default
YAML no code
Ansible 使用場景:
文件傳輸,
(1)scp mv cp rsync
命令執行:
(2)
剩下的其他命令
安裝http服務:
安裝()
配置()
啟動服務(本機的服務啟動)
讓服務對用戶提供服務(路由器配置,iptables)
Ansible應用場景分析:
(1)、Dev開發環境
使用者:程序員
功能:程序員開發軟件測試Bug的環境
管理者:千萬不能是運維,一定要是程序員自己
(2)、Dev測試環境
使用者:測試工程師
功能:測試經過Dev測試通過的軟件的功能
管理者:運維工程師
備註:測試環境往往有多套;(測試環境滿足測試功能,不宜過多)
(1)測試同學希望測試環境有多套;
公司的產品多產品線開發,即多個版本,意味著多個版本同步測試
(2)通常情況下,測試環境有多少套和產品線保持一致即可
(3)Dev發布環境(代碼發布機,有些公司是堡壘機(安全憑證))
使用者:運維工程師
功能:發布代碼至生產環境
管理者:運維工程師(有經驗)
發布機:往往需要有2臺(主備)
(4)、DEV生產環境
使用者:運維,只能是運維,(極少數情況下會開放權限給核心開發人員,極少數公司將該環境權限完全開放給開發人員並讓開發人員維護)
功能:對用戶提供公司的產品服務
管理者:只能是運維
生產環境服務器數量,一般比較多,且應用非常重要,往往需要自動化工具協助部署配置應用,機器數量具體和公司業務規模相關
(5)灰度環境:
使用者:運維
功能:在全量發布代碼將代碼面向少量精準用戶發布的環境
案例:
大家手頭有100臺服務器,先發布應用到其中的10臺,這10臺服務器就是灰度服務器。
管理者:只能是運維
為什麽需要灰度環境:往往該版本功能變更較大,再全量發布至所有服務器
Ansible1.x和2.x的區別:
(1)、1.9和2.0的API調用方式發生變化,1.9原有的API調用方式2.0不再支持
(2)、2.0增加了重要功能,ansible-console
(3)、2.0模塊增加很多,500多個模塊的數量
重要文件和目錄:
/etc/ansible
/etc/ansible/ansible.cfg 主機配置文件
/etc/ansible/hosts 執行主機配置文件
/etc/ansible/roles Roles默認保存目錄
/usr/bin/ansible 臨時命令執行工具
/usr/bin/ansible-console 命令執行控制臺,可與用戶進行交互
/usr/bin/ansible-doc 模塊功能查詢工具
/usr/bin/ansible-galaxy Roles模塊的官方網絡平臺
/usr/bin/ansible-playbook 定制自動化任務的編排工具
/usr/bin/ansible-pull ansible 拉模式
/usr/bin/ansible-vault 加密程序
/usr/lib/python2.7/site-packages/ansible Python路徑信息
Ansible 高級自定義插件目錄(需要python基礎)
action
callback
connection
filter
lookup
vars
Ansible 學習記錄 (二)基礎介紹