AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

初步利用Ansible實(shí)現(xiàn)批量服務(wù)器自動(dòng)化管理

來(lái)源: 責(zé)編: 時(shí)間:2024-01-10 09:36:00 215觀看
導(dǎo)讀Ansible介紹Ansible是一款開源的自動(dòng)化運(yùn)維工具, 在2012年由Michael DeHaan創(chuàng)建, 現(xiàn)在由Red Hat維護(hù)。Ansible是基于Python開發(fā)的,采用YAML語(yǔ)言編寫自動(dòng)化腳本playbook, 可以在Linux、Unix等系統(tǒng)上運(yùn)行, 通過(guò)SSH協(xié)議

Ansible介紹

Ansible是一款開源的自動(dòng)化運(yùn)維工具, 在2012年由Michael DeHaan創(chuàng)建, 現(xiàn)在由Red Hat維護(hù)。Ansible是基于Python開發(fā)的,采用YAML語(yǔ)言編寫自動(dòng)化腳本playbook, 可以在Linux、Unix等系統(tǒng)上運(yùn)行, 通過(guò)SSH協(xié)議管理節(jié)點(diǎn), 無(wú)需在被管理節(jié)點(diǎn)安裝agent。Ansible以其簡(jiǎn)單、高效、無(wú)agent成為廣泛使用的自動(dòng)化工具, 可以應(yīng)用于配置管理、應(yīng)用部署、任務(wù)調(diào)度等。7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

Ansible能夠自動(dòng)管理遠(yuǎn)程系統(tǒng)和控制它們的期望狀態(tài), 一個(gè)基礎(chǔ)Ansible環(huán)境主要包含三大組件:7BY28資訊網(wǎng)——每日最新資訊28at.com

  • 控制節(jié)點(diǎn) - 安裝有Ansible的系統(tǒng)。我們可以在控制節(jié)點(diǎn)上運(yùn)行Ansible命令,如ansible或ansible-inventory。
  • 管理節(jié)點(diǎn) - Ansible控制的遠(yuǎn)程系統(tǒng)或主機(jī)。
  • 清單 - 在邏輯上組織起來(lái)的受控節(jié)點(diǎn)列表。在控制節(jié)點(diǎn)上創(chuàng)建清單,用來(lái)描述Ansible管理的主機(jī)部署。

架構(gòu)如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

Ansible安裝和配置

在我實(shí)驗(yàn)的環(huán)境中, 我分配了四臺(tái)虛擬機(jī),IP地址分別為:192.168.201.202 -205, 其中192.168.201.202是主控端, 需要在該機(jī)器上安裝Ansible; 另外從203-205的三臺(tái)機(jī)器為受控端, 接收從202發(fā)來(lái)的指令。這里我安裝的Linux系統(tǒng)為ubuntu 22.04.3 LTS版本,直接輸入以下命令安裝:7BY28資訊網(wǎng)——每日最新資訊28at.com

# apt install ansible

安裝完成后輸入命令: ansible --version查看版本號(hào),如圖:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

接下來(lái)需要配置管理hosts, 在目標(biāo)目錄新建一個(gè)名為hosts的清單文件:/etc/ansible/hosts, 注意:如果/etc/下沒有ansible目錄,需要手動(dòng)新建一個(gè)。7BY28資訊網(wǎng)——每日最新資訊28at.com

編輯hosts文件,輸入以下格式內(nèi)容,如圖:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

在標(biāo)簽名稱下的三個(gè)IP地址是我的另外三臺(tái)虛擬機(jī),它們將接收ansible的統(tǒng)一管理。保存退出。7BY28資訊網(wǎng)——每日最新資訊28at.com

在命令行輸入命令:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ansible all --list-hosts

該命令將驗(yàn)證清單中的主機(jī), 返回信息如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

在控制節(jié)點(diǎn)192.168.201.202中, 我們需要生成一個(gè)SSH的密鑰對(duì),輸入以下命令:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ssh-keygen -t rsa

中間提示一律按回車鍵即可, 結(jié)束后將在~/.ssh目錄下生成id_rsa和id_rsa.pub兩個(gè)密鑰文件,我們要將公鑰id_rsa.pub文件發(fā)送到三臺(tái)虛擬機(jī)上(192.168.201.203-205), 分別輸入以下命令:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ssh-copy-id root@192.168.201.203# ssh-copy-id root@192.168.201.204# ssh-copy-id root@192.168.201.205

