0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用Ansible实现OpenStack自动化

亚德诺半导体 2019-12-03 17:29 次阅读

Moinul Islam

摘要

本文旨在就置备虚拟机(除VMware以外)的一种替代方法提供一些见解。目标受众包括但不限于处理虚拟机自动化问题的软件开发人员。由于VMware的服务提供商许可证及其支持vRealizevCenter和其他工具的基础设施成本高昂,我们整合我们的资源,开发出了一种同样能够完成任务,但更经济高效的替代方法。我们的解决方案采用开源技术,利用使用Ansible Tower®DevOps方法来与OpenStac交互,通过playbook进行实现,用于置备虚拟机。我们将此技术集成到我们的Cyber Range™软件中,本文将它作为一个案例研究,以证明这种方法行之有效。

简介

本文介绍为何Ansible Tower是使用playbook,在OpenStack中创建、部署和配置虚拟机最简单的方法之一。系统性能、IT自动化、复杂系统的部署和快速生产力是软件开发中与虚拟机交互的关键标准。Ansible Tower具有所有这些特性,它通过REST API轻松嵌入到现有工具和流程中。Ansible Tower是一个安全门户,用户可以通过它请求新IT服务和管理特定的云,使用它(作为开源工具)获取IT资源,用于自动化应用部署和升级,以及配置软件以实现联网和安全。

为何选择Ansible

Ansible®是一个简单的自动化工具,可以全面描述IT应用基础设施。它易于学习,可以自编文档,读取方便,无需具备专业水平的计算机科学学位。自动化不应该比它所替代的任务更复杂。

u 简单

人类可读的自动化

无需特殊的编码技能

任务按序执行

很快实现生产力

u 功能强大

应用部署

配置管理

工作流编排

编排应用生命周期

u 无代理

无代理架构

使用OpenSSHWinRM

无需使用或更新服务器

可预测、可靠、安全

什么是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 ESXiXenKVM

为何选择OpenStack

OpenStack可以轻松与Ansible TowerVMware管理程序和Hyper-V集成,从而使用现有的基础设施。OpenStackKVM管理程序免费提供,但需要技能熟练的管理员进行配置。OpenStack是一个用于部署、开发和构建云平台的开源平台。是一个命令行界面,功能强大,提供管理、APIRESTful 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格式

image.png

1.playbook示例。

OpenStackAnsible的交互

Ansible playbookOpenStack环境中定义一系列任务和配置。任务示例包括:置备虚拟机实例、定义虚拟机IP以及连接虚拟机的交换机

案例研究:Cyber Range软件

Cyber Range为客户提供可扩展的虚拟化平台,用于网络安全培训、建模、仿真和高级分析。我们为多家客户提供解决方案,包括美国国防部、新加坡网络安全局(CSA/SITSA)和日本九州大学。

image.png

2.Cyber Range web应用通过REST APIAnsibleOpenStack交互。

1. 用户点击开始按钮开始练习(实操网络安全培训)。

2. Cyber Range软件通过REST API使用POST请求将训练场景名称和用户名称调用到Ansible Tower

3. Ansible Tower执行用于练习的playbook任务,并向OpenStack提供配置信息。这些信息包括虚拟机镜像和网络信息。

4. OpenStack置备虚拟机镜像并配置网络。

5. OpenStack将状态返回给Ansible TowerAnsible Tower再将状态返回给web应用。

6. 如果状态是成功的,Cyber Range软件会显示WindowsLinux图标,提供超链接用于开启控制台。

总结

通过将Ansible TowerOpenStack集成到Cyber Range软件中,我们能够构建一个应用程序,为全球客户提供按需培训和真实场景。与Ansible REST APIplaybook集成充分利用了置备更加系统化的自动化流程时所需的许多代码。本文讨论了如下几个要点:

u Ansible可以自动化各种IT任务,包括系统置备、软件包安装、网络配置和安全,以及云服务的实例置备。

u 使用playbook这个方法可以简化虚拟机编排和配置,以及可能在自定义网络中包含多个虚拟机的复杂场景的部署等任务,但在部署期间可能需要运行自定义脚本。

u 使用playbook逐个执行命令的流程单元被称为任务。

u 要使用Ansible实现OpenStack自动化,需要采用OpenStackAnsibleAnsible Tower和源代码控制(例如Git存储库)。

我们建议,在ADI公司的其他云项目上进行自动化和云基础设施部署时,可以考虑采用AnsibleOpenStack

作者简介

