OpenStack 架构

OpenStack 是一个开源的云计算管理平台项目,它提供了一整套软件工具,用于构建和管理公有云和私有云环境中的基础设施即服务(IaaS)。简单来说,它就像一个云操作系统,能够通过 API 或管理界面,池化大量的计算、存储和网络资源,并按需分配给用户。

1、逻辑架构图

flowchart TD subgraph UserLayer [用户层] A[用户/管理员] end subgraph APILayer [API/管理层] B[Dashboard<br>Horizon] C[CLI / SDK] end subgraph CoreServicesLayer [核心服务层] D[Identity<br>Keystone] subgraph ComputeServices [计算服务] E[Compute<br>Nova] end subgraph NetworkServices [网络服务] F[Networking<br>Neutron] end subgraph StorageServices [存储服务] G[Block Storage<br>Cinder] H[Object Storage<br>Swift] end I[Image Service<br>Glance] end subgraph InfrastructureLayer [基础设施层] J[Hypervisor<br>KVM, VMware等] K[网络设备] L[存储阵列<br>本地/集中式存储] end A --> B A --> C B --> D C --> D D -- 认证令牌 --> E D -- 认证令牌 --> F D -- 认证令牌 --> G D -- 认证令牌 --> H D -- 认证令牌 --> I E -- 创建实例 --> J E -- 分配存储 --> G E -- 配置网络 --> F E -- 获取镜像 --> I F -- 管理网络 --> K G -- 提供卷 --> L H -- 存储对象 --> L I -- 存储镜像 --> L

2、核心组件

  • Nova:管理虚拟机的生命周期(创建、启动、停止、迁移、删除等),负责计算资源的调度和管理。
  • Cinder:为虚拟机提供块存储服务,管理持久化存储卷的创建、挂载、卸载和快照等功能。
  • Neutron:提供虚拟网络连接服务,管理虚拟网络的创建、配置(如IP地址分配、子网、路由器、安全组等)。
  • Keystone:为所有 OpenStack 服务提供统一的身份认证、授权和服务目录管理。
  • Glance:存储和管理虚拟机镜像(模板),例如操作系统镜像。支持多种镜像格式。
  • Swift:提供对象存储服务,用于存储大量非结构化的静态数据(如图片、视频、备份文件等)。
  • Heat:提供编排服务,允许用户通过模板定义和自动化部署复杂的云应用架构(如自动创建包含计算、网络、存储资源的完整堆栈)。

3、物理/部署架构

OpenStack 节点通常根据功能被划分为:

  • 控制节点 (Controller Node):

    • 运行大多数核心服务的API组件、数据库(MySQL)、消息队列(RabbitMQ)和调度器。
    • 是云的大脑和管理中心。通常需要部署多个以实现高可用(HA)。
  • 计算节点 (Compute Node):

    • 运行计算服务(Nova-Compute)和Hypervisor(如KVM)。
    • 提供实际的计算资源来运行虚拟机实例。可以根据需要水平扩展。
  • 网络节点 (Network Node): (可选,在现代部署中常被分布式路由取代)

    • 专门运行Neutron的高级网络服务,如Neutron ServerL2/L3 Agent等。
  • 存储节点 (Storage Node):

    • 块存储节点: 运行Cinder-Volume服务,提供后端存储空间。
    • 对象存储节点: 运行Swift的代理和存储服务,构成Swift集群。

4、总结

OpenStack 的架构精髓在于其 松耦合的模块化设计。各个服务通过 统一的认证(Keystone)消息队列(如RabbitMQ) 进行通信,以 API驱动 的方式协同工作,共同提供了完整的云基础设施管理能力。

posted @ 2025-09-12 09:40  xclic  阅读(49)  评论(0)    收藏  举报