Keystone安装
一、Keystone概述
Keystone通常是用户与之交互的第一个服务。一旦经过身份验证,终端用户就可以使用他们的身份来访问其他OpenStack服务。同样地,其他OpenStack服务利用Keystone验证真假,并发现部署中其他服务的位置。Keystone还可以与一些外部用户管理系统(如LDAP)进行集成。
用户和服务可以通过使用由身份认证服务的service catalog来定位其他服务。顾名思义,service catalog是OpenStack部署中可用服务的集合。每个服务都可以有一个或多个端点,每个端点可以是以下三种类型之一:admin、internal或public。在生产环境中,由于安全原因,不同的端点类型可能位于不同的网络中。例如,Public API网络暴露在互联网上,这样客户就可以通过公共API管理云。Admin API网络可能仅限于管理云基础设施的组织中的操作人员。Internal API网络可能被限制在包含OpenStack服务的主机上。此外,OpenStack支持多个区域的可伸缩性。为简单起见,该指南使用了所有端点类型的管理网络和默认的区域RegionOne。在身份服务中创建的区域、服务和端点组成了一个service catalog。您的部署中的每个OpenStack服务都需要一个带有相应端点的服务条目,并存储在身份服务中。这可以在安装和配置身份服务之后完成。
身份服务包含以下组件:
Server
集中式服务器使用RESTful接口提供身份验证和授权服务。
Drivers
驱动程序或服务后端被集成到集中式服务器中。它们用于在OpenStack外部的存储库中访问身份信息,并且可能已经存在于OpenStack部署的基础设施中(例如,SQL数据库或LDAP服务器)。
Modules
中间件模块在使用身份认证服务的OpenStack组件的地址空间中运行。这些模块拦截服务请求,提取用户凭证,并将它们发送到集中式服务器以获得授权。中间件模块和OpenStack组件之间的集成使用Python Web Server Gateway接口。
二、基础配置
在安装和配置身份认证服务前,必须配置好数据库
(1)使用数据库访问客户端作为root用户连接到数据库服务器:
(2) 创建keystone数据库
(3)赋予keystone数据库本地与远程访问的权限
# mysql -uroot -p123456
MariaDB [(none)]> create database keystone;
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'%' identified by '123456';
三、安装配置Keystone
# yum install -y openstack-keystone httpd mod_wsgi
编辑/etc/keystone/keystone.conf文件
# vi /etc/ke