简单介绍

  • 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核心架构介绍


可以看到不管是哪个组件都是围绕我们的VM虚拟机

主要组件及功能简介

核心服务

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消息队列服务,消息队列去传递组件之间的通信,消息记录保存到数据库中。

问题

服务和服务之间如何通信的? ?

restful api

服务中组件和组件之间如何通信的??

消息队列

  • Neutron服务各个组成部分以及组件之间的逻辑关系,各个组件也能部署到不同的物理节点上。
  • Openstack本身是一个分布式系统,不仅各服务可以分布部署,服务中的各个组件也可以分布部署。
  • 这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。
  • 当然从另一个角度讲,这也使得 OpenStack 比一般系统复杂,学习难度也更大。
最后修改:2024 年 03 月 14 日
如果觉得我的文章对你有用,请随意赞赏