【云服务管理】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。元数据描述镜像的属性如架构、操作系统、磁盘大小、最小内存。镜像状态queued、saving、active、deactivated、killed等生命周期状态。镜像共享允许用户或项目共享镜像给其他项目。6. Keystone身份认证服务核心功能为OpenStack所有服务提供统一的认证、授权和令牌管理。它是一个核心的、无状态的服务。关键概念用户使用OpenStack服务的人员或服务账户。项目资源的逻辑分组用于多租户隔离。旧版本常称为“租户Tenant”。角色定义了用户在项目中的权限如admin、member、reader。服务目录所有OpenStack服务的API端点列表由Keystone统一管理。令牌用户通过认证后获得的临时凭证用于后续调用其他API。域用于管理用户、项目、角色的顶级命名空间常用于大型组织或联邦身份。后端支持多种后端认证机制如SQL、LDAP、Active Directory、OpenID Connect、SAML。7. Horizon仪表盘服务核心功能提供基于Web的用户界面让管理员和普通用户通过浏览器管理和使用OpenStack资源。关键概念可扩展性允许通过插件和面板定制界面和功能。多语言支持界面支持国际化i18n。与API结合本质上是一个客户端通过调用各个服务的API来实现功能。8. Heat编排服务核心功能通过模板定义和自动化部署云资源。实现了基础设施即代码IaC。关键概念模板使用HOTHeat Orchestration Template基于YAML或CFNCloudFormation格式描述资源集合及其关系。栈模板的一次具体部署实例包含模板中定义的所有资源。资源模板中可以定义的各种OpenStack资源如实例、网络、卷、安全组。自动伸缩组通过热启动、冷却策略等根据负载自动调整计算资源数量。输出栈创建完成后可以从栈中获取某些资源的属性值如实例的IP地址。9. Ceilometer遥测服务核心功能负责收集、计量和存储OpenStack云平台的使用数据CPU、内存、网络、存储等。关键概念计量定义了一个可测量的数据点如cpu_util、disk.read.bytes。样本某个计量在某个时间点的具体数值。统计对样本数据进行聚合如平均值、总和、最大值后的结果。警报基于统计值触发预定义操作如触发Heat伸缩组。数据收集机制通过轮询从其他服务API拉取或通知监听消息队列事件两种方式。10. Ironic裸机服务核心功能在OpenStack中管理物理裸机服务器像管理虚拟机一样实现自动化的裸机生命周期管理开机、关机、部署、重建、删除。关键概念Bare Metal Node代表一台物理服务器的资源状态。Instance在裸机上运行的操作系统实例。PXE用于通过网络引导安装操作系统。IPMI用于远程电源管理和监控硬件状态。整机交付直接给用户分配物理机适合高性能计算、大数据、数据库等对性能和安全隔离要求高的场景。总结组件之间的关系用户User通过HorizonUI或CLI命令行发起请求。请求首先经过Keystone进行身份认证和授权。Nova是“大脑”负责资源的编排调度。它调用Glance下载镜像、Cinder创建或挂载卷、Neutron创建网络和端口以及Ironic管理裸机来完成一个实例的创建。Swift主要被Glance和Cinder作为后端存储用于存放镜像文件和备份数据。Heat接收高级模板并协调调用Nova、Neutron、Cinder等服务的API自动化地创建和销毁整个资源栈。Ceilometer监控所有服务的运行状态和资源使用情况并将数据用于计费或触发Heat的自动伸缩。