Moinul Islam
摘要
本文旨在就置備虛擬機(jī)(除VMware以外)的一種替代方法提供一些見解。目標(biāo)受眾包括但不限于處理虛擬機(jī)自動(dòng)化問題的軟件開發(fā)人員。由于VMware的服務(wù)提供商許可證及其支持vRealize、vCenter和其他工具的基礎(chǔ)設(shè)施成本高昂,我們整合我們的資源,開發(fā)出了一種同樣能夠完成任務(wù),但更經(jīng)濟(jì)高效的替代方法。我們的解決方案采用開源技術(shù),利用使用Ansible Tower®的DevOps方法來與OpenStack®交互,通過playbook進(jìn)行實(shí)現(xiàn),用于置備虛擬機(jī)。我們將此技術(shù)集成到我們的Cyber Range™軟件中,本文將它作為一個(gè)案例研究,以證明這種方法行之有效。
簡介
本文介紹為何Ansible Tower是使用playbook,在OpenStack中創(chuàng)建、部署和配置虛擬機(jī)最簡單的方法之一。系統(tǒng)性能、IT自動(dòng)化、復(fù)雜系統(tǒng)的部署和快速生產(chǎn)力是軟件開發(fā)中與虛擬機(jī)交互的關(guān)鍵標(biāo)準(zhǔn)。Ansible Tower具有所有這些特性,它通過REST API輕松嵌入到現(xiàn)有工具和流程中。Ansible Tower是一個(gè)安全門戶,用戶可以通過它請求新IT服務(wù)和管理特定的云,使用它(作為開源工具)獲取IT資源,用于自動(dòng)化應(yīng)用部署和升級(jí),以及配置軟件以實(shí)現(xiàn)聯(lián)網(wǎng)和安全。
為何選擇Ansible?
Ansible®是一個(gè)簡單的自動(dòng)化工具,可以全面描述IT應(yīng)用基礎(chǔ)設(shè)施。它易于學(xué)習(xí),可以自編文檔,讀取方便,無需具備專業(yè)水平的計(jì)算機(jī)科學(xué)學(xué)位。自動(dòng)化不應(yīng)該比它所替代的任務(wù)更復(fù)雜。
- < >< >< >< >< >< >< >< >< >< >< >< >< >OpenSSH和WinRM< >< >< >web的用戶界面,用于管理Ansible< >Ansible基礎(chǔ)設(shè)施< >Ansible提供REST API< >< >< >< >< >< >< >450)< >Python®的API< >OpenSSH< >playbook提供自動(dòng)化和編排。< >< >< >< >< >API允許管理員管理混合IT環(huán)境,無需額外層成本< >< >playbook指定的順序執(zhí)行< >格式

圖1.playbook示例。
OpenStack與Ansible的交互
Ansible playbook在OpenStack環(huán)境中定義一系列任務(wù)和配置。任務(wù)示例包括:置備虛擬機(jī)實(shí)例、定義虛擬機(jī)IP以及連接虛擬機(jī)的交換機(jī)。
案例研究:Cyber Range軟件
Cyber Range為客戶提供可擴(kuò)展的虛擬化平臺(tái),用于網(wǎng)絡(luò)安全培訓(xùn)、建模、仿真和高級(jí)分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,包括美國國防部、新加坡網(wǎng)絡(luò)安全局(CSA/SITSA)和日本九州大學(xué)。

圖2.Cyber Range web應(yīng)用通過REST API與Ansible和OpenStack交互。
- < >
Cyber Range軟件通過REST API使用POST請求將訓(xùn)練場景名稱和用戶名稱調(diào)用到Ansible Tower。
-
Ansible Tower執(zhí)行用于練習(xí)的playbook任務(wù),并向OpenStack提供配置信息。這些信息包括虛擬機(jī)鏡像和網(wǎng)絡(luò)信息。
- < >置備虛擬機(jī)鏡像并配置網(wǎng)絡(luò)。< >將狀態(tài)返回給Ansible Tower,Ansible Tower再將狀態(tài)返回給web應(yīng)用。< >Cyber Range軟件會(huì)顯示W(wǎng)indows或Linux圖標(biāo),提供超鏈接用于開啟控制臺(tái)。< >可以自動(dòng)化各種IT任務(wù),包括系統(tǒng)置備、軟件包安裝、網(wǎng)絡(luò)配置和安全,以及云服務(wù)的實(shí)例置備。< >playbook這個(gè)方法可以簡化虛擬機(jī)編排和配置,以及可能在自定義網(wǎng)絡(luò)中包含多個(gè)虛擬機(jī)的復(fù)雜場景的部署等任務(wù),但在部署期間可能需要運(yùn)行自定義腳本。< >playbook逐個(gè)執(zhí)行命令的流程單元被稱為任務(wù)。< >Ansible實(shí)現(xiàn)OpenStack自動(dòng)化,需要采用OpenStack、Ansible、Ansible Tower和源代碼控制(例如Git存儲(chǔ)庫)。
我們建議,在ADI公司的其他云項(xiàng)目上進(jìn)行自動(dòng)化和云基礎(chǔ)設(shè)施部署時(shí),可以考慮采用Ansible和OpenStack。
作者簡介
Moinul Islam是ADI公司可信安全解決方案(TSS)部(位于美國佛羅里達(dá)州坦帕市)的軟件工程師。他在軟件工程、設(shè)計(jì)和開發(fā)方面擁有20年的經(jīng)驗(yàn)。他于1997年獲得俄亥俄州克里夫蘭州立大學(xué)M.C.I.S.學(xué)位。在可信安全解決方案部工作時(shí),Moinul主要負(fù)責(zé)設(shè)計(jì)和開發(fā)一項(xiàng)名為Sypher Ultra的產(chǎn)品,它是Xilinx® Zynq® UltraScale+™設(shè)備的一項(xiàng)附加安全措施。他還專注于另一個(gè)名為“密鑰管理”的項(xiàng)目,該項(xiàng)目與nCipher®硬件安全模塊集成。聯(lián)系方式:moinul.islam@analog.com。
|