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


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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    订单退款自动化接口:高效处理退款流程的技术实现

    ​  在现代电子商务系统中,订单退款是常见但繁琐的操作。手动处理退款不仅耗时,还容易出错。自动化退款接口通过API集成,能显著提升效率、减少人工干预,并确保准确性。本文将逐步介绍如何设计并实现一个
    的头像 发表于 10-21 10:41 210次阅读
    订单退款<b class='flag-5'>自动化</b>接口:高效处理退款流程的技术<b class='flag-5'>实现</b>

    工业自动化的意义在哪

    工业自动化是现代工业发展的核心驱动力,其意义不仅体现在生产效率的提升,更深刻改变了产业结构、经济模式和社会生活方式。它通过融合机械、电子、计算机、通信等技术,实现生产过程的智能、柔性
    的头像 发表于 09-23 17:32 577次阅读

    同惠LCR测试仪如何实现高效批量自动化测量

    在电子元器件生产与品质检测中,同惠LCR测试仪凭借高精度与稳定性备受青睐。为提升批量测试效率,降低人力成本,通过软硬件协同优化可实现高效自动化测量,以下是具体方法:   一、硬件准备与校准优化 1.
    的头像 发表于 09-17 16:26 296次阅读
    同惠LCR测试仪如何<b class='flag-5'>实现</b>高效批量<b class='flag-5'>自动化</b>测量

    使用Ansible实现大规模集群自动化部署

    当你面对1000+服务器需要部署时,你还在一台台手工操作吗?本文将揭秘如何用Ansible实现大规模集群的自动化部署,让运维效率提升10倍!
    的头像 发表于 08-27 14:41 517次阅读

    利用Ansible自动化部署Linux服务器

    作为一名在运维一线摸爬滚打多年的工程师,我见过太多因为手工配置导致的生产事故。今天,我将毫无保留地分享我在大规模Linux服务器自动化管理中积累的实战经验,让你也能轻松驾驭数百台服务器的配置管理。
    的头像 发表于 08-06 17:59 1035次阅读

    Ansible Playbook自动化部署Nginx集群指南

    面对日益猖獗的DDoS攻击,手动部署防护已经out了!今天教你用Ansible一键部署具备DDoS防御能力的Nginx集群,让攻击者哭着回家!
    的头像 发表于 08-06 17:54 642次阅读

    Ansible代码上线项目实战案例

    在DevOps浪潮中,自动化部署已经成为每个运维工程师的必备技能。今天我将分享一个完整的Ansible代码上线项目实战案例,让你的部署效率提升10倍!
    的头像 发表于 07-24 14:03 366次阅读

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业
    的头像 发表于 07-15 16:32 525次阅读
    <b class='flag-5'>自动化</b>计算机的功能与用途

    自动化运维工具Terraform和Ansible的区别

    、可重复的部署要求。本文将深入探讨 Terraform 和 Ansible 这两大运维利器的核心差异,明确它们在配置管理和资源编排领域的分工边界,为运维工程师提供清晰的技术选型指导。
    的头像 发表于 07-09 09:59 951次阅读

    HFSS 自动化建模工具

    因工作需求,自己写的HFSS参数自动化建模工具,目前只实现了常用的四种模型,可定制,如需可联系 qq:1300038043 附件下载链接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT
    发表于 02-27 17:44

    IT自动化工具Ansible基础入门

    Ansible是帮助运维人员实现自动化的最重要的工具之一。
    的头像 发表于 02-07 10:00 1314次阅读
    IT<b class='flag-5'>自动化</b>工具<b class='flag-5'>Ansible</b>基础入门

    如何实现跌落式熔断器的自动化控制

    实现跌落式熔断器的自动化控制,可以通过以下技术和步骤进行: 一、技术原理 跌落式熔断器的工作原理是将熔丝穿入熔管内,当被保护线路发生故障时,故障电流使熔丝熔断,形成电弧。消弧管在电弧高温作用下分解
    的头像 发表于 02-05 10:46 1196次阅读

    基于 Docker 与 Jenkins 实现自动化部署

    前言 重塑自动化部署新高度,Docker 携手 Jenkins,在华为云 Flexus X 云服务器的加持下,引领持续集成与部署的新纪元。Flexus X 以其卓越的性能、灵活的资源配置和高效的成本
    的头像 发表于 01-07 17:25 856次阅读
    基于 Docker 与 Jenkins <b class='flag-5'>实现</b><b class='flag-5'>自动化</b>部署

    AI工作流自动化是做什么的

    AI工作流自动化是指利用人工智能技术,对工作流程中的重复性、规则明确的任务进行自动化处理的过程。那么,AI工作流自动化是做什么的呢?接下来,AI部落小编为您分享。
    的头像 发表于 01-06 17:57 1409次阅读

    自动化创建UI并解析数据

    *附件:32960_auto.rar备注:Main.vi是ui自动化2.1.vi,配置文件为32960.B.ini。 目前可以实现根据配置文件自动化创建控件并布局,且可以自动解析接收到
    发表于 12-10 08:41