简单介绍
- OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的。
- OpenStack 前期包含两个主要模块:Nova(主要是负责虚拟机的声明周期) 和 Swift
最初共有3W行代码,目前已经过百万行http://stackalytics.com/
代码贡献
(截止2020/5/11)
官方定义
OpenStack对数据中心的计算、存储和网络资源进行同一管理,由此可见,OpenStack针对IT基础设施、是laaS这个层次的云操作系统。
版本演变
这设计版本号的也是个人才,ABCDEFG往下排,现在开发中的是U开头的
版本 | 特性 |
---|---|
Newton版本 | Cell v2,可以将你的数据中心合并为统一的管理 创建无IP地址的虚拟机 配置新增enabled_backends,定义后端类型 |
Ocata版本 | 增强Hyper-v的支持 支持ploop格式的镜像 支持QoS |
DSCP功能 | |
Pike版本(大版本) | 开始使用Python3 添加“还原快照”功能 K8S集群默认包含K8S面板 |
Queens版本 | 支持vCPU(虚拟图形化处理单元):请求特定资源 Zun容器服务:快速启动和运行容器 Openstack-Helm:Kubernetes之上管理Openstack LOCI(轻量级开放容器计划):Kolla项目的替代方案 |
基础架构(功能)
OpenStack为虚拟机提供并管理三大类资源:计算、网络和存储
Openstack核心架构介绍
主要组件及功能简介
核心服务
Keystone | 认证服务,为各种服务提供认证和权限管理服务 |
---|---|
Glance | 镜像服务,管理VM启动时的镜像 |
Nova | 计算服务,管理VM的生命周期(核心)包括创建,删除,暂停虚拟机 |
Neutron | 网络服务,提供网络连接服务,负责为VM创建L2(指的虚拟机之间的通信)和L3(路由)网络 |
Cinder | 块存储服务,Cinder的每一个Volume对于VM都像一块Disk |
Swift | 对象存储服务,VM通过Restful |
API存储对象数据(可选) |
可选服务(看需求)
Ceilometer | 监控计量服务,为报警、统计或计费提供数据 |
---|---|
Heat | 编排服务,管理编排资源,完成编排任务 |
Horizon | 为Openstack用户提供一个Web的自服务Portal |
Trove | 数据库服务,为数据库引擎提供云部署的功能 |
Telemetry | 收集服务,对计量数据进行服务 |
Zun | 快速管理容器的生命周期,创建和删除容器 |
核心服务内部的组成结构
可以看到每个服务都含有很多小的组件,这就是分布式的部分的体现,这张图过于复杂
以Neutron为例
这里的重点就是queue消息队列服务,消息队列去传递组件之间的通信,消息记录保存到数据库中。
问题
服务和服务之间如何通信的? ?
服务中组件和组件之间如何通信的??
消息队列
- Neutron服务各个组成部分以及组件之间的逻辑关系,各个组件也能部署到不同的物理节点上。
- Openstack本身是一个分布式系统,不仅各服务可以分布部署,服务中的各个组件也可以分布部署。
- 这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。
- 当然从另一个角度讲,这也使得 OpenStack 比一般系统复杂,学习难度也更大。
此处评论已关闭