Moinul IslamADI公司可信安全解决方案(TSS)部(位于美国佛罗里达州坦帕市)的软件工程师。他在软件工程、设计和开发方面拥有20年的经验。他于1997年获得俄亥俄州克里夫兰州立大学M.C.I.S.学位。在可信安全解决方案部工作时,Moinul主要负责设计和开发一项名为Sypher Ultra产品,它是Xilinx® Zynq® UltraScale+™设备的一项附加安全措施。他还专注于另一个名为“密钥管理”的项目,该项目与nCipher®硬件安全模块集成。联系方式:moinul.islam@analog.com


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    非标自动化设备

    1、非标自动化设备 2、根据需求设计和制造 3、完成代替人工的目标
    发表于 03-25 09:52

    TC397怎么自动化烧录?

    TC397第一次烧录的时候需要先烧录六个包,使用Infineon Memtool 4.8软件,如果想要量产,怎么实现不用手动选择文件的烧录方式,使用自动化烧录
    发表于 01-25 07:03

    网络设备自动化运维工具—ansible入门笔记介绍

    Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具 (Puppet、CFengine、Chef、SaltStack)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
    的头像 发表于 01-15 13:46 425次阅读
    网络设备<b class='flag-5'>自动化</b>运维工具—<b class='flag-5'>ansible</b>入门笔记介绍

    分布式IO工业自动化数据采集与分析的核心

    生产流程进行合理分布,实现设备的就近控制和监测。这种方式的优点在于能够缩短数据传输距离、提高数据传输速度、降低故障率和提高设备利用率。 工业自动化是在工业生产中广泛采用自动控制、
    发表于 12-28 14:47

    借助 NVIDIA NVUE 和 Ansible 实现数据中心网络自动化

    数据中心自动化可以追溯到大型机的早期,运营效率是其优势之一。多年来,数据中心内外的技术都发生了变化。因此,工具和方法也发生了变化。 NVIDIA NVUE Collection 和 Ansible
    的头像 发表于 12-20 19:35 240次阅读
    借助 NVIDIA NVUE 和 <b class='flag-5'>Ansible</b> <b class='flag-5'>实现</b>数据中心网络<b class='flag-5'>自动化</b>

    罗克韦尔自动化助力上海宝鹿实现生产线自动化改造

    罗克韦尔自动化在工业自动化、信息化和数字化转型领域的先进技术和丰富经验,上海宝鹿完成了“数智”车间的建立,不仅实现了 产线的自动化与节能增效 ,更成功 迈向更可持续的“数智”转型与发展
    的头像 发表于 12-15 08:25 211次阅读

    LabVIEW与Tektronix示波器实现电源测试自动化

    LabVIEW与Tektronix示波器实现电源测试自动化 在现代电子测试与测量领域,自动化测试系统的构建是提高效率和精确度的关键。本案例介绍了如何利用LabVIEW软件结合Tektr
    发表于 12-09 20:37

    基于Arduino的家庭自动化项目

    包含相关代码、详细图文、物料表一个简单的基于DIY Arduino的家庭自动化项目,它使用土壤湿度传感器、泵和其他电子元件来自动浇水植物。它由一个适合室内园艺的混凝土花盆箱组成。自流式播种机也可作为水培系统使用。电气系统可根据农业和农业需求以及微灌系统进行扩展。
    发表于 09-26 08:16

    工厂自动化解决方案和调试

    工厂自动化 提高生产效率,产品利用率高得多,减少人工手工作业,节约能源和资源。云计算新技术、预测分析、机器学习使能源及公用事业公司能够建立数字客户模型。智能制造可减少空气污染,实现
    发表于 09-07 07:21

    工厂自动化系统分享

    工厂自动化结构 PLC系统应用 IO-Link系统解决方案 工厂自动化中的工业机器人 问答环节
    发表于 09-07 06:32

    利用Ansible批量100台服务器添加Crontab

    今天浩道跟大家分享关于Ansible自动化运维相关硬核干货,利用Ansible批量100台服务器添加Crontab !
    的头像 发表于 08-19 14:24 360次阅读

    为什么需要用Ansible管理crontab呢?

    Ansible 是使用 Python 开发的自动化运维工具。它可以配置管理,部署软件并编排更高级的任务,例如持续部署或零停机滚动升级。
    的头像 发表于 08-17 09:53 406次阅读

    modelsim自动化仿真实验 利用脚本实现modelsim自动化仿真

    ,然后编译,再添加波形,这样是非常麻烦的。在实际工作中一般不会这样操作,通常我们都会利用脚本实现modelsim的“自动化”编译。实现一键完成电脑
    的头像 发表于 07-19 10:10 1060次阅读
    modelsim<b class='flag-5'>自动化</b>仿真实验 <b class='flag-5'>利用</b>脚本<b class='flag-5'>实现</b>modelsim<b class='flag-5'>自动化</b>仿真

    提升工作效率!一文详解 Ansible 自动化运维

    Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。
    的头像 发表于 07-10 11:27 438次阅读
    提升工作效率!一文详解 <b class='flag-5'>Ansible</b> <b class='flag-5'>自动化</b>运维

    TB5128FTG驱动芯片在工业自动化中的应用

    摘要: 本论文将探讨TB5128FTG驱动芯片在工业自动化领域中的应用。工业自动化是现代工业生产中的关键领域,它通过使用先进的技术和设备来实现生产过程的自动化和优化。TB5128FTG
    发表于 05-30 15:14