OpenStack部署(二、Keystone)
- 一、Keystone概述
- 1. 身份服务
- 2. 功能
- 二、Keystone组件部署
- 1. 创建数据库实例和用户
- 2. 安装mod_wsgi包
- 3. 指定用户、数据库
- 4. 初始化认证服务数据库及密钥存储库
- 5. 配置Apache服务器
- 6. 配置管理员账户的环境变量
- 3. 创建项目、用户和角色
一、Keystone概述
1. 身份服务
- OpenStack是一个SOA架构,各个项目独立提供先关的服务,且互不依赖,如nova提供计算服务,glance提供镜像服务等。
而Keystone是openstack中的一个独立的安全认证的模块,也可以说是openstack框架的注册表
2. 功能
名词 | 解释 |
User | 使用Openstack service的用户 |
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 |
二、Keystone组件部署
ct(控制节点):192.168.117.80
1. 创建数据库实例和用户
2. 安装mod_wsgi包
#mod_wsgi包的作用是让apache能够代理python程序的组件;openstack的各个组件,包括API都是用python写的,但访问的是apache,apache会把请求转发给python去处理,这些包只安装在controler节点
yum -y install openstack-keystone httpd mod_wsgi
cp -a /etc/keystone/keystone.conf{,.bak}
#过滤备份文件里的空行和注释行,将剩余内容复制到原配置文件
grep -Ev "^$|#" /etc/keystone/keystone.conf.bak > /etc/keystone/keystone.conf
3. 指定用户、数据库
#通过pymysql模块访问mysql,指定用户名密码、数据库的域名、数据库名
openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:keystone_dbpass@ct/keystone
openstack-config --set /etc/keystone/keystone.conf token provider fernet
4. 初始化认证服务数据库及密钥存储库
5. 配置Apache服务器
6. 配置管理员账户的环境变量
3. 创建项目、用户和角色