本文旨在提供有關(guān)除 VMware 之外的另一種配置虛擬機方法的見解。目標(biāo)受眾包括但不限于處理虛擬機自動化的軟件開發(fā)人員。由于 VMware 的服務(wù)提供商許可證及其支持 vRealize、vCenter 和其他工具的基礎(chǔ)架構(gòu)費用高昂,我們利用我們的資源將一種經(jīng)濟高效的替代方法組合在一起,以完成相同的任務(wù)。我們的解決方案是一種利用開源技術(shù)的方法,這些技術(shù)具有使用 Ansible Tower 的 DevOps 方法與 OpenStack 交互,這些方法通過 playbook 實現(xiàn)以配置虛擬機。我們將這項技術(shù)集成到我們的網(wǎng)絡(luò)靶場中???軟件,在本文中描述為案例研究,以證明該方法是成功的。
介紹
本文介紹了 Ansible Tower 如何成為使用劇本從 OpenStack 創(chuàng)建、部署和配置虛擬機的最簡單方法之一。系統(tǒng)性能、IT 自動化、復(fù)雜系統(tǒng)的部署和速度生產(chǎn)力是軟件開發(fā)中與虛擬機交互的關(guān)鍵標(biāo)準(zhǔn)。所有這些功能都可以在 Ansible Tower 中使用,它具有 REST API,可以輕松地將其嵌入到現(xiàn)有工具和流程中。使用 Ansible Tower 作為開源工具,用戶可以在其中請求新的 IT 服務(wù)并管理特定的云和 IT 資源,從而實現(xiàn)一個安全的門戶,用于自動化應(yīng)用程序部署和升級,以及網(wǎng)絡(luò)和安全軟件的配置。
為什么選擇安思布爾?
Ansible 是一個簡單的自動化工具,可以完美地描述 IT 應(yīng)用程序基礎(chǔ)架構(gòu)。它易于學(xué)習(xí),自我記錄,并且不需要研究生水平的計算機科學(xué)學(xué)位即可閱讀。自動化不應(yīng)該比它所取代的任務(wù)更復(fù)雜。?
簡單
人類可讀的自動化
無需特殊的編碼技能
按順序執(zhí)行的任務(wù)
快速提高工作效率
強
應(yīng)用部署
配置管理
工作流編排
編排應(yīng)用生命周期
無代理
無代理架構(gòu)
使用 OpenSSH 和 WinRM
無需利用或更新代理
可預(yù)測、可靠且安全
什么是Ansible Tower?
Ansible Tower 是一個基于 Web 的用戶界面,用于管理 Ansible。它通過可視化儀表板集中和控制 Ansible 基礎(chǔ)架構(gòu)。它可以稱為自動化任務(wù)的中心。
安斯布爾塔
用于管理 Ansible 的基于 Web 的用戶界面
通過可視化儀表板集中和控制 Ansible 基礎(chǔ)架構(gòu)
為 Ansible 提供 REST API
安斯布爾
是一個開源的自動化工具
旨在讓任何人都易于理解和學(xué)習(xí)
不需要自定義腳本或代碼
提供自動化引擎
管理網(wǎng)絡(luò)、基礎(chǔ)設(shè)施、操作系統(tǒng)
提供用于管理和配置主機的預(yù)構(gòu)建模塊(超過 450 個)
提供基于 Python 的 API?
使用 OpenSSH
通過行動手冊提供自動化和編排。
什么是OpenStack?
OpenStack 是一個云操作系統(tǒng),可控制整個數(shù)據(jù)中心的大型計算、存儲和網(wǎng)絡(luò)資源池,所有這些都通過儀表板進(jìn)行管理,該儀表板使管理員能夠控制,同時授權(quán)其用戶通過 Web 界面配置資源。它是一個開源項目,提供基礎(chǔ)架構(gòu)即服務(wù)平臺來構(gòu)建云感知應(yīng)用程序,并支持多個虛擬機管理程序來配置和編排云。它可以運行多層工作負(fù)載或開源開發(fā)工具。最終用戶可以輕松調(diào)配資源并支持幾乎所有虛擬機管理程序,包括 VMware ESXi、Xen 和 KVM。
為什么選擇OpenStack?
OpenStack可輕松與Ansible Tower,VMware虛擬機管理程序和Hyper-V集成,以利用現(xiàn)有基礎(chǔ)架構(gòu)。OpenStack 和 KVM 虛擬機管理程序是免費的,但需要熟練的管理員進(jìn)行配置。OpenStack 是一個用于部署、開發(fā)和構(gòu)建云平臺的開源平臺。它是一個命令行界面,功能強大,具有管理,API和RESTful Web服務(wù)以及基于Web的控制面板控件。這個開源云軟件用于管理計算(Nova),塊存儲(Cinder),虛擬機映像服務(wù)(Glance)和網(wǎng)絡(luò)結(jié)構(gòu)(Neutron)。OpenStack 是一個基礎(chǔ),它不僅簡化了部署過程,還簡化了開發(fā)、存儲、網(wǎng)絡(luò)、監(jiān)控、管理和應(yīng)用程序。
開放堆棧
開源:該技術(shù)由龐大的開發(fā)人員社區(qū)提供支持
為客戶提供價值、效率和敏捷性
由模塊化、可擴展且靈活的實用程序集組成
經(jīng)過大型企業(yè)的嘗試和測試
互操作性和開源 API 允許管理員管理混合 IT 環(huán)境,而無需額外的開銷層
安斯布爾行動手冊
行動手冊是一個 YAML 文件,它描述了要對一組主機執(zhí)行的任務(wù)列表,這些主機在 Ansible 清單中定義。劇本由一個或多個重頭戲組成,用于對任務(wù)進(jìn)行分組。它定義虛擬機名稱、VMDK 文件、網(wǎng)絡(luò)連接、IP 地址和場景信息。行動手冊是真正簡單的配置管理和多機部署系統(tǒng)的基礎(chǔ)。行動手冊可以聲明配置,但它們也可以協(xié)調(diào)任何手動排序流程的步驟。
劇本
定義要在主機上執(zhí)行的任務(wù)
任務(wù)按劇本中的順序執(zhí)行
亞姆格式
圖1.示例劇本。
OpenStack 與 Ansible 的交互
Ansible 行動手冊定義了 OpenStack 環(huán)境中的一系列任務(wù)和配置。任務(wù)的示例包括預(yù)配虛擬機實例、定義虛擬機的 IP 以及用于將虛擬機聯(lián)網(wǎng)的交換機。
案例研究:網(wǎng)絡(luò)靶場是一個現(xiàn)實生活中的軟件
網(wǎng)絡(luò)靶場為客戶提供可擴展的虛擬化平臺,用于網(wǎng)絡(luò)安全培訓(xùn)、建模、模擬和高級分析。我們?yōu)槎鄠€客戶提供解決方案,包括美國國防部、新加坡網(wǎng)絡(luò)安全局 (CSA/SITSA) 和日本九州大學(xué)。
用戶單擊開始按鈕開始練習(xí)(動手網(wǎng)絡(luò)安全培訓(xùn))。
網(wǎng)絡(luò)靶場軟件使用 POST 請求通過 REST API 將訓(xùn)練場景名稱和用戶名調(diào)用到 Ansible Tower。
Ansible Tower 執(zhí)行練習(xí)手冊任務(wù),并向 OpenStack 提供配置信息。此信息包括虛擬機映像和網(wǎng)絡(luò)連接信息。
OpenStack 配置虛擬機映像并配置網(wǎng)絡(luò)。
OpenStack 將狀態(tài)返回給 Ansible Tower,Ansible Tower 將狀態(tài)返回給 Web 應(yīng)用程序。
如果狀態(tài)為成功,網(wǎng)絡(luò)靶場軟件將顯示 Windows 或 Linux 圖標(biāo),該圖標(biāo)啟用超鏈接以打開控制臺。
圖2.Cyber Range Web 應(yīng)用程序通過 REST API 與 Ansible 和 OpenStack 交互。
總結(jié)
通過將 Ansible Tower 與 OpenStack 集成到 Cyber Range 軟件中,我們能夠構(gòu)建一個應(yīng)用程序,為全球客戶提供按需培訓(xùn)和真實場景。將 Ansible REST API 與行動手冊集成,極大地利用了配置到更系統(tǒng)化的自動化流程所需的許多代碼。我們可以將本文的關(guān)鍵點總結(jié)如下:
Ansible 可以自動執(zhí)行各種 IT 任務(wù),包括系統(tǒng)配置、軟件包安裝、網(wǎng)絡(luò)配置和安全性,以及云服務(wù)的實例配置。
使用 playbook 的方法可能需要在部署期間運行自定義腳本,該方法簡化了編排和配置虛擬機的任務(wù),以及部署可能包含自定義網(wǎng)絡(luò)中多個虛擬機的復(fù)雜方案。
使用劇本逐個執(zhí)行命令的過程單元稱為任務(wù)。
要使用 Ansible 實現(xiàn) OpenStack 自動化,需要 OpenStack、Ansible、Ansible Tower 和源代碼控制(例如 Git 存儲庫)。
我們建議考慮將Ansible和OpenStack用于ADI公司其他云項目的自動化和云基礎(chǔ)設(shè)施部署。
審核編輯:郭婷
-
源代碼
+關(guān)注
關(guān)注
96文章
2944瀏覽量
66673 -
虛擬機
+關(guān)注
關(guān)注
1文章
908瀏覽量
28109
發(fā)布評論請先 登錄
相關(guān)推薦
評論