【云服务管理】OpenStack 十大组件浅谈

OpenStack 十大组件浅谈

虽复杂,但强大...


1. Nova:计算服务

  • 核心功能:管理和自动化计算资源池。它是OpenStack的核心,负责创建、调度、销毁虚拟机(VM)或裸机实例。
  • 关键概念
    • Hypervisor:底层虚拟化技术(如KVM、Xen、VMware vSphere、Hyper-V)。
    • Scheduler:根据资源需求、亲和性规则等,决定将实例部署到哪个计算节点上。
    • Cells:用于实现大规模部署的水平扩展和分区。
    • Placement API:负责跟踪和管理资源提供者的库存和利用率。

2. Neutron:网络服务

  • 核心功能:实现"网络即服务"(NaaS),为OpenStack中的其他服务(如Nova)提供网络连接。
  • 关键概念
    • 网络:虚拟的二层网络,可以创建为Flat、VLAN、VXLAN、GRE等类型。
    • 子网:为网络分配IP地址的地址池。
    • 路由器:提供不同网络(如租户网络和外部网络)之间的三层路由和NAT(网络地址转换)功能。
    • 安全组:为实例提供有状态的、基于端口的包过滤防火墙。
    • ML2插件:机制层,用于对接不同的底层网络技术(Linux Bridge、OVS)。
    • L3 Agent:负责路由、浮动IP、NAT的代理组件。
    • DHCP Agent:为租户网络提供DHCP服务。
    • DVR:分布式虚拟路由,将路由工作分发到计算节点,避免单一网络节点瓶颈。

3. Cinder:块存储服务

  • 核心功能:提供持久化的块存储设备(类似云硬盘),可以动态挂载到Nova实例上。
  • 关键概念
    • :提供给实例使用的块存储设备。
    • 卷类型:定义存储的性能和特性(如SSD、HDD、备份策略)。
    • 快照:卷在特定时间点的只读副本,用于备份和恢复。
    • 一致性组:一组卷的快照集合,确保数据写入的时间一致性。
    • 备份:将卷的数据备份到对象存储(如Swift)或第三方存储后端。
    • 后端驱动:对接各类商业或开源存储阵列(如Ceph、NetApp、HPE、Dell EMC)。

4. Swift:对象存储服务

  • 核心功能:提供高可用、分布式、最终一致性的对象存储系统。适用于存储非结构化数据(如镜像、备份、日志、图片、视频)。
  • 关键概念
    • 容器:用于存放对象的命名空间,类似于文件夹。
    • 对象:由数据本身和元数据组成。
    • Ring:核心算法,用于将数据(包括多个副本)映射到物理磁盘上,实现数据分布和冗余。
    • 区域:物理隔离的故障域(如不同的数据中心)。
    • 一致性模型:采取最终一致性,牺牲强一致性换取高可用性和扩展性。

5. Glance:镜像服务

  • 核心功能:提供虚拟机镜像的发现、注册、检索和存储服务。它本身不存储镜像,而是将镜像存放在后端(如Swift、本地文件系统、Ceph、S3)。
  • 关键概念
    • 镜像格式:支持多种格式(如qcow2、raw、vmdk、vhd、iso)。
    • 元数据:描述镜像的属性(如架构、操作系统、磁盘大小、最小内存)。
    • 镜像状态queuedsavingactivedeactivatedkilled 等生命周期状态。
    • 镜像共享:允许用户或项目共享镜像给其他项目。

6. Keystone:身份认证服务

  • 核心功能:为OpenStack所有服务提供统一的认证、授权和令牌管理。它是一个核心的、无状态的服务。
  • 关键概念
    • 用户:使用OpenStack服务的人员或服务账户。
    • 项目:资源的逻辑分组,用于多租户隔离。旧版本常称为"租户(Tenant)"。
    • 角色 :定义了用户在项目中的权限(如 adminmemberreader)。
    • 服务目录:所有OpenStack服务的API端点列表,由Keystone统一管理。
    • 令牌:用户通过认证后获得的临时凭证,用于后续调用其他API。
    • :用于管理用户、项目、角色的顶级命名空间,常用于大型组织或联邦身份。
    • 后端:支持多种后端认证机制(如SQL、LDAP、Active Directory、OpenID Connect、SAML)。

