摘要
本文旨在就置备虚拟机(除VMware以外)的一种代替办法供给一些见地。方针受众包括但不限于处理虚拟机自动化问题的软件开发人员。因为VMware的服务供给商许可证及其支撑vRealize、vCenter和其他东西的根底设施本钱昂扬,咱们整合咱们的资源,开发出了一种相同能够完成使命,但更经济高效的代替办法。咱们的解决方案选用开源技能,运用运用Ansible Tower的DevOps办法来与OpenStack交互,经过playbook进行完成,用于置备虚拟机。咱们将此技能集成到咱们的Cyber Range™软件中,本文将它作为一个事例研讨,以证明这种办法卓有成效。
简介
本文介绍为何Ansible Tower是运用playbook,在OpenStack中创立、布置和装备虚拟机最简略的办法之一。体系功能、IT自动化、杂乱体系的布置和快速生产力是软件开发中与虚拟机交互的要害规范。Ansible Tower具有一切这些特性,它经过REST API轻松嵌入到现有东西和流程中。Ansible Tower是一个安全门户,用户能够经过它恳求新IT服务和办理特定的云,运用它(作为开源东西)获取IT资源,用于自动化运用布置和晋级,以及装备软件以完成联网和安全。
为何挑选Ansible?
Ansible是一个简略的自动化东西,能够全面描绘IT运用根底设施。它易于学习,能够自编文档,读取便利,无需具有专业水平的核算机科学学位。自动化不应该比它所代替的使命更杂乱。
u 简略
■ 人类可读的自动化
■ 无需特别的编码技能
■ 使命按序履行
■ 很快完成生产力
u 功能强大
■ 运用布置
■ 装备办理
■ 作业流编列
■ 编列运用生命周期
u 无署理
■ 无署理架构
■ 运用OpenSSH和WinRM
■ 无需运用或更新服务器
■ 可猜测、牢靠、安全
什么是Ansible Tower?
Ansible Tower是一个根据web的用户界面,用于办理Ansible。它经过一个可视仪表板来集中和操控Ansible根底设施。能够称为自动化使命办理中心。
Ansible Tower
u 根据web的用户界面,用于办理Ansible
u 经过一个可视仪表板来集中和操控Ansible根底设施
u 为Ansible供给REST API
u Ansible
■ 一种开源自动化东西
■ 选用简略规划,旨在让一切人都能了解和学习运用
■ 无需自界说脚本或代码
■ 供给自动化引擎
■ 办理网络、根底设施、操作体系
■ 供给预构建模块,用于办理和装备主机(超越450)
■ 供给根据Python的API
■ 运用OpenSSH
■ 经过playbook供给自动化和编列。
什么是OpenStack?
OpenStack是一个云操作体系,它操控整个数据中心的很多核算、存储和网络资源,经过仪表板进行办理。该仪表板使办理员能够进行操控,一起答运用户经过web界面置备资源。它是一个开源项目,供给根底设施即服务渠道来构建支撑云的运用程序,而且支撑选用多个办理程序来置备和编列云。它能够运转多层作业负载或开源开发东西。最终用户能够轻松置备资源和支撑简直一切的办理程序,包括VMware ESXi、Xen和KVM。
为何挑选OpenStack?
OpenStack能够轻松与Ansible Tower、VMware办理程序和Hyper-V集成,然后运用现有的根底设施。OpenStack和KVM办理程序免费供给,但需求技能娴熟的办理员进行装备。OpenStack是一个用于布置、开发和构建云渠道的开源渠道。是一个命令行界面,功能强大,供给办理、API、RESTful web服务以及根据web的操控面板控件。这个开源云软件用于办理核算(Nova)、块卷存储(Cinder)、虚拟机镜像服务(Glance)和网络构建(Neutron)。OpenStack作为根底,不只简化了布置进程,还简化了开发、存储、联网、监测、办理和运用。
OpenStack
u 开源:此技能得到了大型开发人员社区的支撑
u 为客户供给价值、功率和敏捷性
u 由模块化、可弹性且灵敏的实用程序集组成
u 经过大型企业的查验和测验
u 互操作性和开源API答应办理员办理混合IT环境,无需额外层本钱
Ansible Playbook
Playbook是一个YAML文件,描绘了要在一组主机(在Ansible inventory中界说)中履行的使命的列表。Playbook由一个或多个脚本组成,用于对使命进行分组。它界说虚拟机称号、VMDK文件、网络、IP地址和场景信息。Playbook是完成实在简略的装备办理和多机布置体系的根底。它能够宣告装备,也能够为手动流程编列过程。
Playbook
u 界说要在主机上履行的使命
u 使命依照playbook指定的次序履行
u YAML格局
图1.playbook示例。
OpenStack与Ansible的交互
Ansible playbook在OpenStack环境中界说一系列使命和装备。使命示例包括:置备虚拟机实例、界说虚拟机IP以及衔接虚拟机的交换机。
事例研讨:Cyber Range软件
Cyber Range为客户供给可扩展的虚拟化渠道,用于网络安全培训、建模、仿真和高档剖析。咱们为多家客户供给解决方案,包括美国国防部、新加坡网络安全局(CSA/SITSA)和日本神州大学。
图2.Cyber Range web运用经过REST API与Ansible和OpenStack交互。
1. 用户点击开端按钮开端操练(实操网络安全培训)。
2. Cyber Range软件经过REST API运用POST恳求将操练场景称号和用户称号调用到Ansible Tower。
3. Ansible Tower履行用于操练的playbook使命,并向OpenStack供给装备信息。这些信息包括虚拟机镜像和网络信息。
4. OpenStack置备虚拟机镜像并装备网络。
5. OpenStack将状况回来给Ansible Tower,Ansible Tower再将状况回来给web运用。
6. 假如状况是成功的,Cyber Range软件会显现Windows或Linux图标,供给超链接用于敞开操控台。
总结
经过将Ansible Tower与OpenStack集成到Cyber Range软件中,咱们能够构建一个运用程序,为全球客户供给按需培训和实在场景。与Ansible REST API和playbook集成充分运用了置备愈加体系化的自动化流程时所需的许多代码。本文评论了如下几个关键:
u Ansible能够自动化各种IT使命,包括体系置备、软件包装置、网络装备和安全,以及云服务的实例置备。
u 运用playbook这个办法能够简化虚拟机编列和装备,以及或许在自界说网络中包括多个虚拟机的杂乱场景的布置等使命,但在布置期间或许需求运转自界说脚本。
u 运用playbook逐一履行命令的流程单元被称为使命。
u 要运用Ansible完成OpenStack自动化,需求选用OpenStack、Ansible、Ansible Tower和源代码操控(例如Git存储库)。
咱们主张,在ADI公司的其他云项目上进行自动化和云根底设施布置时,能够考虑选用Ansible和OpenStack。
作者简介
Moinul Islam是ADI公司可信安全解决方案(TSS)部(坐落美国佛罗里达州坦帕市)的软件工程师。他在软件工程、规划和开发方面具有20年的经历。他于1997年取得俄亥俄州克里夫兰州立大学M.C.I.S.学位。在可信安全解决方案部作业时,Moinul首要担任规划和开发一项名为Sypher Ultra的产品,它是Xilinx Zynq UltraScale+™设备的一项附加安全措施。他还专心于另一个名为“密钥办理”的项目,该项目与nCipher硬件安全模块集成。