<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 利用Ansible實現(xiàn)OpenStack自動化

          利用Ansible實現(xiàn)OpenStack自動化

          作者:ADI公司可信安全解決方案(TSS)部 Moinul Islam 時間:2019-11-29 來源:電子產(chǎn)品世界 收藏

          摘要

          本文引用地址:http://www.ex-cimer.com/article/201911/407688.htm

          本文旨在就置備(除VMware以外)的一種替代方法提供一些見解。目標(biāo)受眾包括但不限于處理自動化問題的軟件開發(fā)人員。由于VMware的服務(wù)提供商許可證及其支持vRealize、vCenter和其他工具的基礎(chǔ)設(shè)施成本高昂,我們整合我們的資源,開發(fā)出了一種同樣能夠完成任務(wù),但更經(jīng)濟(jì)高效的替代方法。我們的解決方案采用開源技術(shù),利用使用Ansible Tower的DevOps方法來與交互,通過playbook進(jìn)行實現(xiàn),用于置備。我們將此技術(shù)集成到我們的Cyber Range?軟件中,本文將它作為一個案例研究,以證明這種方法行之有效。

          簡介

          本文介紹為何Ansible Tower是使用playbook,在中創(chuàng)建、部署和配置虛擬機(jī)最簡單的方法之一。系統(tǒng)性能、IT自動化、復(fù)雜系統(tǒng)的部署和快速生產(chǎn)力是軟件開發(fā)中與虛擬機(jī)交互的關(guān)鍵標(biāo)準(zhǔn)。Ansible Tower具有所有這些特性,它通過REST API輕松嵌入到現(xiàn)有工具和流程中。Ansible Tower是一個安全門戶,用戶可以通過它請求新IT服務(wù)和管理特定的云,使用它(作為開源工具)獲取IT資源,用于自動化應(yīng)用部署和升級,以及配置軟件以實現(xiàn)聯(lián)網(wǎng)和安全。

          為何選擇Ansible?

          Ansible是一個簡單的自動化工具,可以全面描述IT應(yīng)用基礎(chǔ)設(shè)施。它易于學(xué)習(xí),可以自編文檔,讀取方便,無需具備專業(yè)水平的計算機(jī)科學(xué)學(xué)位。自動化不應(yīng)該比它所替代的任務(wù)更復(fù)雜。

          u      簡單

                人類可讀的自動化

                無需特殊的編碼技能

                任務(wù)按序執(zhí)行

                很快實現(xiàn)生產(chǎn)力

          u      功能強(qiáng)大

                應(yīng)用部署

                配置管理

                工作流編排

                編排應(yīng)用生命周期

          u          無代理

                無代理架構(gòu)

                使用OpenSSH和WinRM

                無需使用或更新服務(wù)器

                可預(yù)測、可靠、安全

          什么是Ansible Tower?

          Ansible Tower是一個基于web的用戶界面,用于管理Ansible。它通過一個可視儀表板來集中和控制Ansible基礎(chǔ)設(shè)施??梢苑Q為自動化任務(wù)管理中心。

          Ansible Tower

          u          基于web的用戶界面,用于管理Ansible

          u          通過一個可視儀表板來集中和控制Ansible基礎(chǔ)設(shè)施

          u          為Ansible提供REST API

          u          Ansible

                一種開源自動化工具

                采用簡單設(shè)計,旨在讓所有人都能理解和學(xué)習(xí)使用

                無需自定義腳本或代碼

                提供自動化引擎

                管理網(wǎng)絡(luò)、基礎(chǔ)設(shè)施、操作系統(tǒng)

                提供預(yù)構(gòu)建模塊,用于管理和配置主機(jī)(超過450)

                提供基于Python的API

                使用OpenSSH

                通過playbook提供自動化和編排。

          什么是

          OpenStack是一個云操作系統(tǒng),它控制整個數(shù)據(jù)中心的大量計算、存儲和網(wǎng)絡(luò)資源,通過儀表板進(jìn)行管理。該儀表板使管理員能夠進(jìn)行控制,同時允許用戶通過web界面置備資源。它是一個開源項目,提供基礎(chǔ)設(shè)施即服務(wù)平臺來構(gòu)建支持云的應(yīng)用程序,并且支持采用多個管理程序來置備和編排云。它可以運(yùn)行多層工作負(fù)載或開源開發(fā)工具。最終用戶可以輕松置備資源和支持幾乎所有的管理程序,包括VMware ESXi、Xen和KVM。

          為何選擇OpenStack?

          OpenStack可以輕松與Ansible Tower、VMware管理程序和Hyper-V集成,從而使用現(xiàn)有的基礎(chǔ)設(shè)施。OpenStack和KVM管理程序免費(fèi)提供,但需要技能熟練的管理員進(jìn)行配置。OpenStack是一個用于部署、開發(fā)和構(gòu)建云平臺的開源平臺。是一個命令行界面,功能強(qiáng)大,提供管理、API、RESTful web服務(wù)以及基于web的控制面板控件。這個開源云軟件用于管理計算(Nova)、塊卷存儲(Cinder)、虛擬機(jī)鏡像服務(wù)(Glance)和網(wǎng)絡(luò)構(gòu)建(Neutron)。OpenStack作為基礎(chǔ),不僅簡化了部署過程,還簡化了開發(fā)、存儲、聯(lián)網(wǎng)、監(jiān)測、管理和應(yīng)用。

          OpenStack

          u           開源:此技術(shù)得到了大型開發(fā)人員社區(qū)的支持

          u          為客戶提供價值、效率和敏捷性

          u          由模塊化、可伸縮且靈活的實用程序集組成

          u          經(jīng)過大型企業(yè)的檢驗和測試

          u          互操作性和開源API允許管理員管理混合IT環(huán)境,無需額外層成本

          Ansible Playbook

          Playbook是一個YAML文件,描述了要在一組主機(jī)(在Ansible inventory中定義)中執(zhí)行的任務(wù)的列表。Playbook由一個或多個腳本組成,用于對任務(wù)進(jìn)行分組。它定義虛擬機(jī)名稱、VMDK文件、網(wǎng)絡(luò)、IP地址和場景信息。Playbook是實現(xiàn)真正簡單的配置管理和多機(jī)部署系統(tǒng)的基礎(chǔ)。它可以宣布配置,也可以為手動流程編排步驟。

          Playbook

          u          定義要在主機(jī)上執(zhí)行的任務(wù)

          u          任務(wù)按照playbook指定的順序執(zhí)行

          u          YAML格式

          252064-fig-01.png

          圖1.playbook示例。

          OpenStack與Ansible的交互

          Ansible playbook在OpenStack環(huán)境中定義一系列任務(wù)和配置。任務(wù)示例包括:置備虛擬機(jī)實例、定義虛擬機(jī)IP以及連接虛擬機(jī)的交換機(jī)。

          案例研究:Cyber Range軟件

          Cyber Range為客戶提供可擴(kuò)展的虛擬化平臺,用于網(wǎng)絡(luò)安全培訓(xùn)、建模、仿真和高級分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,包括美國國防部、新加坡網(wǎng)絡(luò)安全局(CSA/SITSA)和日本九州大學(xué)。

          252064-fig-02.png

          圖2.Cyber Range web應(yīng)用通過REST API與Ansible和OpenStack交互。

          1.        用戶點擊開始按鈕開始練習(xí)(實操網(wǎng)絡(luò)安全培訓(xùn))。

          2.        Cyber Range軟件通過REST API使用POST請求將訓(xùn)練場景名稱和用戶名稱調(diào)用到Ansible Tower

          3.        Ansible Tower執(zhí)行用于練習(xí)的playbook任務(wù),并向OpenStack提供配置信息。這些信息包括虛擬機(jī)鏡像和網(wǎng)絡(luò)信息。

          4.        OpenStack置備虛擬機(jī)鏡像并配置網(wǎng)絡(luò)。

          5.        OpenStack將狀態(tài)返回給Ansible TowerAnsible Tower再將狀態(tài)返回給web應(yīng)用。

          6.        如果狀態(tài)是成功的,Cyber Range軟件會顯示WindowsLinux圖標(biāo),提供超鏈接用于開啟控制臺。

          總結(jié)

          通過將Ansible Tower與OpenStack集成到Cyber Range軟件中,我們能夠構(gòu)建一個應(yīng)用程序,為全球客戶提供按需培訓(xùn)和真實場景。與Ansible REST API和playbook集成充分利用了置備更加系統(tǒng)化的自動化流程時所需的許多代碼。本文討論了如下幾個要點:

          u  Ansible可以自動化各種IT任務(wù),包括系統(tǒng)置備、軟件包安裝、網(wǎng)絡(luò)配置和安全,以及云服務(wù)的實例置備。

          u  使用playbook這個方法可以簡化虛擬機(jī)編排和配置,以及可能在自定義網(wǎng)絡(luò)中包含多個虛擬機(jī)的復(fù)雜場景的部署等任務(wù),但在部署期間可能需要運(yùn)行自定義腳本。

          u  使用playbook逐個執(zhí)行命令的流程單元被稱為任務(wù)。

          u  要使用Ansible實現(xiàn)OpenStack自動化,需要采用OpenStack、AnsibleAnsible Tower和源代碼控制(例如Git存儲庫)。

          我們建議,在ADI公司的其他云項目上進(jìn)行自動化和云基礎(chǔ)設(shè)施部署時,可以考慮采用Ansible和OpenStack。

          作者簡介

          Moinul Islam是ADI公司可信安全解決方案(TSS)部(位于美國佛羅里達(dá)州坦帕市)的軟件工程師。他在軟件工程、設(shè)計和開發(fā)方面擁有20年的經(jīng)驗。他于1997年獲得俄亥俄州克里夫蘭州立大學(xué)M.C.I.S.學(xué)位。在可信安全解決方案部工作時,Moinul主要負(fù)責(zé)設(shè)計和開發(fā)一項名為Sypher Ultra的產(chǎn)品,它是Xilinx Zynq UltraScale+?設(shè)備的一項附加安全措施。他還專注于另一個名為“密鑰管理”的項目,該項目與nCipher硬件安全模塊集成。




          關(guān)鍵詞: OpenStack 虛擬機(jī)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();