openstack基础

1.openstack

它最先由美国国家航空航天局(NASA)和 Rackspace 在 2010 年合作研发,现在参与的人员和组织汇集了来自 100 多个国家的超过 9500 名的个人和 850 多个世界上赫赫有名的企业,如 NASA、谷歌、惠普、Intel、IBM、微软等。

目前包括 6 个核心组件(Nova、Neutron、Swift、Cinder、Keystone、Glance)和 14 个可选组件,每个组件包含若干个服务,后续版本中组件分类及数量都可能会发生变化,如图 1 所示。

参考

openstack主要功能模块

image.png

2.主要模块

A.Horizon-UI服务:提供ui层的功能,主要将用户或者运维人员的操作转化为对api的调用。

B.keystone: 身份认证模块。

基本概念:

user 用户
租户:tenent 用户能够访问资源的集合
角色:代表一组用户可以访问的权限
服务:nova,glance,swift,这些服务都会在keystone上注册,当用户访问这些服务后就会进行权限控制。
endpoint: 服务访问的地址,如果访问一个服务必须知道其endpoint
token: 访问资源的令牌

keystone提供的服务:

identity: 用户认证服务
token服务:生成token并且验证token是否有效
catalog: 提供端点发现服务的注册表
policy: 基于规则的身份验证引擎

C.Nova 计算组件

OpenStack的核心服务:

实例生命周期管理(vm,裸机,容器)
计算资源的管理。
向外提供restful风格的api.

包含nova-api,nova-scheduler,nova-comput模块
nova-api: 负责对外提供api
nova-scheduler: 负责决定vm创建在哪台具体的物理机上。
nova-compute: 负责vm的具体创建以及资源的分配等等,不提供虚拟化功能,但支持kvm,xen等等。
三个模块通过mq进行消息解耦。nova-api->nova-scheduler->nova-compute.

D.Glance 镜像服务组件

提供镜像的存储,搜索和查询等的服务,主要为nova提供服务。
依赖存储和数据库服务。存储提供镜像的物理存储,数据库记录镜像的元信息。

E.swift 对象存储服务

高可用的对象存储服务。
account->container->object

F.cinder 块存储服务

块存储服务,管理所有块存储服务,块存储需要挂靠在vm上。

cinder request->cinder api->rabbit mq -> cinder scheduler ——> cinder volume

G.neutron

提供云环境下的虚拟网络功能
为每一个租户提供独立的网络环境

主要有三种模式:
flat模式
flat dhcp模式
vlan 模式:为每一个租户设置一个虚拟子网,用户可以自己设置自己的私有ip。

3.组件之间的关系

image.png

4.创建一个vm的过程

image.png

你可能感兴趣的:(openstack)