利用 Ansible 实现 OpenStack 自动化
时间:2019-11-29 14:17来源:21Dianyuan
摘要:本文旨在就置备虚拟机(除VMware以外)的一种替代方法提供一些见解。目标受众包括但不限于处理虚拟机自动化问题的软件开发人员。
摘要
本文旨在就置备虚拟机(除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应用基础设施。它易于学习,可以自编文档,读取方便,无需具备专业水平的计算机科学学位。自动化不应该比它所替代的任务更复杂。
什么是Ansible Tower?
Ansible Tower是一个基于web的用户界面,用于管理Ansible。它通过一个可视仪表板来集中和控制Ansible基础设施。可以称为自动化任务管理中心。
Ansible Tower
• 基于web的用户界面,用于管理Ansible
• 通过一个可视仪表板来集中和控制Ansible基础设施
• 为Ansible提供REST API
• 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
• 开源:此技术得到了大型开发人员社区的支持
• 为客户提供价值、效率和敏捷性
• 由模块化、可伸缩且灵活的实用程序集组成
• 经过大型企业的检验和测试
• 互操作性和开源API允许管理员管理混合IT环境,无需额外层成本
Ansible Playbook
Playbook是一个YAML文件,描述了要在一组主机(在Ansible inventory中定义)中执行的任务的列表。Playbook由一个或多个脚本组成,用于对任务进行分组。它定义虚拟机名称、VMDK文件、网络、IP地址和场景信息。Playbook是实现真正简单的配置管理和多机部署系统的基础。它可以宣布配置,也可以为手动流程编排步骤。
Playbook
• 定义要在主机上执行的任务
• 任务按照playbook指定的顺序执行
• YAML格式
OpenStack与Ansible的交互
Ansible playbook在OpenStack环境中定义一系列任务和配置。任务示例包括:置备虚拟机实例、定义虚拟机IP以及连接虚拟机的交换机。
案例研究:Cyber Range软件
Cyber Range为客户提供可扩展的虚拟化平台,用于网络安全培训、建模、仿真和高级分析。我们为多家客户提供解决方案,包括美国国防部、新加坡网络安全局(CSA/SITSA)和日本九州大学。
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集成充分利用了置备更加系统化的自动化流程时所需的许多代码。本文讨论了如下几个要点:
我们建议,在ADI公司的其他云项目上进行自动化和云基础设施部署时,可以考虑采用Ansible和OpenStack。
作者简介
Moinul Islam是ADI公司可信安全解决方案(TSS)部(位于美国佛罗里达州坦帕市)的软件工程师。他在软件工程、设计和开发方面拥有20年的经验。他于1997年获得俄亥俄州克里夫兰州立大学M.C.I.S.学位。在可信安全解决方案部工作时,Moinul主要负责设计和开发一项名为Sypher Ultra的产品,它是Xilinx® Zynq® UltraScale+™设备的一项附加安全措施。他还专注于另一个名为“密钥管理”的项目,该项目与nCipher®硬件安全模块集成。
本文旨在就置备虚拟机(除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应用基础设施。它易于学习,可以自编文档,读取方便,无需具备专业水平的计算机科学学位。自动化不应该比它所替代的任务更复杂。
• 简单
- 人类可读的自动化
- 无需特殊的编码技能
- 任务按序执行
- 很快实现生产力
• 功能强大
- 应用部署
- 配置管理
- 工作流编排
- 编排应用生命周期
• 无代理
- 无代理架构
- 使用OpenSSH和WinRM
- 无需使用或更新服务器
- 可预测、可靠、安全
- 人类可读的自动化
- 无需特殊的编码技能
- 任务按序执行
- 很快实现生产力
• 功能强大
- 应用部署
- 配置管理
- 工作流编排
- 编排应用生命周期
• 无代理
- 无代理架构
- 使用OpenSSH和WinRM
- 无需使用或更新服务器
- 可预测、可靠、安全
什么是Ansible Tower?
Ansible Tower是一个基于web的用户界面,用于管理Ansible。它通过一个可视仪表板来集中和控制Ansible基础设施。可以称为自动化任务管理中心。
Ansible Tower
• 基于web的用户界面,用于管理Ansible
• 通过一个可视仪表板来集中和控制Ansible基础设施
• 为Ansible提供REST API
• 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
• 开源:此技术得到了大型开发人员社区的支持
• 为客户提供价值、效率和敏捷性
• 由模块化、可伸缩且灵活的实用程序集组成
• 经过大型企业的检验和测试
• 互操作性和开源API允许管理员管理混合IT环境,无需额外层成本
Ansible Playbook
Playbook是一个YAML文件,描述了要在一组主机(在Ansible inventory中定义)中执行的任务的列表。Playbook由一个或多个脚本组成,用于对任务进行分组。它定义虚拟机名称、VMDK文件、网络、IP地址和场景信息。Playbook是实现真正简单的配置管理和多机部署系统的基础。它可以宣布配置,也可以为手动流程编排步骤。
Playbook
• 定义要在主机上执行的任务
• 任务按照playbook指定的顺序执行
• 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集成充分利用了置备更加系统化的自动化流程时所需的许多代码。本文讨论了如下几个要点:
• Ansible可以自动化各种IT任务,包括系统置备、软件包安装、网络配置和安全,以及云服务的实例置备。
• 使用playbook这个方法可以简化虚拟机编排和配置,以及可能在自定义网络中包含多个虚拟机的复杂场景的部署等任务,但在部署期间可能需要运行自定义脚本。
• 使用playbook逐个执行命令的流程单元被称为任务。
• 要使用Ansible实现OpenStack自动化,需要采用OpenStack、Ansible、Ansible Tower和源代码控制(例如Git存储库)。
• 使用playbook这个方法可以简化虚拟机编排和配置,以及可能在自定义网络中包含多个虚拟机的复杂场景的部署等任务,但在部署期间可能需要运行自定义脚本。
• 使用playbook逐个执行命令的流程单元被称为任务。
• 要使用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®硬件安全模块集成。
免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
- 安森美汽车&能源基础设施白皮书下载活动时间:2024年04月01日 - 2024年10月31日[立即参与]
- 2023年安森美(onsemi)在线答题活动时间:2023年09月01日 - 2023年09月30日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年08月01日 - 2023年08月31日[查看回顾]
- 【在线答题活动】PI 智能家居热门产品,带您领略科技智慧家庭时间:2023年06月15日 - 2023年07月15日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年06月01日 - 2023年06月30日[查看回顾]
分类排行榜
- 汽车电子电源行业可靠性要求,你了解多少?
- 内置可编程模拟功能的新型 Renesas Synergy™ 低功耗 S1JA 微控制器
- Vishay 推出高集成度且符合 IrDA® 标准的红外收发器模块
- ROHM 发布全新车载升降压电源芯片组
- 艾迈斯半导体推出行业超薄的接近/颜色传感器模块,助力实现无边框智能手机设计
- 艾迈斯半导体与 Qualcomm Technologies 集中工程优势开发适用于手机 3D 应用的主动式立体视觉解决方案
- 维谛技术(Vertiv)同时亮相南北两大高端峰会,精彩亮点不容错过
- 缤特力推出全新商务系列耳机 助力解决开放式办公的噪音难题
- CISSOID 和泰科天润(GPT)达成战略合作协议,携手推动碳化硅功率器件的广泛应用
- 瑞萨电子推出 R-Car E3 SoC,为汽车大显示屏仪表盘带来高端3D 图形处理性能
编辑推荐
小型化和稳定性如何兼得?ROHM 推出超小型高输出线性 LED 驱动器 IC,为插座型 LED 驱动 IC 装上一颗强有力的 “心脏”
众所周知,LED的驱动IC担负着在输入电压不稳定的情况下,为LED提供恒定的电流,并控制恒定(可调)亮度的作用。无论是室内照明,还是车载应用,都肩负着极为重要的使命。
- 关于反激电源效率的一个疑问
时间:2022-07-12 浏览量:10036
- 面对热拔插阐述的瞬间大电流怎么解决
时间:2022-07-11 浏览量:8804
- PFC电路对N线进行电压采样的目的是什么
时间:2022-07-08 浏览量:9438
- RCD中的C对反激稳定性有何影响
时间:2022-07-07 浏览量:7098
- 36W单反激 传导7~10M 热机5分钟后超标 不知道哪里出了问题
时间:2022-07-07 浏览量:5860
- PFC电感计算
时间:2022-07-06 浏览量:4084
- 多相同步BUCK
时间:2010-10-03 浏览量:37828
- 大家来讨论 系列之二:开机浪涌电流究竟多大?
时间:2016-01-12 浏览量:43119
- 目前世界超NB的65W适配器
时间:2016-09-28 浏览量:59989
- 精讲双管正激电源
时间:2016-11-25 浏览量:127899
- 利用ANSYS Maxwell深入探究软磁体之----电感变压器
时间:2016-09-20 浏览量:107500
- 【文原创】认真的写了一篇基于SG3525的推挽,附有详细..
时间:2015-08-27 浏览量:100181