執(zhí)行結(jié)果如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

接下來(lái)我們輸入以下命令進(jìn)行免密碼登錄驗(yàn)證:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

此時(shí), 我們可以輸入以下命令進(jìn)行批量主機(jī)管理測(cè)試:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ansible all -m ping

返回結(jié)果如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

可以看到, 三臺(tái)受管理的主機(jī)已經(jīng)全部Ping通。7BY28資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建清單

通過(guò)清單文件, Ansible可以通過(guò)單個(gè)命令管理大量主機(jī), 且可以通過(guò)減少需要指定的命令行選項(xiàng)數(shù)量來(lái)幫助我們更有效地使用Ansible,例如:清單通常包含SSH用戶, 因此在運(yùn)行Ansible命令時(shí)可以不需要包含-u參數(shù)來(lái)指定用戶名。7BY28資訊網(wǎng)——每日最新資訊28at.com

在任意目錄創(chuàng)建一個(gè)名為inventory.yaml的文件, 這里我把清單文件建在目錄: /home/inventory.yaml, 內(nèi)容如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

下面輸入命令進(jìn)行驗(yàn)證:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ansible-inventory -i inventory.yaml --list

注意一下 -i 參數(shù)后面的yaml文件路徑, 我這里是cd到y(tǒng)aml文件的當(dāng)前目錄了, 所以直接跟的文件名, 在實(shí)際應(yīng)用過(guò)程中需要根據(jù)情況進(jìn)行全路徑和相對(duì)路徑的選擇。7BY28資訊網(wǎng)——每日最新資訊28at.com

該命令執(zhí)行返回結(jié)果如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

接下來(lái)對(duì)清單中的受管節(jié)點(diǎn)執(zhí)行Ping操作, 執(zhí)行命令:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ansible virtualmachines -m ping -i inventory.yaml

返回結(jié)果如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建劇本(playbook)

劇本是Ansible用來(lái)部署和配置受管節(jié)點(diǎn)的自動(dòng)化藍(lán)圖,使用YAML格式編寫。7BY28資訊網(wǎng)——每日最新資訊28at.com

下面先解釋一下劇本的基本元素:7BY28資訊網(wǎng)——每日最新資訊28at.com

  • Play - 按順序排列的任務(wù)列表,與inventory中受管節(jié)點(diǎn)對(duì)應(yīng)映射。
  • 任務(wù)(task) - 定義Ansible要執(zhí)行的一個(gè)或多個(gè)模塊操作的列表。
  • 模塊:Ansible在受管節(jié)點(diǎn)上運(yùn)行的代碼單元或二進(jìn)制文件。Ansible的模塊按集合組織,每個(gè)模塊有一個(gè)完全限定的集合名稱(Fully Qualified Collection Name, FQCN)。

在上面的操作中,我們使用了ansible命令來(lái)ping清單中的主機(jī)。現(xiàn)在創(chuàng)建一個(gè)playbook,它不僅可以ping主機(jī),還可以打印“Hello world”消息。7BY28資訊網(wǎng)——每日最新資訊28at.com

繼續(xù)在/home目錄下創(chuàng)建一個(gè)名為playbook.yaml的文件, 輸入以下內(nèi)容:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

在該配置文件中, 我們定義了一個(gè)劇本的名稱、定義了hosts名稱和具體的任務(wù)(tasks), 其中任務(wù)項(xiàng)這里包含兩個(gè): Ping主機(jī)和打印消息。7BY28資訊網(wǎng)——每日最新資訊28at.com

接下來(lái)我們看看劇本效果如何, 輸入以下命令:7BY28資訊網(wǎng)——每日最新資訊28at.com

# ansible-playbook -i inventory.yaml playbook.yaml

返回結(jié)果如下:7BY28資訊網(wǎng)——每日最新資訊28at.com

7BY28資訊網(wǎng)——每日最新資訊28at.com

從結(jié)果來(lái)看,一切都OK, 成功執(zhí)行了我們的劇本并對(duì)三個(gè)目標(biāo)主機(jī)進(jìn)行了Ping。7BY28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-59678-0.html初步利用Ansible實(shí)現(xiàn)批量服務(wù)器自動(dòng)化管理

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 2023年最火前端項(xiàng)目憑什么是它?

下一篇: 全網(wǎng)最詳細(xì)MVCC講解,一篇看懂

標(biāo)簽:
  • 熱門焦點(diǎn)
Top