OpenStack-Mitaka版本Keystone(认证服务)

OpenStack-Mitaka版本Keystone服务

一,创建数据库

用数据库连接客户端以 root 用户连接到数据库服务器:
#mysql -u root -p000000 #这里的6个0是你之前设置的密码,请用你自己设置的密码进行代替

在这里插入图片描述
创建 keystone 数据库:
CREATE DATABASE keystone; #可以使用小写
在这里插入图片描述
keystone数据库授予恰当的权限:

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';

在这里插入图片描述

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  IDENTIFIED BY 'KEYSTONE_DBPASS';

在这里插入图片描述
注意:mysql中每句话使用分号进行结尾 “ ; ”
**KEYSTONE_DBPASS **用自己想设置的密码进行代替 例如 000000

exit #退出
在这里插入图片描述
2. 生成一个随机的管理员令牌,也就是token
#openssl rand -hex 10
在这里插入图片描述

二、安装keystone服务
#yum -y install openstack-keystone httpd mod_wsgi
在这里插入图片描述
编辑文件 /etc/keystone/keystone.conf 添加或者修改部分内容:

首先在[DEFAULT]添加admin_token
admin_token=3befc4b19e052e590ad8
在这里插入图片描述
在[database]部分添加数据库连接

connection = mysql+pymysql://keystone:000000@controller/keystone

在这里插入图片描述
配置provider:
在[token]添加如下内容

provider = fernet

在这里插入图片描述
2、初始化身份认证服务的数据库:

su -s /bin/sh -c "keystone-manage db_sync" keystone

在这里插入图片描述
正常同步成功是比较慢的,无返回值

验证数据库是否同步成功:
进入mysql

mysql -uroot -p000000

use keystone;

在这里插入图片描述

show tables;


exit #退出数据库
如果验证操作为出错,那你是成功同步了,如果不是上述结果,应该是错了,可以查看我的博客keystone错误

初始化Fernet keys

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone


无返回值

配置 Apache HTTP 服务器
编辑/etc/httpd/conf/httpd.conf 文件,配置ServerName 选项为控制节点

vi /etc/httpd/conf/httpd.conf
ServerName controller

去掉原有的#注释符和 www.example.com:80

或者直接添加

ServerName controller

在这里插入图片描述
2,将/opt/mitaka 目录下的 wsgi-keystone.conf 配置文件复制到 /etc/httpd/conf.d/
在这里插入图片描述

3,启动 Apache HTTP 服务并配置其随系统启动

#systemctl enable httpd.service
#systemctl start httpd.service

四、创建服务实体和API端点
1、

配置认证令牌:export OS_TOKEN=3befc4b19e052e590ad8

配置端点URL:export OS_URL=http://controller:35357/v3

配置认证 API 版本:export OS_IDENTITY_API_VERSION=3

2、
**创建服务实体和身份认证服务**
1、为Keystone本身创建服务

openstack service create --name keystone --description "OpenStack Identity" identity

在这里插入图片描述
1、创建公共端点:

openstack endpoint create --region RegionOne identity public http://controller:5000/v3

在这里插入图片描述
2、创建外部端点:

openstack endpoint create --region RegionOne identity internal http://controller:5000/v3

在这里插入图片描述
3、创建管理端点:

 openstack endpoint create --region RegionOne identity admin http://controller:35357/v3

在这里插入图片描述

五、创建域(domain)、项目(Project)、用户(user)和角色(role)

1、创建默认域:

openstack domain create --description "Default Domain" default

在这里插入图片描述
2、创建admin的项目:

openstack project create --domain default --description "Admin Project" admin

在这里插入图片描述
3、创建admin的用户:

openstack user create --domain default --password-prompt admin

我这里设置的密码是 000000在这里插入图片描述
4、创建admin的角色:

openstack role create admin

在这里插入图片描述
5、添加admin 角色到 admin 项目和用户上

openstack role add --project admin --user admin admin

在这里插入图片描述
无返回值

6、创建service项目:

openstack project create --domain default --description "Service Project" service

在这里插入图片描述
7、创建demo 项目:

openstack project create --domain default --description "Demo Project" demo

在这里插入图片描述
8、创建demo 用户:

openstack user create --domain default --password-prompt demo

在这里插入图片描述
9、创建 user 角色:

openstack role create user

在这里插入图片描述
10、添加 user角色到demo 项目和用户:

openstack role add --project demo --user demo user

在这里插入图片描述
无返回值

六、验证Keystone服务
1、重置OS_TOKENOS_URL 环境变量::

unset OS_TOKEN OS_URL

在这里插入图片描述
2、作为 admin 用户,请求认证令牌:
密码为之前设置的 000000

openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue

在这里插入图片描述
3、作为demo 用户,请求认证令牌:
密码为之前设置的 000000

openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name demo --os-username demo token issue

在这里插入图片描述

七、创建 OpenStack 客户端环境脚本

1、写入环境变量
“~” 目录下 创建 admin-openrc 文件:
在这里插入图片描述
在这里插入图片描述
“~” 目录下 创建 demo-openrc 文件:
在这里插入图片描述
在这里插入图片描述
2、生效并验证:

. admin-openrc 无返回值

在这里插入图片描述
. demo-openrc 无返回值
在这里插入图片描述
请求认证令牌:

openstack token issue

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fly1574/article/details/86769541