0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Ansible的OpenStack自動化

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:Moinul Islam ? 2022-12-21 14:12 ? 次閱讀

本文旨在提供有關(guān)除 VMware 之外的另一種配置虛擬機(jī)方法的見解。目標(biāo)受眾包括但不限于處理虛擬機(jī)自動化的軟件開發(fā)人員。由于 VMware 的服務(wù)提供商許可證及其支持 vRealize、vCenter 和其他工具的基礎(chǔ)架構(gòu)費用高昂,我們利用我們的資源將一種經(jīng)濟(jì)高效的替代方法組合在一起,以完成相同的任務(wù)。我們的解決方案是一種利用開源技術(shù)的方法,這些技術(shù)具有使用 Ansible Tower 的 DevOps 方法與 OpenStack 交互,這些方法通過 playbook 實現(xiàn)以配置虛擬機(jī)。我們將這項技術(shù)集成到我們的網(wǎng)絡(luò)靶場中???軟件,在本文中描述為案例研究,以證明該方法是成功的。

介紹

本文介紹了 Ansible Tower 如何成為使用劇本從 OpenStack 創(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 資源,從而實現(xiàn)一個安全的門戶,用于自動化應(yīng)用程序部署和升級,以及網(wǎng)絡(luò)和安全軟件的配置。

為什么選擇安思布爾?

Ansible 是一個簡單的自動化工具,可以完美地描述 IT 應(yīng)用程序基礎(chǔ)架構(gòu)。它易于學(xué)習(xí),自我記錄,并且不需要研究生水平的計算機(jī)科學(xué)學(xué)位即可閱讀。自動化不應(yīng)該比它所取代的任務(wù)更復(fù)雜。?

簡單

人類可讀的自動化

無需特殊的編碼技能

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

快速提高工作效率

強(qiáng)

應(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)

提供用于管理和配置主機(jī)的預(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)用程序,并支持多個虛擬機(jī)管理程序來配置和編排云。它可以運行多層工作負(fù)載或開源開發(fā)工具。最終用戶可以輕松調(diào)配資源并支持幾乎所有虛擬機(jī)管理程序,包括 VMware ESXi、Xen 和 KVM。

為什么選擇OpenStack?

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

開放堆棧

開源:該技術(shù)由龐大的開發(fā)人員社區(qū)提供支持

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

由模塊化、可擴(kuò)展且靈活的實用程序集組成

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

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

安斯布爾行動手冊

行動手冊是一個 YAML 文件,它描述了要對一組主機(jī)執(zhí)行的任務(wù)列表,這些主機(jī)在 Ansible 清單中定義。劇本由一個或多個重頭戲組成,用于對任務(wù)進(jìn)行分組。它定義虛擬機(jī)名稱、VMDK 文件、網(wǎng)絡(luò)連接、IP 地址和場景信息。行動手冊是真正簡單的配置管理和多機(jī)部署系統(tǒng)的基礎(chǔ)。行動手冊可以聲明配置,但它們也可以協(xié)調(diào)任何手動排序流程的步驟。

劇本

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

任務(wù)按劇本中的順序執(zhí)行

亞姆格式

poYBAGOio7KAZK9FAABkxYRfs3Y548.jpg?h=270&hash=41EF0855C83E0ABD9F9E7E060DD833FAEBF58C78&la=en&imgver=1

圖1.示例劇本。

OpenStack 與 Ansible 的交互

Ansible 行動手冊定義了 OpenStack 環(huán)境中的一系列任務(wù)和配置。任務(wù)的示例包括預(yù)配虛擬機(jī)實例、定義虛擬機(jī)的 IP 以及用于將虛擬機(jī)聯(lián)網(wǎng)的交換機(jī)。

案例研究:網(wǎng)絡(luò)靶場是一個現(xiàn)實生活中的軟件

網(wǎng)絡(luò)靶場為客戶提供可擴(kuò)展的虛擬化平臺,用于網(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 提供配置信息。此信息包括虛擬機(jī)映像和網(wǎng)絡(luò)連接信息。

OpenStack 配置虛擬機(jī)映像并配置網(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)啟用超鏈接以打開控制臺。

poYBAGOio7SATQSNAACUu3T43aA502.jpg?h=270&hash=C591E6E2A56B98DEA5C2AA2B25C2CB94386D5DF1&la=en&imgver=1

圖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 的方法可能需要在部署期間運行自定義腳本,該方法簡化了編排和配置虛擬機(jī)的任務(wù),以及部署可能包含自定義網(wǎng)絡(luò)中多個虛擬機(jī)的復(fù)雜方案。

使用劇本逐個執(zhí)行命令的過程單元稱為任務(wù)。

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

我們建議考慮將Ansible和OpenStack用于ADI公司其他云項目的自動化和云基礎(chǔ)設(shè)施部署。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2945

    瀏覽量

    66748
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    917

    瀏覽量

    28202
收藏 人收藏

    評論

    相關(guān)推薦

    華納云:OpenStack是虛擬管理平臺嗎?其工作原理是什么?

    OpenStack 就是一個虛擬管理平臺嗎?這樣說并不準(zhǔn)確。它們存在很多相似性,但并非完全相同。的確,OpenStack 和虛擬管理平臺都位于虛擬
    的頭像 發(fā)表于 09-23 14:20 ?318次閱讀

    開關(guān)電源自動化測試設(shè)備:如何實現(xiàn)自動化測試?

    開關(guān)電源自動化測試設(shè)備是將測試軟件和測試硬件集成在一個電源測試柜中的ate自動測試設(shè)備,其測試原理是通過計算機(jī)操控測試儀器,從而減少人工干預(yù),完成開關(guān)電源的自動化測試,旨在解放人力,提高測試效率,讓測試更便捷。
    的頭像 發(fā)表于 08-30 18:19 ?1285次閱讀
    開關(guān)電源<b class='flag-5'>自動化</b>測試設(shè)備:如何實現(xiàn)<b class='flag-5'>自動化</b>測試?

    機(jī)械自動化和電氣自動化區(qū)別是什么

    機(jī)械自動化和電氣自動化是現(xiàn)代工業(yè)生產(chǎn)中兩個重要的領(lǐng)域,它們在許多方面有著密切的聯(lián)系,但也存在一些明顯的區(qū)別。 一、基本概念 機(jī)械自動化 機(jī)械自動化是指利用機(jī)械設(shè)備、傳感器、控制系統(tǒng)等技
    的頭像 發(fā)表于 07-01 09:33 ?4082次閱讀

    機(jī)械自動化自動化的一種嗎

    引言 自動化技術(shù)是指利用控制裝置對生產(chǎn)過程進(jìn)行控制,以實現(xiàn)生產(chǎn)過程的自動化。機(jī)械自動化自動化技術(shù)的一種,它主要涉及到使用機(jī)械設(shè)備和控制系統(tǒng)來實現(xiàn)生產(chǎn)過程的
    的頭像 發(fā)表于 07-01 09:32 ?1672次閱讀

    工業(yè)自動化中的控制方式

    工業(yè)自動化是現(xiàn)代工業(yè)發(fā)展的重要標(biāo)志,它極大地提高了生產(chǎn)效率,降低了生產(chǎn)成本,并改善了產(chǎn)品質(zhì)量。在工業(yè)自動化中,控制方式作為實現(xiàn)自動化控制的關(guān)鍵環(huán)節(jié),其重要性不言而喻。本文將詳細(xì)介紹工業(yè)自動化
    的頭像 發(fā)表于 06-17 11:41 ?821次閱讀

    如何實現(xiàn)PLC的自動化控制邏輯

    在工業(yè)自動化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)扮演著至關(guān)重要的角色。PLC通過編程實現(xiàn)自動化控制邏輯,使設(shè)備能夠按照預(yù)定的程序進(jìn)行工作,極大
    的頭像 發(fā)表于 06-15 16:44 ?1187次閱讀

    機(jī)械制造與自動化自動化類嗎

    機(jī)械制造與自動化自動化領(lǐng)域的一個重要分支,它涉及到機(jī)械設(shè)計、制造、檢測、控制等多個方面,是現(xiàn)代制造業(yè)的核心組成部分。 機(jī)械制造與自動化是指利用計算機(jī)、機(jī)器人、傳感器等自動化設(shè)備和技術(shù)
    的頭像 發(fā)表于 06-11 11:18 ?1528次閱讀

    工業(yè)自動化自動化區(qū)別是什么

    工業(yè)自動化自動化是兩個密切相關(guān)但又有所區(qū)別的概念。在這篇文章中,我們將詳細(xì)探討它們之間的區(qū)別,以及它們在現(xiàn)代工業(yè)生產(chǎn)中的應(yīng)用。 一、自動化的定義 自動化是指通過使用機(jī)器、計算機(jī)和其他
    的頭像 發(fā)表于 06-11 11:13 ?1700次閱讀

    工業(yè)自動化包含哪些技術(shù)

    工業(yè)自動化是現(xiàn)代制造業(yè)中不可或缺的一部分,它通過使用各種技術(shù)和設(shè)備來提高生產(chǎn)效率、降低成本、提高產(chǎn)品質(zhì)量和安全性。 一、工業(yè)自動化概述 工業(yè)自動化是指在生產(chǎn)過程中,通過使用計算機(jī)、傳感器、執(zhí)行器等
    的頭像 發(fā)表于 06-11 11:11 ?970次閱讀

    自動化碼垛機(jī)車間使用優(yōu)勢

    ?? 隨著科技的不斷進(jìn)步和自動化程度的提高,自動化碼垛機(jī)在車間生產(chǎn)中的應(yīng)用越來越廣泛。相比傳統(tǒng)的手工碼垛方式,自動化碼垛機(jī)具有許多顯著的優(yōu)勢,為車間生產(chǎn)帶來了較大的便利和效益。 首先,自動化
    的頭像 發(fā)表于 03-27 16:19 ?332次閱讀

    非標(biāo)自動化設(shè)備

    1、非標(biāo)自動化設(shè)備 2、根據(jù)需求設(shè)計和制造 3、完成代替人工的目標(biāo)
    發(fā)表于 03-25 09:52

    工業(yè)自動化系統(tǒng)設(shè)計

    工業(yè)自動化系統(tǒng)設(shè)計是一項涉及多個領(lǐng)域和技術(shù)的綜合性任務(wù)。它旨在通過自動化設(shè)備和系統(tǒng)的集成,提高生產(chǎn)效率、降低能耗、確保產(chǎn)品質(zhì)量和增強(qiáng)企業(yè)競爭力。 一、工業(yè)自動化系統(tǒng)設(shè)計的原則 可靠性:工業(yè)自動
    的頭像 發(fā)表于 02-02 17:00 ?808次閱讀
    工業(yè)<b class='flag-5'>自動化</b>系統(tǒng)設(shè)計

    TC397怎么自動化燒錄?

    TC397第一次燒錄的時候需要先燒錄六個包,使用Infineon Memtool 4.8軟件,如果想要量產(chǎn),怎么實現(xiàn)不用手動選擇文件的燒錄方式,使用自動化燒錄
    發(fā)表于 01-25 07:03

    工業(yè)自動化中的直流負(fù)載和交流負(fù)載的應(yīng)用

    工業(yè)自動化中的直流負(fù)載和交流負(fù)載的應(yīng)用 工業(yè)自動化是指利用各種自動化設(shè)備和技術(shù),對工業(yè)生產(chǎn)過程進(jìn)行自動化控制和管理的一種技術(shù)和手段。其中,直流負(fù)載和交流負(fù)載都是工業(yè)
    的頭像 發(fā)表于 01-18 15:12 ?707次閱讀

    網(wǎng)絡(luò)設(shè)備自動化運維工具—ansible入門筆記介紹

    Ansible是一款自動化運維工具,基于Python開發(fā),集合了眾多運維工具 (Puppet、CFengine、Chef、SaltStack)的優(yōu)點,實現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運行命令等功能。
    的頭像 發(fā)表于 01-15 13:46 ?1926次閱讀
    網(wǎng)絡(luò)設(shè)備<b class='flag-5'>自動化</b>運維工具—<b class='flag-5'>ansible</b>入門筆記介紹