手动安装OpenStack 实验2:认证服务Keystone的安装、配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二:认证服务Keystone的安装、配置
实验目的
本次实验的目的是为了让学生通过实际安装配置Keystone来加深对Keystone组件的理解。(本次实验Keystone安装在controller上)
实验内容
配置认证服务
配置apache服务
创建服务实体和API端点
创建一个domain,projects、users、roles
验证操作
创建OpenStack脚本
实验步骤
①、首先输入密码123456,登录进入虚拟机。
②、然后单击Terminal,进入命令行界面。
③、由于所有步骤与操作均需要在root权限下执行,所以需要切换到root用户下:
su
输入密码:123456
1. 配置认证服务(CONTROLLER下)
以root用户身份进入数据库(本环境中默认MYSQL数据库密码为123456):
mysql -u root -p
创建keystone数据库:
CREATE DATABASE keystone;
赋予keystone相关权限(替换KEYSTONE_DBPASS为你自己的密码,如123456):
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';
退出数据库:
quit
生成一个20位随机值作为初始配置期间管理令牌并记录下来:
openssl rand -hex 10
例如:我们这里生成的值为34755335fed9c5827e34
禁用keystone自动启动:
echo "manual" > /etc/init/keystone.override
安装软件包keystone apache2 libapache2-mod-wsgi:
apt-get install keystone apache2 libapache2-mod-wsgi
编辑/etc/keystone/keystone.conf:
gedit /etc/keystone/keystone.conf
在[DEFAULT]下面添加(替换ADMIN_TOKEN为之前生成的20位随机数,例如本例中生成的34755335fed9c5827e34),记得把注释的#去掉。
在[database]下面修改(替换KEYSTONE_DEPASS为你之前创建keystone数据库时设置的密码):connection = mysql+pymysql://keystone:123456@controller/keystone
记得把上面的一行connection注释掉
[token]下面添加:provider = fernet
keystone-manage
fernet_setup
--keystone-user keystone --keystone-group keystone
同步keystone 数据库:
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化Fernet 键:
2. 配置APACHE 服务(CONTROLLER 下)
编辑/etc/apache2/apache2.conf ,添加ServerName controller :
gedit /etc/apache2/apache2.conf
ServerName controller
创建/etc/apache2/sites-available/wsgi-keystone.conf:gedit /etc/apache2/sites-available/wsgi-keystone.conf
开启认证服务虚拟主机:
ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
为WSGI组件创建目录结构:
# mkdir -p /var/www/cgi-bin/keystone
# mkdir -p /var/log/httpd/
拷贝WSGI组件到当前创建好的目录/var/www/cgi-bin/keystone下:
安装curl命令
# apt install curl
复制文件操作
# curl
/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo|tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin
设置目录和文件的权限:
# chown -R keystone:keystone /var/www/cgi-bin/keystone
# chmod 755 /var/www/cgi-bin/keystone/*
重启apache http server:
service apache2 restart
删除SQLite数据库文件:
3. 创建服务实体和API端点(CONTROLLER下)
如果python的版本为2.7的话会出现ascii编码问题,需做以下操作:
新建一个文件
gedit /usr/local/lib/python2.7/site-packages/sitecustomize.py
将下面的内容复制到文件后保存,重启,再执行上面的命令