简述openstack各核心组件及用途,总结openstack的主要组件及其功能

  简述openstack各核心组件及用途,总结openstack的主要组件及其功能

  在Mirantis OpenStack8.0中,有一个非常显著的特点,就是将OpenStack讽刺性的融入到了Fuel中。因此,我们认为有必要讨论一下OpenStack ironic是什么,它如何借助虚拟化的便利为用户带来裸机性能。

  OpenStack讽刺的是什么?简而言之,OpenStack ironic是一组执行裸机部署和与裸机部署相关的活动的项目。但实际上如何解释呢?

  要说清楚这一点,我们需要一些背景知识。我们知道OpenStack是一个用于构建公共云或私有云的开源和扩展平台。大部分时候被视为IaaS (Infrastructure as a Service),由计算(Nova)、网络(Neutron)、存储(Cinder)等项目组成,甚至包括一些像Murano这样的OpenStack应用目录的平台即服务项目。

  所有这些都是针对虚拟化解决方案上的用户用例而实施的。为了支持虚拟化,OpenStack支持各种虚拟机管理程序:KVM、Xen、QEMU、Hyper-V、VMWare、LXC、Docker等。除了其他优势,虚拟化本身就使IaaS成为可能,这使用户能够自行部署和配置虚拟机。本质上,它使用户能够在界面或命令行上创建自己的服务器。

  在某些场景下,虚拟化的环境并不合适,这些场景下的用户需要真实的、物理的、裸机的服务器。为了满足这些场景的自助服务需求,OpenStack需要支持裸机部署。

  这就是讽刺的由来!

  在OpenStack中部署裸机,意味着用户可以直接操作硬件设施,将应用程序负载(映像)部署到真实的物理机上,而不是运行在hypervisor上的虚拟机。

  为了实现这个功能,Nova中包含的虚拟化驱动之一就是调用讽刺来启动裸机节点。基于Ironic的虚拟化驱动,OpenStack用户可以通过使用计算API像虚拟机实例一样启动裸机实例。

  讽刺建筑在社区的用户指南中有讽刺建筑的主要组件。下图是一个简明的表示:

  图1:讽刺建筑的示意图

  讽刺的每个交互类型都是实际硬件的操作,比如

电源

启动

部署

终端

等。它以驱动程序的形式打包。Ironic定义了一些接口,每个驱动都可以实现。Ironic的架构还允许厂商根据自己特定的硬件设备添加自己特定的厂商扩展实现。

  带外,Ironic支持一组驱动程序,可以使Ironic通过整个项目的持续集成测试,使用一个网关(每次提交持续集成都会执行一组特定的测试):

  

agent-ssh

是一个测试驱动,它结合了iron-python-agent部署机制和基于SSH的电源控制来激活上游持续集成。

pxe-ssh

也是一个测试驱动程序,结合PXE部署机制和基于SSH的电源控制来激活上游持续集成。有了IPMI标准,讽刺可以管理大多数硬件:

  

pxe-ipmitool

在Icehouse和Juno版本中,两者都是默认建议的驱动因素。

agent-ipmitool

是Kilo及其以后的版本建议的,一些PXE驱动无法实现的高级功能是用ironic-python-agent实现的。这种插件架构为编写第三方工具和插件提供了很好的机会。比如,我们来看看现有讽刺生态系统的各种工具和插件。目前市面上的主流厂商都已经将自己的硬件平台纳入支持范围,如惠普、戴尔、IBM、Cray、富士通等。

  厂商驱动维护人员Cray

pxe-snmp

这个驱动使用SNMP而不是IPMI来管理电源。G Stitelfer Fujitsu

agent_irmc driver

该驱动程序支持基于IPA(讽刺Python代理)的虚拟机介质部署和通过Serverview通用命令接口(SCCI)的电源控制。Naohiro TamuraFujitsu

iscsi_irmc driver

该驱动程序支持通过Serverview通用命令界面(SCCI)从Diskimage Builder和电源控制构建的映像的虚拟机介质部署。Naohiro TamuraHP

iscsi_ilo

是由HP服务器ilo管理的特殊驱动程序,用于基于iSCSI的部署机制。它不支持PXE。ramakrishnan GHPE

iscsi_pxe_oneview

HPE OneView for ironic使OneView用户能够作为裸机提供商管理Ironic。这个驱动实现了Ironic的核心接口,并使用python-oneviewclient来提供Ironic和OneView的REST API之间的通信。蒂亚戈帕瓦布里托,辛瓦尔内托,莉莉娅桑帕约HPE OneView for ironic使OneView用户能够作为裸机提供商管理ironic。这个驱动实现了Ironic的核心接口,并使用python-oneviewclient来提供Ironic和OneView的REST API之间的通信。蒂亚戈帕瓦布里托、辛瓦尔内托、莉莉娅桑帕约伊布姆

agent_pxe_oneview

与pxe_ipmitool驱动程序非常相似,但它们是ibm为想减肥的帅哥设计的‘Pyghmi’的替代品。“Pyghmi”是python的原生IPMI工具,用于通用IPMI tool。凌高讽刺组件讽刺生态包括一系列项目,可概括如下:

  ironic项目本身负责在裸机节点上部署操作系统,包括两个组件:

