OpenStack-Mitaka版本Keystone服务

  • 一,创建数据库

一,创建数据库

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

kolla openstack 多节点cinder配置 openstack双节点_数据库


创建 keystone 数据库:

CREATE DATABASE keystone; #可以使用小写

kolla openstack 多节点cinder配置 openstack双节点_数据库_02


keystone数据库授予恰当的权限:

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_03

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_04


注意:mysql中每句话使用分号进行结尾 “ ; ”

**KEYSTONE_DBPASS **用自己想设置的密码进行代替 例如 000000exit #退出

kolla openstack 多节点cinder配置 openstack双节点_数据库_05


2. 生成一个随机的管理员令牌,也就是token

#openssl rand -hex 10

kolla openstack 多节点cinder配置 openstack双节点_环境变量_06

二、安装keystone服务

#yum -y install openstack-keystone httpd mod_wsgi

kolla openstack 多节点cinder配置 openstack双节点_数据库_07


编辑文件 /etc/keystone/keystone.conf 添加或者修改部分内容:首先在[DEFAULT]添加admin_token

admin_token=3befc4b19e052e590ad8

kolla openstack 多节点cinder配置 openstack双节点_mysql_08


在[database]部分添加数据库连接

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

kolla openstack 多节点cinder配置 openstack双节点_数据库_09


配置provider:

在[token]添加如下内容

provider = fernet

kolla openstack 多节点cinder配置 openstack双节点_环境变量_10


2、初始化身份认证服务的数据库:

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_11


正常同步成功是比较慢的,无返回值

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

mysql -uroot -p000000

use keystone;

kolla openstack 多节点cinder配置 openstack双节点_环境变量_12

show tables;

kolla openstack 多节点cinder配置 openstack双节点_环境变量_13


exit #退出数据库

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

初始化Fernet keys

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_14


无返回值

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

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

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

或者直接添加

ServerName controller

kolla openstack 多节点cinder配置 openstack双节点_环境变量_15


2,将/opt/mitaka 目录下的 wsgi-keystone.conf 配置文件复制到 /etc/httpd/conf.d/

kolla openstack 多节点cinder配置 openstack双节点_mysql_16

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_17


1、创建公共端点:

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_18


2、创建外部端点:

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

kolla openstack 多节点cinder配置 openstack双节点_数据库_19


3、创建管理端点:

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

kolla openstack 多节点cinder配置 openstack双节点_mysql_20

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

1、创建默认域:

openstack domain create --description "Default Domain" default

kolla openstack 多节点cinder配置 openstack双节点_数据库_21


2、创建admin的项目:

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_22


3、创建admin的用户:

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

我这里设置的密码是 000000

kolla openstack 多节点cinder配置 openstack双节点_数据库_23


4、创建admin的角色:

openstack role create admin

kolla openstack 多节点cinder配置 openstack双节点_mysql_24


5、添加admin 角色到 admin 项目和用户上

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

kolla openstack 多节点cinder配置 openstack双节点_数据库_25


无返回值

6、创建service项目:

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

kolla openstack 多节点cinder配置 openstack双节点_mysql_26


7、创建demo 项目:

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_27


8、创建demo 用户:

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

kolla openstack 多节点cinder配置 openstack双节点_数据库_28


9、创建 user 角色:

openstack role create user

kolla openstack 多节点cinder配置 openstack双节点_mysql_29


10、添加 user角色到demo 项目和用户:

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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_30


无返回值

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

unset OS_TOKEN OS_URL

kolla openstack 多节点cinder配置 openstack双节点_环境变量_31


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

kolla openstack 多节点cinder配置 openstack双节点_mysql_32


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

kolla openstack 多节点cinder配置 openstack双节点_环境变量_33


(3)清除环境变量

#unset OS_TOKEN OS_URL

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

1、写入环境变量

“~” 目录下 创建 admin-openrc 文件:

kolla openstack 多节点cinder配置 openstack双节点_mysql_34


kolla openstack 多节点cinder配置 openstack双节点_数据库_35


“~” 目录下 创建 demo-openrc 文件:

kolla openstack 多节点cinder配置 openstack双节点_数据库_36


kolla openstack 多节点cinder配置 openstack双节点_mysql_37


2、生效并验证:

. admin-openrc 无返回值

kolla openstack 多节点cinder配置 openstack双节点_环境变量_38


. demo-openrc 无返回值

kolla openstack 多节点cinder配置 openstack双节点_mysql_39


请求认证令牌:

openstack token issue

kolla openstack 多节点cinder配置 openstack双节点_环境变量_40