OpenStack简介
【摘要】 OpenStack是一个开源的云操作系统,实现对虚拟化资源(计算、存储、网络)的统一调度管理。
1 一句话介绍
OpenStack是一个开源的云操作系统,实现对虚拟化资源(计算、存储、网络)的统一调度管理。
2 基本概念
- 云计算:本质是一种共享资源的组织与交付模型,实现从共享的虚拟化资源池中按需快速供应、释放资源。
- 云服务:通过互联网获得云计算资源的一系列服务。特点是按需自助、广泛网络接入、资源池化、可弹性伸缩、可计量计费。
- 虚拟化:将物理资源从时空维度分割成多个逻辑资源。
- 云操作系统:对虚拟化后的逻辑资源进行统一调度管理,本身不具备虚拟化能力。
- Project:项目,旧称tenant。隔离的计算资源的集合,也可以看作下层user(用户)的集合。在华为私有云中对应虚拟数据中心(VDC)服务。
- Domain:域。项目的集合,相当于项目的命名空间,不同domain中的项目可以重名。
3 组件概览
OpenStack的各个模块组件是可插拔式的,意味着可以根据需求进行组件组合。
- Nova: 提供计算服务,包括虚拟机生命周期管理等
- Neutron: 提供网络服务,包括虚拟网络创建、拓扑管理等
- Cinder: 提供块存储服务,可对接不同类型的存储后端等
- Keystone: 为各组件提供认证授权服务,包括用户名/密码以及令牌(token)两种方式
- Glance: 提供虚拟机镜像注册服务
- Swift: 提供对象存储服务,用于永久类型的静态数据的长期存储,包括镜像文件等
- RabbitMQ: 高级消息队列,消息中间件,提供系统内消息的灵活路由。
- Ceilometer: 提供各组件指标计量、监控以及告警服务
- Horizon: 提供UI服务
- Heat: 提供编排服务,通过json或yaml文件模板,编排复杂的云应用
4 Nova
Nova由多个组件构成,不同组件可运行在不同节点上。
- nova-api: 整个nova组件的门户,所有对Nova的请求都经过api调用其他子服务处理。仅接收和虚拟机相关的操作。运行在三个控制节点上。
- nova-scheduler: 虚拟机调度服务,负责决定虚拟机在哪个计算节点上执行,常用为filter scheduler。运行在三个控制节点上。
- nova-compute: 调用Hypervisor的API实现对虚拟机生命周期的管理。运行在所有节点上。
- nova-conductor: 获取、更新数据库中的虚拟机的信息。运行在三个控制节点上。
- nova-console: 提供访问虚拟机的控制台,包括nova-novncproxy(VNC)等。
5 Neutron
Neutron实现了计算与网络服务解耦。可以创建VLAN/VxLAN等不同类型的网络。
Neutron创建网络资源类型:
- Network:通过配置VLAN/VxLAN为租户隔离出一个局域网,二层广播网络。
- Subnet:在network下配置子网(CIDR),不同子网(网段)之间通信需要通过网关。
- Port:与虚拟网卡(网络接口)连接的虚拟端口。
- Router:虚拟路由器。实现网络的隔离与互通,通常一个Router对应一个逻辑隔离的用户私有网络VPC。
Neutron创建三种网络:
- 内部网络:可分为管理网路和数据网络。提供OpenStack组件之间通信。
- 外部网络:提供OpenStack虚拟机访问互联网及外部调用OpenStack API的能力。
- 存储网络:访问存储服务的网络。
6 Cinder
Cinder本身不提供存储能力,主要下发创建虚拟机Volume的命令,用来屏蔽后端存储差异。包括主要组件如下:
- cinder-api: 整个Cinder组件的门户,所有的请求都经过api调用其他子服务处理。仅接收和Volume相关的操作。运行在三个控制节点上。
- cinder-scheduler: 根据容量、Volume Type 等条件选择出最适合的存储节点,然后创建 Volume。运行在三个控制节点上。
- cinder-volume: 管理Volume的生命周期,支持多种driver进行卷的创建,默认是LVM。运行在存储节点上。
7 参考
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)