日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

初步利用Ansible實現批量服務器自動化管理

來源: 責編: 時間:2024-01-10 09:36:00 193觀看
導讀Ansible介紹Ansible是一款開源的自動化運維工具, 在2012年由Michael DeHaan創建, 現在由Red Hat維護。Ansible是基于Python開發的,采用YAML語言編寫自動化腳本playbook, 可以在Linux、Unix等系統上運行, 通過SSH協議

Ansible介紹

Ansible是一款開源的自動化運維工具, 在2012年由Michael DeHaan創建, 現在由Red Hat維護。Ansible是基于Python開發的,采用YAML語言編寫自動化腳本playbook, 可以在Linux、Unix等系統上運行, 通過SSH協議管理節點, 無需在被管理節點安裝agent。Ansible以其簡單、高效、無agent成為廣泛使用的自動化工具, 可以應用于配置管理、應用部署、任務調度等。eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

Ansible能夠自動管理遠程系統和控制它們的期望狀態, 一個基礎Ansible環境主要包含三大組件:eAv28資訊網——每日最新資訊28at.com

  • 控制節點 - 安裝有Ansible的系統。我們可以在控制節點上運行Ansible命令,如ansible或ansible-inventory。
  • 管理節點 - Ansible控制的遠程系統或主機。
  • 清單 - 在邏輯上組織起來的受控節點列表。在控制節點上創建清單,用來描述Ansible管理的主機部署。

架構如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

Ansible安裝和配置

在我實驗的環境中, 我分配了四臺虛擬機,IP地址分別為:192.168.201.202 -205, 其中192.168.201.202是主控端, 需要在該機器上安裝Ansible; 另外從203-205的三臺機器為受控端, 接收從202發來的指令。這里我安裝的Linux系統為ubuntu 22.04.3 LTS版本,直接輸入以下命令安裝:eAv28資訊網——每日最新資訊28at.com

# apt install ansible

安裝完成后輸入命令: ansible --version查看版本號,如圖:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

接下來需要配置管理hosts, 在目標目錄新建一個名為hosts的清單文件:/etc/ansible/hosts, 注意:如果/etc/下沒有ansible目錄,需要手動新建一個。eAv28資訊網——每日最新資訊28at.com

編輯hosts文件,輸入以下格式內容,如圖:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

在標簽名稱下的三個IP地址是我的另外三臺虛擬機,它們將接收ansible的統一管理。保存退出。eAv28資訊網——每日最新資訊28at.com

在命令行輸入命令:eAv28資訊網——每日最新資訊28at.com

# ansible all --list-hosts

該命令將驗證清單中的主機, 返回信息如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

在控制節點192.168.201.202中, 我們需要生成一個SSH的密鑰對,輸入以下命令:eAv28資訊網——每日最新資訊28at.com

# ssh-keygen -t rsa

中間提示一律按回車鍵即可, 結束后將在~/.ssh目錄下生成id_rsa和id_rsa.pub兩個密鑰文件,我們要將公鑰id_rsa.pub文件發送到三臺虛擬機上(192.168.201.203-205), 分別輸入以下命令:eAv28資訊網——每日最新資訊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

執行結果如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

接下來我們輸入以下命令進行免密碼登錄驗證:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

此時, 我們可以輸入以下命令進行批量主機管理測試:eAv28資訊網——每日最新資訊28at.com

# ansible all -m ping

返回結果如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

可以看到, 三臺受管理的主機已經全部Ping通。eAv28資訊網——每日最新資訊28at.com

創建清單

通過清單文件, Ansible可以通過單個命令管理大量主機, 且可以通過減少需要指定的命令行選項數量來幫助我們更有效地使用Ansible,例如:清單通常包含SSH用戶, 因此在運行Ansible命令時可以不需要包含-u參數來指定用戶名。eAv28資訊網——每日最新資訊28at.com

在任意目錄創建一個名為inventory.yaml的文件, 這里我把清單文件建在目錄: /home/inventory.yaml, 內容如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

下面輸入命令進行驗證:eAv28資訊網——每日最新資訊28at.com

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

注意一下 -i 參數后面的yaml文件路徑, 我這里是cd到yaml文件的當前目錄了, 所以直接跟的文件名, 在實際應用過程中需要根據情況進行全路徑和相對路徑的選擇。eAv28資訊網——每日最新資訊28at.com

該命令執行返回結果如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

接下來對清單中的受管節點執行Ping操作, 執行命令:eAv28資訊網——每日最新資訊28at.com

# ansible virtualmachines -m ping -i inventory.yaml

返回結果如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

創建劇本(playbook)

劇本是Ansible用來部署和配置受管節點的自動化藍圖,使用YAML格式編寫。eAv28資訊網——每日最新資訊28at.com

下面先解釋一下劇本的基本元素:eAv28資訊網——每日最新資訊28at.com

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

在上面的操作中,我們使用了ansible命令來ping清單中的主機。現在創建一個playbook,它不僅可以ping主機,還可以打印“Hello world”消息。eAv28資訊網——每日最新資訊28at.com

繼續在/home目錄下創建一個名為playbook.yaml的文件, 輸入以下內容:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

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

接下來我們看看劇本效果如何, 輸入以下命令:eAv28資訊網——每日最新資訊28at.com

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

返回結果如下:eAv28資訊網——每日最新資訊28at.com

eAv28資訊網——每日最新資訊28at.com

從結果來看,一切都OK, 成功執行了我們的劇本并對三個目標主機進行了Ping。eAv28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-59678-0.html初步利用Ansible實現批量服務器自動化管理

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 2023年最火前端項目憑什么是它?

下一篇: 全網最詳細MVCC講解,一篇看懂

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 北海市| 清新县| 琼海市| 明光市| 渭源县| 新乐市| 昌乐县| 运城市| 裕民县| 镇雄县| 沅江市| 班玛县| 雷州市| 横山县| 利辛县| 全南县| 邢台市| 永嘉县| 开阳县| 永宁县| 浦江县| 大丰市| 沭阳县| 开化县| 瓦房店市| 礼泉县| 兴城市| 麟游县| 安多县| 九龙坡区| 富蕴县| 高密市| 揭东县| 霍林郭勒市| 天等县| 吉木乃县| 鲁甸县| 浑源县| 株洲县| 兴和县| 桃江县|