OpenStack 概述

什么是 OpenStack#

OpenStack 是一套开源的 IaaS(基础设施即服务) 云平台软件,用于在数据中心内统一管理计算、存储、网络等资源,并通过 REST API 和 Web 控制台对外提供自助式云服务。

典型使用场景:

  • 私有云 / 混合云建设
  • 开发测试环境快速交付虚拟机
  • 多租户资源隔离与配额管理
  • 与上层 PaaS、容器平台(如 Kubernetes)集成

架构模型#

本文档对应的实验环境采用 双节点架构

节点主机名管理网 IP角色
控制节点controller11.0.1.30API、数据库、消息队列、调度、网络控制面
计算节点compute11.0.1.40虚拟机运行、Neutron Agent、块存储/对象存储后端

每台虚拟机配置 双网卡

网卡VMware 连接用途
ens33NAT(VMnet8)管理网:节点通信、API、软件源
ens34仅主机(VMnet1)Provider 网:Neutron 外部网络桥接,不配置 IP

核心组件(基础组件)#

基础组件构成最小可用的 IaaS 平台,按依赖顺序部署:

组件作用默认端口
MariaDB各服务持久化数据存储3306
RabbitMQ服务间异步消息通信5672
MemcachedToken 与会话缓存11211
Etcd分布式键值存储(扩展组件依赖)2379
Keystone身份认证、服务目录、Token 签发5000
Glance镜像注册与存储9292
Placement资源库存与调度(Nova 依赖)8778
Nova计算服务:虚拟机生命周期管理8774
Neutron网络服务:虚拟网络、路由、安全组9696
HorizonWeb 管理控制台(Dashboard)80/dashboard

组件协作关系#

用户/CLI ──► Keystone(认证)──► 各服务 API
MariaDB / RabbitMQ / Memcached
┌───────────┼───────────┐
▼ ▼ ▼
Nova Neutron Glance
(计算) (网络) (镜像)
│ │
└──── Placement ────┘

扩展组件#

在核心平台就绪后,可按需选装:

组件作用说明
Cinder块存储为云主机提供可挂载的持久化磁盘卷
Swift对象存储大文件、静态资源、备份归档
Heat编排服务通过模板自动化创建资源栈
Manila共享文件系统NFS 等共享存储
Ceilometer计量服务资源使用量采集
Trove数据库服务DBaaS
Octavia负载均衡LBaaS
Barbican密钥管理证书与密钥托管

本文档系列重点覆盖 Cinder、Swift、Heat 三个常用扩展组件的部署步骤。

版本与操作系统#

项目版本
OpenStackTrain
操作系统CentOS 7.9
虚拟化KVM(libvirt)
网络插件ML2 + Linux Bridge

部署原则#

  1. 按序部署:每完成一个组件并验收通过后,再部署下一个。
  2. 控制节点优先:数据库、Keystone 及多数 API 服务仅在控制节点安装。
  3. 先控制面后数据面:如 Nova、Neutron、Cinder 均先在控制节点装 API/调度,再在计算节点装 Agent/Volume。
  4. 密码统一:实验环境默认密码为 000000,生产环境须修改。
  5. 网络先行:Neutron 就绪后才能创建云主机;外部网络在核心服务全部部署后单独创建。

后续阅读#

文章目录

文章目录