7. Horizon:仪表盘服务

  • 核心功能:提供基于Web的用户界面,让管理员和普通用户通过浏览器管理和使用OpenStack资源。
  • 关键概念
    • 可扩展性:允许通过插件和面板定制界面和功能。
    • 多语言支持:界面支持国际化(i18n)。
    • 与API结合:本质上是一个客户端,通过调用各个服务的API来实现功能。

8. Heat:编排服务

  • 核心功能:通过模板定义和自动化部署云资源。实现了基础设施即代码(IaC)。
  • 关键概念
    • 模板:使用HOT(Heat Orchestration Template,基于YAML)或CFN(CloudFormation)格式描述资源集合及其关系。
    • :模板的一次具体部署实例,包含模板中定义的所有资源。
    • 资源:模板中可以定义的各种OpenStack资源(如实例、网络、卷、安全组)。
    • 自动伸缩组:通过热启动、冷却策略等根据负载自动调整计算资源数量。
    • 输出:栈创建完成后,可以从栈中获取某些资源的属性值(如实例的IP地址)。

9. Ceilometer:遥测服务

  • 核心功能:负责收集、计量和存储OpenStack云平台的使用数据(CPU、内存、网络、存储等)。
  • 关键概念
    • 计量 :定义了一个可测量的数据点(如 cpu_utildisk.read.bytes)。
    • 样本:某个计量在某个时间点的具体数值。
    • 统计:对样本数据进行聚合(如平均值、总和、最大值)后的结果。
    • 警报:基于统计值触发预定义操作(如触发Heat伸缩组)。
    • 数据收集机制:通过轮询(从其他服务API拉取)或通知(监听消息队列事件)两种方式。

10. Ironic:裸机服务

  • 核心功能:在OpenStack中管理物理裸机服务器,像管理虚拟机一样,实现自动化的裸机生命周期管理(开机、关机、部署、重建、删除)。
  • 关键概念
    • Bare Metal Node:代表一台物理服务器的资源状态。
    • Instance:在裸机上运行的操作系统实例。
    • PXE:用于通过网络引导安装操作系统。
    • IPMI:用于远程电源管理和监控硬件状态。
    • 整机交付:直接给用户分配物理机,适合高性能计算、大数据、数据库等对性能和安全隔离要求高的场景。

总结:组件之间的关系

  • 用户(User) 通过 Horizon(UI)CLI(命令行) 发起请求。
  • 请求首先经过 Keystone 进行身份认证和授权。
  • Nova 是"大脑",负责资源的编排调度。它调用 Glance(下载镜像)Cinder(创建或挂载卷)Neutron(创建网络和端口) 以及 Ironic(管理裸机) 来完成一个实例的创建。
  • Swift 主要被 GlanceCinder 作为后端存储,用于存放镜像文件和备份数据。
  • Heat 接收高级模板,并协调调用 NovaNeutronCinder 等服务的API,自动化地创建和销毁整个资源栈。
  • Ceilometer 监控所有服务的运行状态和资源使用情况,并将数据用于计费或触发 Heat 的自动伸缩。
相关推荐
Harvy_没救了1 天前
【容器技术】OpenStack 概览
openstack
做咩啊~7 天前
10.openstack创建虚拟机的流程
openstack
360智汇云8 天前
OpenStack Nova 虚拟机网卡挂卸载性能优化实践
性能优化·openstack
eucalyptus-DE10 天前
Nova 计算节点故障排查指南
服务器·openstack
做咩啊~24 天前
7.cinder对接nfs后端存储
openstack
isyangli_blog24 天前
openstack 下载打包整套环境
服务器·网络·openstack
isyangli_blog24 天前
openstack 界面发放一台云主机
openstack
isyangli_blog1 个月前
Openstack V 版搭建
openstack
isyangli_blog1 个月前
openstack V版 本地源方式搭建
运维·openstack