《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 解決方案 > 利用Ansible實現(xiàn)OpenStack自動化

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

2019-11-29
作者:Moinul Islam
來源:ADI公司
關鍵詞: Ansible OpenStack 自動化

摘要

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

簡介

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

為何選擇Ansible?

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

  簡單

  ■人類可讀的自動化

  ■無需特殊的編碼技能

  ■任務按序執(zhí)行

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

  功能強大

  ■應用部署

  ■配置管理

  ■工作流編排

  ■編排應用生命周期

  無代理

  ■無代理架構

  ■使用OpenSSH和WinRM

  ■無需使用或更新服務器

  ■可預測,、可靠、安全

什么是Ansible Tower,?

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

Ansible Tower

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

  通過一個可視儀表板來集中和控制Ansible基礎設施

  為Ansible提供REST API

  Ansible

  ■一種開源自動化工具

  ■采用簡單設計,,旨在讓所有人都能理解和學習使用

  ■無需自定義腳本或代碼

  ■提供自動化引擎

  ■管理網絡,、基礎設施、操作系統(tǒng)

  ■提供預構建模塊,,用于管理和配置主機(超過450)

  ■提供基于Python?的API

  ■使用OpenSSH

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

什么是OpenStack?

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

為何選擇OpenStack,?

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

OpenStack

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

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

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

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

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

Ansible Playbook

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

Playbook

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

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

  uYAML格式

圖片1.png

  圖1.playbook示例。

OpenStack與Ansible的交互

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

案例研究:Cyber Range軟件

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

圖片2.png

  圖2.Cyber Range web應用通過REST API與Ansible和OpenStack交互,。

  1.用戶點擊開始按鈕開始練習(實操網絡安全培訓)。

  2.Cyber Range軟件通過REST API使用POST請求將訓練場景名稱和用戶名稱調用到Ansible Tower,。

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

  4.OpenStack置備虛擬機鏡像并配置網絡,。

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

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

總結

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

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

  使用playbook這個方法可以簡化虛擬機編排和配置,,以及可能在自定義網絡中包含多個虛擬機的復雜場景的部署等任務,,但在部署期間可能需要運行自定義腳本。

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

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

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


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。