Keystone安装

一、安装之前需创建数据库

mysql -u root -p123456 以root用户身份连接到数据库服务器

CREATE DATABASE keystone; 创建keystone数据库

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \

IDENTIFIED BY '123456';授权

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \

IDENTIFIED BY '123456';授权

安装配置文件

yum install openstack-keystone httpd mod_wsgi 安装软件包

(mysql数据库报错yum install openstack-keystone httpd mod_wsgi 未解决)

 

二、编辑/etc/keystone/keystone.conf

openssl rand -hex 10 取一个随机数 67a7d61471561e776664

1在该[database]部分中,配置数据库访问:

[database]

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

2在该[token]部分中,配置Fernet令牌提供程序:

[token]

provider  =  fernet 打开注释

3 admin_token = 67a7d61471561e776664

 

三、执行

su -s /bin/sh -c "keystone-manage db_sync" keystone 填充身份数据库

keystone-manage db_sync 这个才是数据库吧

 

四、初始化Fernet密钥存储库

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

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

 

五、引导身份服务

keystone-manage bootstrap --bootstrap-password 123456   --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

 

配置Apache HTTP服务器

/etc/httpd/conf/httpd.conf 配置

ServerName controller

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/创建连接

 

# systemctl enable httpd.service 自启动

# systemctl start httpd.service 启动

 

$ export OS_USERNAME=admin

$ export OS_PASSWORD=123456

$ export OS_PROJECT_NAME=admin

$ export OS_USER_DOMAIN_NAME=Default

$ export OS_PROJECT_DOMAIN_NAME=Default

$ export OS_AUTH_URL=http://controller:5000/v3

$ export OS_IDENTITY_API_VERSION=3

 

(报错,前几部来一遍

openstack部署-keystone服务安装_虚拟化

 

创建一个域,项目,用户和角色

 

创建新域管理员

openstack domain create --description "An Example Domain" example

创建service 项目管理员

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

 

非管理员创建demo项目和用户

创建demo项目

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

创建demo用户

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

创建用户角色

openstack role create user’

添加用户角色

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

 

验证keystone

unset OS_AUTH_URL OS_PASSWORD 取消环境变量

 

作为管理员用户请求token

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用户获取token

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

 

使用脚本配置管理员还是客户demo

 admin-openrc 

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

demo-openrc

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

执行脚本之后,使用

openstack token issue