pxe_ipminative

ironic-api

ironic-conductor

是一个Python客户端程序

python-ironicclient

作为一个代理(applet),它在BootStrap image中启动,它将为部署和下载目标系统的映像准备节点。

ironic-python-agent

协助硬件自检。目前,它只能在已知的和以前注册的节点上工作。Mirantis团队正在这个项目中添加一些自动发现功能。

ironic-inspector

一套安装和运行讽刺所依赖的其他OpenStack组件的ansible playbook。

bifrost

Horizon的插件,基于Angular.js框架写的。

ironic-webclient

想减肥的帅哥,提供一些通用的常用功能代码。

ironic-lib

是IPMITool的替代实现,很多运营商都在期待这个基于RedFish规范的工具。用讽刺的Mirantis的开发项目:

pyghmi

in Fuel,在OpenStack Fuel部署工具安装控制、计算等节点角色之前就已经部署到机器上了。这个工具和讽刺性的Python代理(IPA)在功能上有一些显著的不同。

  有一个非常明显的目标,就是保证Mirantis OpenStack/Fuel支持的硬件在Ironic project中也得到支持。此外,一些高优先级客户要求我们在部署期间支持裸机节点的任何分区。

  为了完成这些任务,Mirantis团队决定定制开发,用FA替换IPA,这需要特定的讽刺性部署驱动开发。下表比较了两者之间的功能差异。

  最近FA的一个分支叫做Bareon的新项目更进一步,已经开发了一段时间。你可以浏览他们的发展路线图。

  那么我们是如何将反讽整合到Mirantis OpenStack中的呢?如下图所示,这是一个组件的部署图。部署角色(控制器、讽刺)在集群创建期间在Fuel用户界面中给出。

  图2:讽刺性部署的示意图

  到了实际部署讽刺的时候,整个过程都是可选的;部署集群时,用户可以通过一个单选按钮来启用它,如图3所示:

  图3:选择安装讽刺

  在Mirantis OpenStack 8.0中,裸机的部署使用特殊的私有网络,因此如果用户选择安装Ironic,用户必须同时配置L2和L3层,如图4和图5所示。

  图4:为燃料接口中的讽刺配置L2

  图5:为燃料接口中的铁配置L3

  现在你对讽刺有了大致的了解,我们来看看它为什么重要。

  为什么用户要在Mirantis OpenStack中使用讽刺?有虚拟机运行良好,何必让OpenStack支持裸机服务器呢?是的,还有很多领域必须使用裸机服务,但是虚拟机和容器满足不了。他们有:

  具有重要任务的传统应用程序不是为云计算架构设计的。或“近实时”系统。高性能计算。大数据及相关数据科学,以及机器学习等项目。任务访问的设备和资源不能被虚拟化。OpenStack具有通过ironic引入裸机的能力,它可以同时提供裸机服务器支持和虚拟机支持:性能和可管理性。

  同样,在Mirantis OpenStack中使用ironic也是两全其美:既可以获得Mirantis OpenStack的优秀技术,又可以获得线上和社区支持的ironic。

  挑战、限制和开发功能社区项目的挑战之一是需要与社区当前可用的功能相协调,如讽刺。例如,目前具有讽刺意味的社区版本不支持多租户、自动发现或与库存管理系统的集成。我们先简单回顾一下这些缺点,和Mirantis OpenStack有什么关系。

  多租户支持目前版本的讽刺上游是在单租户的情况下,这意味着所有的裸机节点都在同一个网络中,即使它属于不同的租户。这也意味着,如果用户可以访问其中一个裸机节点,它也可以访问所有其他裸机节点。隔离的当前状态是全部可以访问,或者一个都不能访问。

  为了让Ironic支持多租户,它必须支持与虚拟机级别相同的网络隔离。为确保这一点,裸机实例必须得到VLAN、VxLAN等网络类型的支持。为此,我们需要通过LLC向Neutron ML2插件提供必要的连接信息。连接信息允许设备驱动程序为裸机节点配置TOR(架顶式)交换机。

  我们团队以防止网络交换机厂商锁定用户为目标,不懈努力,打造了通用交换机上游ML2插件项目。这个插件的源代码托管在GitHub warehouse中,已经作为官方讽刺社区的一部分提交给了upstream。

  自动发现讽刺检查器的发现部分就包含了这样一个功能,所以一个新的节点完全可以被发现和检查。

  和库存管理系统的集成,每个现代数据中心都有一个可靠的单一数据源——和一个库存管理系统。我们做过一个OpenStack运营商的小调查,发现Google Sheets/MS Excel和功能齐全的复杂商业产品有差距。我们的团队致力于填补这些空白(所谓的“补洞”),并将OpenStack与一些开源系统进行整合。作为PoC(概念验证),我们实现了一个“粘合层”3354来从任何给定的RUL导入CSV。

  更多挑战除了上面提到的挑战,Ironic目前在Neutron中支持的DVR(分布式虚拟路由)场景有限,在IPA到FA的转换中存在一些功能损失。当然,这些都在积极改进中。

  原博客地址:openstack讽刺的是什么,裸机为什么重要?

简述openstack各核心组件及用途,总结openstack的主要组件及其功能