日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
配置管理工具--Ansible入門(mén)

Ansible是平時(shí)工作中經(jīng)常使用的一款軟件,特別有些命令需要同時(shí)在眾多服務(wù)器運(yùn)行時(shí),Ansible就顯得不可或缺。準(zhǔn)備寫(xiě)幾篇文章,做成一個(gè)系列介紹Ansible,主要覆蓋工作中常用的場(chǎng)景,力求簡(jiǎn)潔實(shí)用。本篇是開(kāi)篇。

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)長(zhǎng)嶺,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):028-86922220

Ansible是一種配置管理工具,和Salt、Chef、Puppet功用一樣。對(duì)于系統(tǒng)管理員,平時(shí)有不少工作內(nèi)容是給服務(wù)器安裝軟件,更改配置等,服務(wù)器兩三臺(tái)的話(huà),單個(gè)登錄,執(zhí)行安裝配置命令還可以應(yīng)付,幾十上百臺(tái)的話(huà),可能就力不從心了,這時(shí)就需要配置管理工作如Ansible的幫助,你可以像管理一臺(tái)服務(wù)器那樣管理成百上千臺(tái)服務(wù)器,想想就舒服。

一、工作原理

Ansible基于Python的paramiko模塊開(kāi)發(fā)(paramiko模塊是純Python的SSH協(xié)議實(shí)現(xiàn)),Ansible通過(guò)SSH協(xié)議推送自身模塊到被管理服務(wù)器,執(zhí)行完成后自動(dòng)刪除并退出。這些模塊就是實(shí)現(xiàn)特定功能的代碼(不限于Python代碼實(shí)現(xiàn)),實(shí)際上只要可以返回要求格式的json格式就可以,對(duì)實(shí)現(xiàn)模塊的語(yǔ)言沒(méi)有要求。

一句話(huà)概括,Ansible依賴(lài)paramiko實(shí)現(xiàn)的SSH協(xié)議推送實(shí)現(xiàn)特定功能的模塊到目標(biāo)服務(wù)器執(zhí)行,完成后刪除并退出。

二、相關(guān)概念

  • 模塊:實(shí)現(xiàn)特定功能的代碼,安裝ansible會(huì)自帶,也可以自己實(shí)現(xiàn)。
  • 插件:模塊功能的補(bǔ)充,有連接插件、郵件插件等。
  • Playbook:即編排腳本,一些復(fù)雜的安裝維護(hù)工作,比如有很多依賴(lài)的安裝配置,可以使用Playbook腳本。
  • Inventory:定義Ansible管理的主機(jī),配置到Inventory文件的服務(wù)器Ansible才可以感知到。

三、安裝配置

(1)安裝

很多Linux發(fā)行版的包管理工具中都內(nèi)置Ansible,筆者使用的系統(tǒng)是CentOS 7.9(Python版本為3.6.8),可以使用“yum install ansible”來(lái)安裝,但是包管理工具安裝的版本一般比較老,這里使用pip命令來(lái)安裝,有一點(diǎn)要注意,因?yàn)镻ython 2.7已經(jīng)不再維護(hù),這里使用Python3來(lái)安裝Ansible。

python3 -m pip install ansible

這樣就完成了管理主機(jī)的Ansible安裝。被管理主機(jī)雖然不需要像Salt那樣安裝agent,但是SSH和Python還是需要的,如果沒(méi)有,記得安裝。

(2)配置

  • ansible.cfg:Ansible的配置文件,可以將一些默認(rèn)選項(xiàng)寫(xiě)到里面。
  • inventory:包含需要管理的服務(wù)器信息,比如下面。
[db]
192.168.52.128

[web]
192.168.52.131
192.168.52.132

四、命令使用

Ansible主要有兩種使用場(chǎng)景,簡(jiǎn)單的命令執(zhí)行可以直接運(yùn)行“ansible”命令,不需要“playbook.yaml”文件,比如查找服務(wù)器的當(dāng)前負(fù)載。執(zhí)行命令之前,配置被管理主機(jī)的SSH免密登錄,這樣可以減少很多工作。使用上面的inventory文件。

[aneirin@a ansible]$ ansible -i inventory web -m command -a uptime
192.168.52.131 | CHANGED | rc=0 >>
15:52:36 up 8:38, 2 users, load average: 0.46, 0.83, 0.66
192.168.52.132 | CHANGED | rc=0 >>
15:52:37 up 8:40, 2 users, load average: 0.14, 0.43, 0.35

ansible命令參數(shù)包含兩個(gè)部分:“-i inventory web”指明要操作的對(duì)象為inventory文件中的web主機(jī)組;“-m command -a uptime”,使用command模塊,模塊參數(shù)為“uptime”。

工作中一般這樣使用,創(chuàng)建一個(gè)工作目錄:ansible-tasks,目錄中創(chuàng)建如下文件。

[aneirin@host ansible-tasks]$ tree 
.
├── ansible.cfg
└── hosts
0 directories, 2 files

ansible.cfg:

[aneirin@host ansible-tasks]$ cat ansible.cfg 
[defaults]
host_key_checking = False
inventory = hosts

上面的命令便可以這樣運(yùn)行:“ansible web -a uptime”,因?yàn)閏ommand模塊是ansible的默認(rèn)模塊,可以不用寫(xiě),僅寫(xiě)參數(shù)就行了。

最后,將Ansible的工作目錄“ansible-tasks”用類(lèi)似git的版本管理工具管理起來(lái),方便回退。


本文名稱(chēng):配置管理工具--Ansible入門(mén)
文章位置:http://www.5511xx.com/article/dhjsihi.html