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

自動化創(chuàng)建UI并解析數據
自動化創(chuàng)建UI并解析數據
華納云:OpenStack是虛擬化管理平臺嗎?其工作原理是什么?
開關電源自動化測試設備:如何實現自動化測試?

評論