Openstack安装部署-Keystone

云计算 waitig 684℃ 百度已收录 0评论

基础条件:在安装配置openstack身份服务之前,先创建一个数据库和管理令牌


创建数据库
(1)使用数据库命令运行客户端,并以root身份登录数据库服务器

#mysql -u root -p123

(2)创建keystone数据库

MariaDB [(none)]> CREATE DATABASE keystone;

(3)授予数据库用户keystone访问keystone数据库的权限,并设置密码为123

MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123';

安装并配置组件
1、安装软件包

# yum install openstack-keystone httpd mod_wsgi -y

2、编辑/etc/keystone/keystone.conf文件并完成下面的操作
A、编辑在[database]小节,配置数据库访问

[database]
# ...
connection = mysql+pymysql://keystone:123@controller/keystone

B、在[token]小节,配置使用Fernet技术提供令牌

[token]
# ...
provider = fernet

3、初始化身份服务数据库,初始化后可以到数据库中查看是否有表判断是否成功

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

4、初始化Fernet key仓库

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

5、引导身份服务,创建管理员

# keystone-manage bootstrap --bootstrap-password 123\
 --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服务

1、编辑/etc/httpd/conf/httpd.conf文件并配置ServerName配置项为管理

ServerName controller

2、创建到文件/usr/share/keystone/wsgi-keystone.conf的连接

# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

完成安装
1、启动Apache HTTP服务并设置开机自动启动:

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

2、通过命令netstat -lntup|grep httpd查看服务是否开启

tcp6 0 0 :::5000 :::* LISTEN 23632/httpd
tcp6 0 0 :::80 :::* LISTEN 23632/httpd
tcp6 0 0 :::35357 :::* LISTEN 23632/httpd

3、配置管理账号

# export OS_USERNAME=admin
# export OS_PASSWORD=123
# 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

创建域、项目、用户和角色
1、在openstack环境中创建一个包含其他服务唯一账号的service项目,创建service项目:

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

2、日常任务一般使用一个非特权项目和用户,这里创建demo项目和用户
A、创建demo项目

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

B、创建demo用户

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

C、创建user角色

# openstack role create user

D、添加user角色到demo项目和账户

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

验证操作

在安装其他服务之前,验证身份服务是否正常

1、先关闭临时认证牌机制

编辑/etc/keystone/keystone-paste.ini 文件,移除[pipeline:public_api], [pipeline:admin_api], 和[pipeline:api_v3]小节的 admin_token_auth文字。

2、删除临时环境变量OS_AUTH_URL 和 OS_PASSWORD:

# unset OS_AUTH_URL OS_PASSWORD

3、使用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

这里写图片描述
4、使用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

这里写图片描述


创建openstack客户端环境脚本
为 admin 和 demo 项目和用户创建客户端环境脚本。本手册后续部分将使用这些脚本加载用户凭据。

1、创建文件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=123
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

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=123
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

使用脚本:
1、加载admin-openrc文件用来填充身份服务中admin项目和用户的用户凭据到环境变量

#source admin-openrc

2、请求认证令牌

#openstack token issue

这里写图片描述



本文由【waitig】发表在等英博客
本文固定链接:Openstack安装部署-Keystone
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)