Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7065834
  • 博文数量: 701
  • 博客积分: 10821
  • 博客等级: 上将
  • 技术积分: 12021
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-02 10:41
个人简介

中科院架构师,专注企业数字化各个方面,MES/ERP/CRM/OA、物联网、传感器、大数据、ML、AI、云计算openstack、Linux、SpringCloud。

文章分类

全部博文(701)

分类: 云计算

2014-12-27 08:27:02

定义:
用户(无论是Dashboard, API Client)都需要访问Keystone获取服务列表,以及每个服务的地址(Openstack中称为Endpoint).访问服务的地址.
租户:
在Openstack中租户对应到项目(Project)。一个用户可以同时属于多个不同的项目

删除多余的删除多余的endpoint
keystone service-delete

endpoint设定:
service_id=$(keystone --token ADMIN --endpoint service-create --name=glance --type=image --description="Glance Image Service" | grep '^| id' | awk '{print $4}') 
keystone --token ADMIN --endpoint endpoint-create --region $REGION --service_id=$service_id --publicurl= --internalurl= --adminurl=

有过一阵子的openstack经验之后,想要进一步了解其中的概念和实现方式,就需要自己去了解安装过程中得那些别人帮你写好的脚本。在安装keystone的时候,或许你会用到keystone_datat.sh和endpoint.sh脚本,其实就是创建user,role,tenant.service,endpoint,(当然你是用的国内比较有名的安装文档,如果用官方文档,你或许直接使用命令创建的这些,当然是很麻烦的)。今天自己尝试了一下,其实就冲这些脚本中搬出来,然后自己研究一下,比较刚毕业,也不会写脚本。代码如下,主要是针对我研究的swift提供认证和鉴权服务。

   ADMIN_PASSWORD=${ADMIN_PASSWORD:-mypassword123}
export SERVICE_TOKEN="zhoubing"
export SERVICE_ENDPOINT=""
 function get_id() {
    echo `$@ | awk '/ id / { print $4 }'`
}
ADMIN_TENANT=$(get_id keystone tenant-create --name=acme)
 ADMIN_USER=$(get_id keystone user-create --name=alice \
                                         --pass="$ADMIN_PASSWORD" \
                                         --email=admin@zhoubing.com)
 ADMIN_ROLE=$(get_id keystone role-create --name=admin)
 keystone user-role-add --user $ADMIN_USER --role $ADMIN_ROLE --tenant_id $ADMIN_TENANT
 
keystone service-create --name swift --type object-store --description 'OpenStack Storage Service'



执行这个脚本之后,再输入创建endpoint的命令,就创建了针对swift的鉴权和认证服务,其中SERVICE_TOKEN要跟keystone.conf中得admin_token一致。很简单但是对于了解keystone中得概念很有帮助。不论你要为nova,galnce,还是其他服务创建鉴权服务,只需要创建tenant user 和role 还有service ,其中最重要的一步是user-role-add,把user和role和tenant关联起来,而且需要主要的如果不export环境变量,keystone-keystoneclient是不会执行的。

阅读(6254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~