Ansible簡介與安裝

2021-07-10 05:54:39 字數 1452 閱讀 6778

當我們在部署多台伺服器軟體環境的時候,10臺機器以內我們還可以自己每台都去布置一下,但是當需要部署的機器繼續增多的時候比如 30臺,40臺,甚至上百臺的時候。每台都去乙個乙個布置就不太現實了,而且這樣做也顯得很沒有技術含量。。。。。。。運維工程師一般會通過一寫自動化運維工具去做這些事情。一些

常用的自動化運維工具有,puppet,saltstack , ansible .....

puppet:

基於 ruby 開發,採用 c/s 架構,擴充套件性強,基於 ssl,遠端命令執行相對較弱

saltstack:

基於 python 開發,採用 c/s 架構,相對 puppet 更輕量級,配置語法使用 ymal,使得配置

指令碼更簡單

三個對比了一下,因為不是專業運維,還有就是線上的機器運維已經部署了 pupet 的 client, 為避免影響運維的操作,我們可以採用不需要client端的ansible。

1. 什麼是ansible

基於 paramiko

開發的,paramiko是乙個純python實現的ssh協議庫。因此ansible不需要在遠端主機上安裝client/agents,因為它們是基於ssh來和遠端主機通訊的。

ansible:

基於 python paramiko 開發,分布式,無需客戶端,輕量級,配置語法使用 ymal 及 jinja2

模板語言,更強的遠端命令執行操作。

2. ansible 工作機制

ansible 在管理節點將 ansible 模組通過 ssh 協議(或者 kerberos、ldap)推送到被管理端執

行,執行完之後自動刪除,可以使用 svn 等來管理自定義模組及編排

由上面的圖可以看到 ansible 的組成由 5 個部分組成:

ansible:核心

modules:包括 ansible 自帶的核心模組及自定義模組

plugins:完成模組功能的補充,包括連線外掛程式、郵件外掛程式等

playbooks:網上很多翻譯為劇本,怎麼叫無所謂啦;定義 ansible 多工配置文

件, 由ansible 自動執行,playbook語法由yaml編寫

inventory:定義 ansible 管理主機的清單

因為ansible是python開發的,所以這樣安裝就可以了

sudo esay_install ansible# 或者

sudo pip install ansible

例外也可以這樣:直接用 yum, apt

# install the epel-release rpm if needed on centos, rhel, or scientific linux$ sudo yum install ansible

其他的安裝方法可以參考 

Ansible介紹與安裝

ansible是一款自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所執...

ansible模組簡介

以上鏈結是詳細介紹 一 copy模組 把主控端檔案拷貝到指定節點上 ansible 主機名 m copy a src 原路徑 dest 目標路徑 二 file模組 目的 更改指定節點檔案屬性 ansible 主機名file a dest 目標路徑 mode 755 其中mode是修改目標路徑的屬性 ...

ansible劇本編寫簡介

一 劇本檔案組成部分 劇本的角色 play 定義的是主機資訊 劇本的任務 task 定義的是具體任務 playbook組成部分 1 乙個playbook有多個play組成 2 乙個play可以包含多個task任務 3 簡單理解為使用多個模組功能完成一件事 二 劇本檔案優勢特點 1 實現自動化功能更加...