在控制节点安装认证服务组件
yum -y install openstack-keystone httpd mod_wsgi
其中“openstack-keystone”是Keystone的软件包;“httpd”是阿帕奇(Apache)Web服务器的软件包名;“mod_wsgi”是使Web服务器支持WSGI的插件。
进入数据库
mysql -uroot -p000000
新建“keystone”数据库,给用户授权使用新建数据库
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '000000';
quit退出 数据库
上面两条语句把“keystone”数据库的所有表(keystone.*)的所有权限(ALL PRIVILEGES)授予本地主机('localhost' )及任意远程主机('%')中名为“keystone”的用户,验证密码为“000000”。这里的“keystone”用户是安装Keystone组件时自动生成的系统用户。
配置文件
vi /etc/keystone/keystone.conf
在583行([database]模块下)写入 ,可通过命令 :583跳转
按下:进入命令模式 键入 583 回车即可跳转
connection = mysql+pymysql://keystone:000000@controller/keystone
以上代码配置数据库连接信息,用“keystone”用户和密码“000000”去连接“controller”主机中的名为“keystone”的数据库
在2448行 [token] 模块下写入 :2448跳转
provider = fernet
此举配置令牌的加密方式
手动将数据同步导入数据库中
su keystone -s /bin/sh -c "keystone-manage db_sync"
初始化Fernet密钥库
以下第一条命令将自动创建“/etc/keystone/fernet-keys/”目录,并在目录下生成两个Fernet密钥。这两个密钥用于加密和解密令牌
以下第二条命令将自动创建“/etc/keystone/credential-keys/”目录,并在目录下生成两个Fernet密钥。这两个密钥用于加密解密用户凭证
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
初始化用户身份认证信息
用“keystone-manage bootstrap”命令给“admin”用户初始化登录凭证,以后登录时出示凭证与此比对就可以进行认证
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
配置Web服务
给Apache服务器增加WSGI支持
该命令将“wsgi-keystone.conf”文件软链接到“/etc/httpd/conf.d/”目录。因为“/etc/httpd/conf.d/”目录下的“conf”文件都是Apache服务器的配置文件,所以这个命令让“wsgi-keystone.conf”成为Apache服务器的配置文件之一,让Apache服务器能够应用前面安装的“mod_wsgi”插件以支持WSGI协议
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
修改配置文件
修改Apache服务器配置并启动Apache服务
vi /etc/httpd/conf/httpd.conf
在文件第95行(有#注释请取消掉#注释) 或 /ServerName 进行查找
ServerName controller
启动Apache/http服务
systemctl start httpd;systemctl enable httpd
创建初始化环境变量文件
vi admin-login
写入
export OS_USERNAME=admin
export OS_PASSWORD=000000
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
export OS_IMAGE_API_VERSION=2
解释:登录OpenStack云计算平台的用户名(OS_USERNAME)是“admin”,登录密码(OS_PASSWORD)是“000000”,用户属于的域(OS_USER_DOMAIN_NAME)是“Default”,项目属于的域(OS_PROJECT_DOMAIN_NAME)是“Default”,认证地址(OS_AUTH_URL)是“http://controller:5000/v3”,Keystone版本(OS_IDENTITY_ API_VERSION)是“3”,镜像管理组件版本(OS_IMAGE_API_VERSION)是“2”
导入环境变量进行验证
source admin-login
查看现有变量
export -p
创建项目
在默认域中创建一个名为“project”的项目
查看现有的项目列表
openstack project create --domain default project
openstack project list
命令的解释: “openstack project create”:创建一个项目。 “--domain default”:该项目属于ID为“default”的域。 “project”:新项目的名称
为OpenStack云计算平台创建一个名为“user”的角色
查看OpenStack云计算平台现有的角色列表
openstack role create user
openstack role list