OpenStack多节点安装(二):Keystone

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BAKBad/article/details/74784609


上篇文章讲了关于OpenStack多节点基础环境的搭建,本文开始讲述如何搭建Keystone服务。


1. 登录mysql服务器中,创建数据库keystone,并授予适当的访问权限:

sudo mysql -u root -p

create database keystone;

grant all privileges on keystone.* to 'keystone'@'localhost' identified by 'KEYSTONE_DBPASS';
grant all privileges on keystone.* to 'keystone'@'%' identified by 'KEYSTONE_DBPASS';

2. 安装并配置组件

sudo apt-get install keystone

编辑文件/etc/keystone/keystone.conf并完成以下动作:

在[database]部分,配置数据库访问:
[database]
#...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
注释[database]部分除connection以外的所有配置内容

将KEYSTONE_DBPASS替换为第一步安装keystone数据库时设置的密码。

在[token]部分, 配置Fernet UUID令牌的提供者

[token]
#...
provider = fernet

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

sudo su -s /bin/bash -c "keystone-manage db_sync" keystone

初始化Fernet Key:

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

sudo keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

BootStrap the identity service:

sudo keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
  --bootstrap-admin-url http://controller:35357/v3/ \
  --bootstrap-internal-url http://controller:5000/v3/ \
  --bootstrap-public-url http://controller:5000/v3/ \
  --bootstrap-region-id RegionOne

删除默认的SQLite数据库

sudo rm -f /var/lib/keystone/keystone.db

配置admin账户:

export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS(这里替换为上述bootstrap时设置的ADMIN_PASS)
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

3. 创建域,项目,用户和角色

openstack project create --domain default \
  --description "Service Project" service
openstack project create --domain default \
  --description "Demo Project" demo

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

openstack role create user

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


4. 验证


因为安全性的原因,关闭临时认证令牌机制:

编辑 /etc/keystone/keystone-paste.ini 文件,从``[pipeline:public_api]``,[pipeline:admin_api]``和``[pipeline:api_v3]``部分删除``admin_token_auth


撤销临时环境变量

unset OS_AUTH_URL OS_PASSWORD


作为admin用户,请求认证:
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
输入密码后有类似下面的输出即为配置正确。



作为demo用户,请求认证:

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

输入密码后有输出即为配置正确。

猜你喜欢

转载自blog.csdn.net/BAKBad/article/details/74784609
今日推荐