Openstack是一个云平台管理的项目。
OpenStack是一个开源的云平台,它属于云计算中的IaaS,
简单来讲:他是来管理我们的硬件设施的。将服务器、交换机、路由器和存储等都由OpenStack 平台管理。
我们在设备上部署Linux操作系统,然后在操作系统上部署OpenStack,由OpenStack决定哪些虚拟机应该启动在哪些物理的计算节点上。
OpenStack是由很多个核心组件组合而成,每个组件都负责自己的一小块功能,如:负责提供计算服务的Nova,提供网络服务的 Neutron,他们各自都有属于自己的管理接口,所谓管理接口就是基于HTTP请求的web服务,主要是用于接受命令行工具或者组件的http请求。
先简单介绍各个组件,后面再进行详细讲解
- keystone身份认证服务
- glance镜像服务
- nova计算服务
- Neutron网络服务
- Horizon看板服务
- Cinder磁盘服务
- Swift对象存储服务(鸡肋 一般不用)
- Ceilometer计量服务
- Heat编排服务
身份认证是怎么工作的,以图为例
从图可以看出,每个组件进行操作之前都会 调用 keystone验证身份信息!
三个重要的概念:用户(user)、角色(role)、租户(project)【也可以叫项目】
- 用户:创建用户,信息包括用户名、密码、邮箱等信息,但是 只创建用户 在Openstack中是不可以使用资源的!
- 租户:OpenStack中所有的资源都是根据 租户来进行隔离的,一个用户必须先关联到租户下才可以调用资源
- 角色:限制用户对资源的访问。角色只能关联 租户下的用户,并且 一个用户在不同的租户下可以由不同的角色。
租户、用户的理解:如 用户为 公司的员工,部门就是一个租户,员工分配到部门下,才可以正常工作。
一个用户可以有多个租户,在不同租户下的角色也可以不一样
好了,看下面这个图,继续分析 :
上图(左侧篮框)讲解:
- OpenStack搭建好之后,会有个蓝色的框 ,称之为 domin(相当于数据库的概念),上图有两个租户。
- 【用户-admin/角色-admin】表示:一个用户加入租户 一定要有角色信息,admin为 超管的角色
- 一个用户在不同租户下,只要有角色是 admin, 他就是 整个OpenStack的超级管理员
问题来了 :
董事长是admin 什么都要他来管吗,或者给旗下分公司老大admin角色,他的权限不久和我一样了吗?
看右侧的篮框
OpenStack下可以创建多个domin.如 Domin-bus1,将 某个用户放到某个租户下的admin角色,那么他就只是 这个租户下的超管
企业私有云一个Domin就够了,多个Domin就需要激活多Domin的服务
还有 一些不重要的术语,了解即可
- group 组:
把用户分组,然后按组分租户、角色,就把组里的所有用户分了租户和角色,== 脱了裤子放屁,多此一举的功能 - service endpoint 服务终点
每个组件都有个API,有API 就一定会有IP地址和访问的方法
服务终点即一个服务提供的地址比如 http://192.168.100.20:5000/v3 ,这就是一个
服务终点,服务终点是用来提供基于 http 请求的 API 方法的一个地址。
- 身份认证服务
- 资源服务
- 分配服务/ Assignment Service
上面三个服务 就是 上面讲的 用户 根据租户下不同角色进行分配资源
- 票据服务/ Token Service
负责验证 token 票据的验证服务。 - 目录服务/Catalog Service
负责服务 Endpoint 的管理,只有注册了正确的 Endpoint,服务才能正常被调用 - 规则服务/Policy Service
管理规则服务,一般规则文件会在/etc/项目/Policy.json,里面定义了每个方法需
要用什么角色来访问。
负责管理openstack的在线镜像仓库,镜像 == 操作系统,通过配置将它存放在对象存储(Swift)、ceph或者Gluster中
2.3、nova计算服务 2.4、Neutron网络服务 2.5、Horizon看板服务 2.6、Cinder磁盘服务 2.7、Swift对象存储服务(鸡肋 一般不用) 2.8、Ceilometer计量服务收集项目的各种资源的使用情况
2.9、Heat编排服务


