本文主要是介绍OpenStack Victoria版——3.控制节点-Keystone认证服务组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3.控制节点-Keystone认证服务组件
更多步骤:OpenStack Victoria版安装部署系列教程
OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。
文章目录
- 创建keystone数据库并授权
- 1.登录进入数据库
- 2.创建keystone数据库并授权
- keystone相关软件安装与配置
- 1.安装keystone相关软件包
- 2.修改/etc/keystone/keystone.conf文件
- 3.初始化同步keystone数据库
- 4.初始化Fernet令牌库
- 5.初始化引导keystone认证服务
- 6.配置启动Apache Http服务
- 7.创建环境变量脚本
- 8.创建keystone的一般实例
- 验证操作keystone是否安装配置成功
- keystone安装完毕
创建keystone数据库并授权
1.登录进入数据库
使用mysql数据库的root账户登录,密码为控制节点环境准备时初始化mysql数据设置的密码为root。
mysql -u root -proot
2.创建keystone数据库并授权
创建keystone数据库,设置密码为111111授予对keystone数据库的访问权限,刷新退出数据库.
CREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY '111111';GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY '111111';flush privileges;
show databases;
select user,host from mysql.user;
exit
keystone相关软件安装与配置
1.安装keystone相关软件包
如果要使用https访问,需要安装mod_ssl
Install and configure Keystone:For RHEL8/Centos8 and above install package python3-mod_wsgi.
dnf install openstack-keystone httpd python3-mod_wsgi -y
2.修改/etc/keystone/keystone.conf文件
由于文件内容有2700行左右,备注内容过多,实际有效配置信息只有40行左右,所有为了方便修改文件,可以先备份该文件,然后去掉注释信息
cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak
egrep -v "^$|^#" /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf
vim /etc/keystone/keystone.conf
为了提高修改文件效率,减少配置错误率,我们可以使用配置工具,通过命令修改文件,先安装软件
dnf install crudini -y
crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:111111@controller/keystone
crudini --set /etc/keystone/keystone.conf token provider fernet
检查配置结果
grep '^[a-z]' /etc/keystone/keystone.conf
keystone不需要启动,通过http服务进行调用
3.初始化同步keystone数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
同步完成,进行连接测试
mysql -ukeystone -p111111 -e "use keystone;show tables;"
mysql -h10.0.0.11 -ukeystone -p111111 -e "use keystone;show tables;"|wc -l
4.初始化Fernet令牌库
Initialize Fernet key repositories,关于Fernet令牌的介绍Keystone Fernet tokens
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
5.初始化引导keystone认证服务
keystone-manage bootstrap --bootstrap-password 111111 --bootstrap-admin-url http://controller:5000/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
6.配置启动Apache Http服务
编辑vim /etc/httpd/conf/httpd.conf
文件,添加如下信息
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
sed -i "s/#ServerName www.example.com:80/ServerName controller/" /etc/httpd/conf/httpd.conf
创建/usr/share/keystone/wsgi-keystone.conf
文件链接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
启动httpd并配置开机自启动
systemctl start httpd && systemctl enable httpd
netstat -anptl|grep httpd
systemctl list-unit-files |grep httpd.service
至此,http服务配置完成。
7.创建环境变量脚本
#touch admin-openrc.sh
#vim admin-openrc.sh
Create OpenStack client environment scripts,上面使用环境变量和命令选项的组合通过“openstack”客户端与身份认证服务交互。
为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件.
cat > /root/admin-openrc.sh <<EOF
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=111111
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
EOF
附:常用的openstack管理命令,需要应用管理员的环境变量
# 查看keystone实例相关信息
openstack endpoint list
openstack project list
openstack user list# 删除endpoint
openstack endpoint delete [ID]
8.创建keystone的一般实例
source ./admin-openrc.sh
openstack catalog list
(1)【非必须】 创建一个名为example的域
创建域,程序中已存在默认域,此命令只是一个创建域的例子,可以不执行
#openstack domain create --description "An Example Domain" example
(2)【必须】 创建名为service的项目,也叫做租户,在default域中。
openstack project create --domain default --description "Service Project" service
(3)【非必须】 创建名为myproject项目,在default域中。
#openstack project create --domain default --description "Demo Project" myproject
(4)【非必须】 创建myuser用户,在default域中。
以下命令会在local_user表增加myuser用户。使用–password选项为直接配置明文密码,使用–password-prompt选项为交互式输入密码,直接创建用户和密码.
#openstack user create --domain default --password-prompt myuser
# 执行命令后需要设置用户密码,输入两次相同的密码
(5)【非必须】 创建myrole角色,在role表中。
# openstack role create myrole
(6)**【非必须】**将myrole角色添加到myproject项目和myuser用户
#openstack role add --project myproject --user myuser myrole
(7)查看keystone实例相关信息
source admin-openrc.sh
openstack role list
openstack endpoint list
openstack project list
openstack user list
验证操作keystone是否安装配置成功
验证KeyStone服务是否正常
openstack token issue
出现如以上信息就说明KeyStone配置完成啦!
1.去除环境变量
关闭临时认证令牌机制,获取 token,验证keystone配置成功
source admin-openrc.sh
unset OS_AUTH_URL OS_PASSWORD
env |grep OS_
2.作为管理员用户去请求一个认证的token
测试是否可以使用admin账户进行登陆认证,请求认证令牌
openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue
#输入密码:111111
keystone安装完毕
至此,控制节点的keystone认证服务组件完成安装与配置,使用VMware虚拟机的话,现在可以关机做快照。
poweroff
这篇关于OpenStack Victoria版——3.控制节点-Keystone认证服务组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!