linux運維工程師面試常見問題整理6--自動化運維篇(持續更新ing)
阿新 • • 發佈:2018-12-21
ansible puppet saltstack 有什麼區別
ansible是一個基於python開發的輕量級自動化運維管理工具,可以用來批量執行命令,安裝程式,支援playbook編排。它通過ssh協議來連線主機,去中心化,相對比puppet和saltstack無需安裝客戶即可實現檔案傳輸、命令執行、應用部署、配置管理、任務編排等,顯得更為簡單與輕量。ansible只是提供一種框架,其基於模組工作的,本身沒有批量部署。
Puppet是一款使用GPLV2X協議授權的開源管理配置工具,用Ruby語言開發。其既可以通過客戶端–伺服器的方式執行,也可以獨立執行。Puppet可以為系統管理員提供方便、快捷的系統自動化管理。對於系統管理員來說通過Puppet配置管理系統,底層的作業系統的發行版本是透明的,Puppet通過(Provider又稱提供者)屬性來完成軟體的配置與安裝,管理員不必關心作業系統的種類與發行版本。
SaltStack是一個伺服器基礎架構集中化管理平臺,具備配置管理、遠端執行、監控等功能,一般可以理解為簡化版的puppet和加強版的func。SaltStack基於Python語言實現,結合輕量級訊息佇列(ZeroMQ)與Python第三方模組(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)構建。通過部署SaltStack環境,我們可以在成千上萬臺伺服器上做到批量執行命令,根據不同業務特性進行配置集中化管理、分發檔案、採集伺服器資料、作業系統基礎及軟體包管理等,SaltStack是運維人員提高工作效率、規範業務配置與操作的利器。