公司网站后台密码,网页美工设计推荐,湖北公众号定制开发,有0元开网店的吗OpenStack是一个云计算平台的项目#xff0c;其中Keystone是一个身份认证服务组件#xff0c;它提供了认证、授权和目录的服务。其他OpenStack服务组件都需要使用Keystone来验证用户的身份和权限#xff0c;并且彼此之间需要相互协作。当一个OpenStack服务组件接收到用户的请… OpenStack是一个云计算平台的项目其中Keystone是一个身份认证服务组件它提供了认证、授权和目录的服务。其他OpenStack服务组件都需要使用Keystone来验证用户的身份和权限并且彼此之间需要相互协作。当一个OpenStack服务组件接收到用户的请求时它会先将请求交给Keystone身份认证服务组件以检查该用户是否有足够的权限来完成请求。因此Keystone身份认证服务组件是整个OpenStack项目中唯一可以提供身份认证的服务组件。 本文介绍Keystone安装步骤Keystone仅需在控制节点安装。
在按照本教程安装之前请确保完成以下配置
【Openstack Train安装】一、虚拟机创建
【Openstack Train安装】二、NTP安装
【Openstack Train安装】三、openstack安装
【Openstack Train安装】四、MariaDB/RabbitMQ 安装
【Openstack Train安装】五、Memcached/Etcd安装
安装环境如下
VMware WorkstationV17.0本机系统win11虚拟机系统CentOS 7.5
一、创建数据库
使用keystone服务前先创建数据库首先进入数据库
mysql -u root -p
密码是123456 创建数据库keystone
CREATE DATABASE keystone;
授予数据库权限123456是设置的数据库密码 GRANT ALL PRIVILEGES ON keystone.* TO keystonelocalhost IDENTIFIED BY 123456;
GRANT ALL PRIVILEGES ON keystone.* TO keystone% IDENTIFIED BY 123456;
退出数据库如下图 二、配置keystone
安装相关包
yum install openstack-keystone httpd mod_wsgi -y
对/etc/keystone/keystone.conf进行配置在配置前使用如下命令进行备份
mv /etc/keystone/keystone.conf /etc/keystone/keystone.conf.source
cat /etc/keystone/keystone.conf.source | grep -Ev ^#|^$ /etc/keystone/keystone.conf接下来编辑/etc/keystone/keystone.conf添加2个记录这个123456是创建数据库keystone的密码保存并退出
[database]
# ...
connection mysqlpymysql://keystone:123456controller/keystone
[token]
# ...
provider fernet
如下所示 同步数据库
su -s /bin/sh -c keystone-manage db_sync keystone
初始化Fernet 库
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引导身份服务这里的密码时ADMIN_PASS为了简单所有的密码我都设置为123456但是不同的服务密码有却别可参考官网
keystone-manage bootstrap --bootstrap-password 123456\--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
三、配置Apache HTTP服务
编辑/etc/httpd/conf/httpd.conf进行如下配置并保存退出 创建软连接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
配置开机自启并启动服务
systemctl enable httpd.service
systemctl start httpd.service
四、配置环境变量
配置环境变量为了简单起见新建一个文件叫做admin-openrc并添加以下内容
export OS_USERNAMEadmin
export OS_PASSWORD123456
export OS_PROJECT_NAMEadmin
export OS_USER_DOMAIN_NAMEDefault
export OS_PROJECT_DOMAIN_NAMEDefault
export OS_AUTH_URLhttp://controller:5000/v3
export OS_IDENTITY_API_VERSION3
如下图 运行该文件设定环境变量可以通过export命令查看环境变量 五、使用
查看当前的domain
openstack domain list
默认存在一个domain名字为default 新建一个名字为example的domain
openstack domain create --description An Example Domain example
再次查看domain列表 查看project 列表
openstack project list
有个默认project名字为admin 向domaindefault中添加一个projectproject名字为service
openstack project create --domain default --description Service Project service
查看新建的project 关于user、role的创建可以参考https://docs.openstack.org/keystone/train/install/keystone-users-rdo.htmlhttps://docs.openstack.org/keystone/train/install/keystone-users-rdo.html
默认的projectadmin是管理权限创建一个普通的projectmyproject 在domain Default中创建myproject和myuser如下密码设置为123456
openstack project create --domain default --description Demo Project myproject
openstack user create --domain default --password-prompt myuser
如下所示 创建role
openstack role create myrole
如下 将myrole和myproject\myuser关联起来
openstack role add --project myproject --user myuser myrole
六、验证
取消环境变量OS_AUTH_URL和OS_PASSWORD
unset OS_AUTH_URL OS_PASSWORD
使用admin请求一个身份验证的token
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
如下 使用刚刚创建的myuser请求token
openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name myproject --os-username myuser token issue
如下所示 七、创建脚本
在后续测试时有事需要用admin和普通用户进行测试故编写2个脚本分别用于设置admin和myuser到环境变量admin的脚本已经在【四、配置环境变量】中配置完成下面配置普通用户myuser的脚本新建文件demo-openrc其内容如下
export OS_PROJECT_DOMAIN_NAMEDefault
export OS_USER_DOMAIN_NAMEDefault
export OS_PROJECT_NAMEmyproject
export OS_USERNAMEmyuser
export OS_PASSWORD123456
export OS_AUTH_URLhttp://controller:5000/v3
export OS_IDENTITY_API_VERSION3
export OS_IMAGE_API_VERSION2
如下所示 使用admin请求token如下 使用myuser请求token keystone安装完成。
致谢
1、感谢Ceased指出数据库创建时的错误。