OpenStack组件——Keyston身份认证服务
一、Keystone身份服务简介
Keystone (openStack ldentity Service)是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证、令牌管理、提供访问资源的服务目录、以及基于用户角色的访问控制。
Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身份验证,来获得目标服务的Endpoint来找到目标服务。
1.1、概述:主要功能
身份认证:对用户进行身份认证,并对应权限范围
用户授权(令牌管理权限):以token令牌的方式标识用户对应拥有的权限范围
用户管理(寻址功能):提供用户访问资源的寻址功能(URL)
服务目录:所有服务的交互/调用,均需要keyston进行认证
1.2、管理对象
①User:指使用Openstack service的用户,nova glance(跑在OpenStack里面,是需要一个用户进行管理的)。
②Project(Tenant):可以理解为一个人或服务所拥有的资源集合。
③Role:用于划分权限,通过给User指定Role, 使User获得Role对应操作权限。
④Authentication:确定用户身份的过程。
⑤Token:是一个字符串表示,作为访问资源的令牌。Token包含了在指定范围和有效时间内可以被访问的资源。
⑥Credentials:用于确认用户身份的凭证,用户的用户名和密码,或者是用户名和API密钥,或者身份管理服务提供的认证令牌。
⑦Service Openstack service, 即Openstack中运行的组件服务。如nova、swift、glance、 neutron、 cinder等。
⑧Endpoint:一个可以通过网络来访问和定位某个Openstack service的地址,通常是一个URL(apache的api (位置点))。
1.3keystone认证过程⭐⭐⭐
①user 登陆(keystone 认证)。
②user 进入控制台/命令行界面(位置点)。
③user 发起创建虚拟的请求(向keystone认证指引位置点)。
④请求到达nova组件(向keystone认证 )。
⑤nova会开始执行请求,并且调用创建实例所需要的glance、neutron等资源(向keystone
认证,指引对应服务的位置点)。
⑥glance和neutron服务收到请求后(向keystone认证)才会给与nova对应的资源。
⑦nova拿到资源后,调用对应资源,创建实例,最后将创建结果返回给用户(成功? 失败? 原因)。
二、Keystone身份认证服务组件部署安装
基于openstack基本环境部署之后继续部署实验
①Keystone (apache)
②glance
③nova
④neutron
⑤cinder
部署openstack组件时,需先行安装认证服务(keystone) ,而认证服务是使用Apache运行的,安装完成后才可以创建、管理账号,然后安装镜像服务(glance) 、计算服务(nova) 、网络服务(neutron)
其中计算服务和网络服务分为管理端和客户端,所以需要在openstack的管理端安装计算服务和网络服务的管理端,在创建虚拟机的node节点上安装计算服务和网络服务的客户端,最后安装
dashboard服务,openstack 各种组件的API都是通过apache运行的;
openstack的管理端负责创建、管理虚拟机过程的调度
通过openstack管理端创建虚拟机的相关数据最终都会记录到mysql(mariadb) 中; node节点没有权限往数据库中写数据,只有控制端有权限,并且node节点与控制端通讯是通过rabbitmq间接通讯,node节点会监听rabbitmq,控制端也会监听rabbitmq,控制端把创建虚拟机的指令发送到rabbitmq,由监听rabbitmq指定队列的node节点接收消息并创建虚拟机
1、控制节点ct
CPU:双核双线程-CPU虚拟化开启
内存:8G
硬盘:300G
双网卡:VM1-(局域网)192.168.100.10 NAT-192.168.153.227
操作系统:Centos 7.6(1810)-最小化安装
2、计算节点c1
CPU:双核双线程-CPU虚拟化开启
内存:8G
硬盘:300G
双网卡:VM1(局域网)-192.168.100.20 NAT-192.168.153.228
操作系统:Centos 7.6