OpenStack安装与配置Keystone

1.安装Keystone组件的必要软件包

[root@controller ~]# yum  -y install openstack-keystone httpd mod_wsgi

#Keystone实际是运行在Web服务器上的一款支持Web服务器网关接口(Web Server Gateway Interface, WSGI)的Web应用。因此这里安装了3个软件:“openstack-keystone”“httpd”“mod_wsgi”。其中“openstack-keystone”是Keystone的软件包;“httpd”是阿帕奇(Apache)Web服务器的软件包名;“mod_wsgi”是使Web服务器支持WSGI的插件。

2.数据库配置

第1步,用下面的方法进入MariaDB数据库服务器。
[root@controller ~]# mysql -uroot -p000000

第2步,新建“keystone”数据库。
MariaDB [(none)]> CREATE DATABASE keystone;

第3步,给用户授权使用新建数据库。
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '000000';
 
#上面两条语句把“keystone”数据库的所有表(keystone.*)的所有权限(ALL PRIVILEGES)授予本地主机('localhost' )及任意远程主机('%')中名为“keystone”的用户,验证密码为“000000”。这里的“keystone”用户是安装Keystone组件时自动生成的系统用户。

3.修改Keystone配置文件

打开配置文件
[root@controller ~]# vi /etc/keystone/keystone.conf
编辑配置文件(将匹配到的内容修改为以下内容)
第1步,修改“[database]”部分实现与数据库连接。
connection = mysql+pymysql://keystone:000000@controller/keystone
#以上代码配置数据库连接信息,用“keystone”用户和密码“000000”去连接“controller”主机中的名为“keystone”的数据库。

第2步,修改“[token]”部分配置令牌的加密方式。
provider = fernet
#“Fernet Token”是一种令牌加密格式。一个“Fernet Token”是一个很长的字符串,在这个字符串中存储了被加密的用户信息、权限信息、过期时间信息等。

4.初始化Keystone的数据库

[root@controller ~]# su keystone -s /bin/sh -c "keystone-manage db_sync"

#“su keystone”:su命令用于用户切换。这里切换到“keystone”用户,该用户已经拥有对“keystone”数据库的管理权限。
#“-s /bin/sh”:-s为su命令的选项,指定用什么编译器(Shell)来执行命令,“/bin/sh”就是指定的编译器。
#“-c”:su命令的选项,在其后引号内的是具体执行的命令。
#"keystone-manage db_sync"实现了数据同步到数据库。

5.初始化Fernet密钥库

#以下命令将自动创建“/etc/keystone/fernet-keys/”目录,并在目录下生成两个Fernet密钥。这两个密钥用于加密和解密令牌。
[root@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone  
#以下命令将自动创建“/etc/keystone/credential-keys/”目录,并在目录下生成两个Fernet密钥。这两个密钥用于加密解密用户凭证。
[root@controller ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

6.初始化用户身份认证信息

root@controller ~]# keystone-manage bootstrap --bootstrap-password 000000 --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

7.配置Web服务(一)

[root@controller ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
#该命令将“wsgi-keystone.conf”文件软链接到“/etc/httpd/conf.d/”目录。因为“/etc/httpd/conf.d/”目录下的“conf”文件都是Apache服务器的配置文件,所以这个命令让“wsgi-keystone.conf”成为Apache服务器的配置文件之一,让Apache服务器能够应用前面安装的“mod_wsgi”插件以支持WSGI协议。

8.配置Web服务(二)

#修改Apache服务器配置并启动Apache服务
[root@controller ~]# vi /etc/httpd/conf/httpd.conf

#重启Apache服务
[root@controller ~]# systemctl enable httpd 
[root@controller ~]# systemctl start httpd 

9.创建初始化环境变量文件

[root@controller ~]# vi admin-login

10.导入环境变量进行验证

[root@controller ~]# source admin-login
[root@controller ~]# export -p 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值