声明:最近在进行openstack的kilo版本的安装,发现现有的网络教程非常少,而且多数教程并不能安装成功,故写此教程。openstack的安装较为复杂,本教程并不能保证在不同环境下也能将其安装成功。个人安装教程,也难免出错。同时,安装是在虚拟机环境下,真实安装环境需要进行更改。
转载请声明出处:
作者:张某人ER
原文链接:http://blog.csdn.net/xinxing__8185/article/details/51191337
第二部分 keystone的安装 (3)
openstack基本概念解释:
一个租户(tenant)在openstack里就是一个项目。在创建一个用户时必须首先为该用户分配一个租户,否则将无法创建此用户,所以首先要创建租户。
角色(role)是分配给一个租户中的用户的权限。在这里配置两个角色,一个用于管理云环境的admin角色和另一个用于分配给使用云环境的普通用户的member角色。
在openstack身份认证服务中添加用户时,必须要有一个能容纳该用户的租户,还需要定义一个能分配给该用户的角色。
云环境中的每一个服务都运行在一个特定的URL和端口上,也就是这些服务的端点地址。当一个客户端程序连接到云环境中时,keystone身份认证服务负责向其返回云环境中的各个服务的端点地址,以便客户端程序是用这些服务。为启动该功能,必须先定义这些端点。在云环境中,可以定义多个区域,可以把不同的区域理解为不同的数据中心,它们各自有不同的URL和IP地址。在Openstack身份认证里,还可以在每一个区域里定义分别定义URL端点。在这里,只有一个区域,标识为RegionOne。
创建service
chown -R keystone:keystone /var/log/keystone chown -R keystone:keystone /etc/keystone
创建环境变量
export OS_TOKEN=openstack export OS_URL=http://controller:35357/v2.0
创建服务和endpoint
openstack service create --name keystone --description "Opentack Identity" identity openstack endpoint create --publicurl http://controller:5000/v2.0 --internalurl http://controller:5000/v2.0 --adminurl http://controller:35357/v2.0 --region RegionOne identity
创建projects,users,roles
openstack project create --description "Admin Project" admin openstack user create --password-prompt admin #这里需要设置密码,我设置为:admin openstack role create admin openstack role add --project admin --user admin admin #admin角色 openstack project create --description "Service Project" service openstack project create --description "Demo Project" demo openstack user create --password-prompt demo #这里需要设置密码,我设置为:demo openstack role create user openstack role add --project demo --user demo user #user角色
测试操作
vim /usr/share/keystone/keystone-dist-paste.ini
相应的配置文件进行如下配置:
[pipeline:public_api] pipeline = 改为 将admin_token_auth 去掉 [pipeline:admin_api] pipeline = 改为 将admin_token_auth 去掉 [pipeline:api_v3] pipeline = 改为 将admin_token_auth 去掉
unset OS_TOKEN OS_URL openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password token issue
注:相应的显示结果可以参考官方手册
创建环境变量文件
vim admin-openrc.sh
官方手册中的文件内容如下:
export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=admin export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=openstack export OS_AUTH_URL=http://controller:35357/v3
注:然而笔者在进行下面组件的安装时,会出现AUTH_URL版本错乱的问题,后面组件的相关配置文件(官方文档中),认证URL均是v2版,如果source这个文件,会出现无法找到认证服务的错误。
笔者的文件内容如下:
export OS_PROJECT_NAME=admin export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=admin #export OS_AUTH_URL=http://controller:35357/v2.0/ export OS_TOKEN=openstack export OS_URL=http://controller:35357/v2.0/ export OS_REGION_NAME=RegionOne
注:当然这个环境变量文件是根据以上创建的服务和endpoint,和admin用户的。如果以上步骤不同,要进行相关修改。
测试一下:
source admin-openrc.sh openstack token issue
如果一切正常,keystone组件已安装成功。