Ubuntu 12.04 下 Openstack Essex安装过程详解(3)

在Openstack里,keystone的位置非常重要,所有的组件的认证授权,都需要经过他。

1:安装keystone

apt-get install -y keystone Python-keystone python-keystoneclient

2:配置keystone

需要修改 /etc/keystone/keystone.conf 3个地方

默认定义的token就是ADMIN,改成:1234567890

[DEFAULT]
bind_host = 0.0.0.0
public_port = 5000
admin_port = 35357
#admin_token = ADMIN
admin_token =1234567890

mysql的连接,默认是采用sqlite

[sql]
#connection = sqlite:////var/lib/keystone/keystone.db
connection= mysql://keystone:password@172.16.10.6:3306/keystone
idle_timeout = 200

修改catalog

[catalog]
#driver = keystone.catalog.backends.sql.Catalog
driver = keystone.catalog.backends.templated.TemplatedCatalog
template_file = /etc/keystone/default_catalog.templates
 

重启服务和同步数据库

service keystone restart

keystone-manage db_sync

3: 导入数据

这个比较有技术含量。通过修改devstack的keystone_data.sh 脚本。实现导入数据。

下载脚本

wget
mv keystone_data.sh_.txt keystone_data.sh

让脚本可运行

chmod +x keystone_data.sh

运行脚本前, 你需要修改脚本。修改两个地方

第一个是登录dashboard的admin的密码

第二个就是keystone的token

#ADMIN_PASSWORD=${ADMIN_PASSWORD:-hastexo}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
SERVICE_PASSWORD=${SERVICE_PASSWORD:-$ADMIN_PASSWORD}
#export SERVICE_TOKEN="hastexo"
export SERVICE_TOKEN="1234567890"
export SERVICE_ENDPOINT="http://localhost:35357/v2.0"
SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service}

运行脚本

#./keystone_data.sh

4:检查keystone是否运行正常

设置环境变量,

export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL="http://localhost:5000/v2.0/"

检查一下环境变量是否生效
# export | grep OS_

输出下面内容就表示正常
declare -x OS_AUTH_URL="http://localhost:5000/v2.0/"
declare -x OS_PASSWORD="admin"
declare -x OS_TENANT_NAME="admin"
declare -x OS_USERNAME="admin"

运行

keystone user-list

5:设置系统的环境变量

环境变量设置,如果退出后,就需要再次设置,为了后面试验的方便,我修改系统的环境变量

修改/etc/profile , 在最后面添加下面内容

export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL="http://localhost:5000/v2.0/"

export EC2_URL=$(keystone catalog --service ec2 | awk '/ publicURL / { print $4 }')
export CREDS=$(keystone ec2-credentials-create)
export EC2_ACCESS_KEY=$(echo "$CREDS" | awk '/ access / { print $4 }')
export EC2_SECRET_KEY=$(echo "$CREDS" | awk '/ secret / { print $4 }')

 退出ssh,再登陆就生效。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/43d91e57278920bdc174c6d46b9e5778.html