手动安装OpenStack 实验2:认证服务Keystone的安装、配置

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

将下面的内容复制到文件后保存,重启,再执行上面的命令

相关文档
最新文档