博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《OpenStack云计算实战手册(第2版)》一1.9 配置服务的租户和服务的用户
阅读量:6859 次
发布时间:2019-06-26

本文共 3673 字,大约阅读时间需要 12 分钟。

本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第1章,第1.9节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者: 黄凯 , 杜玉杰 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.9 配置服务的租户和服务的用户

OpenStack云计算实战手册(第2版)

服务端点创建完成以后,接下来配置它们以便其他OpenStack服务能够调用它们。为此,要为每个服务都配置一个特定的service租户,并指定对应的用户名和密码。这样的目的是保证更高的安全性、以及用来为云环境做故障排除和审计等工作。对于每一个需要OpenStack身份认证服务来验证和授权的服务,都需要在该服务启动之前,在其相关的配置文件里详细写明用于Keystone验证的用户名和密码。例如,glance服务是在/etc/glance/glance-registry-api.ini文件中指定,当OpenStack身份认证服务使用时,必须与之前创建的相匹配。

[filter:authtoken]  paste.filter_factory = keystone.middleware.auth_token:filter_factory  service_protocol = http  service_host = 172.16.0.200  service_port = 5000  auth_host = 172.16.0.200  auth_port = 35357  auth_protocol = http  auth_uri = http://172.16.0.200:5000/  admin_tenant_name = service  admin_user = glance  admin_password = glance

准备工作

在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端。

登录到使用Vagrant创建的OpenStack控制节点,执行以下命令:

vagrant ssh controller

如果keystone客户端工具尚未安装,则可以通过如下命令在Ubuntu客户端上安装以便管理OpenStack身份认证服务:

sudo apt-get update  sudo apt-get -y install python-keystoneclient

确保已经设置了正确的环境变量,能访问到OpenStack环境。

export ENDPOINT=172.16.0.200  export SERVICE_TOKEN=ADMIN  export SERVICE_ENDPOINT=http://${ENDPOINT}:35357/v2.0

操作步骤

要配置一个合适的服务租户,需要执行如下步骤。

1.创建服务租户,命令如下所示:

keystone tenant-create \     --name service \     --description "Service Tenant" \     --enabled true

输出如图1-6所示。

6

2.记录下服务租户的ID,以方便后面使用。

SERVICE_TENANT_ID=$(keystone tenant-list \    | awk '/\ service\ / {print $2}')

3.对于本节中的所有服务,都会为其创建一个用户账户,用户名和密码都和服务名称一致。例如,会在服务租户里用user-create选项创建一个用户名和密码均为nova的用户,命令如下所示:

keystone user-create \     --name nova \     --pass nova \     --tenant_id  $SERVICE_TENANT_ID \     --email nova@localhost \      --enabled true

输出如图1-7所示。

7

4.重复上一步,继续为其他用到OpenStack身份认证功能的服务创建用户。

keystone user-create \     --name glance    --pass glance \    --tenant_id $SERVICE_TENANT_ID \    --email glance@localhost \     --enabled truekeystone user-create \     --name keystone \     --pass keystone \    --tenant_id $SERVICE_TENANT_ID \     --email keystone@localhost \    --enabled truekeystone user-create \   --name cinder \   --pass cinder \   --tenant_id $SERVICE_TENANT_ID \   --email cinder@localhost \   --enabled true

5.现在为这些服务租户里的用户分配admin角色。为此,需要先取得nova用户的用户ID,然后在用user-role-add选项来分配角色。例如,为了将admin角色分配给服务租户里的nova用户,命令如下所示:

# Get the nova user id   NOVA_USER_ID=$(keystone user-list \   | awk '/\ nova\ / {print $2}')  # Get the admin role id  ADMIN_ROLE_ID=$(keystone role-list\   | awk '/\ admin\ / {print $2}')  # Assign the nova user the admin role in service tenant  keystone user-role-add\    --user $NOVA_USER_ID\    --role $ADMIN_ROLE_ID\   --tenant_id $SERVICE_TENANT_ID

6.接下来,重复上一步,继续为其他服务租户(glance、keystone和cinder用户)分配角色。

# Get the glance user idGLANCE_USER_ID=$(keystone user-list\   | awk '/\ glance\ / {print $2}')# Assign the glance user the admin role in service tenantkeystone user-role-add\    --user $GLANCE_USER_ID\    --role $ADMIN_ROLE_ID\    --tenant_id $SERVICE_TENANT_ID# Get the keystone user idKEYSTONE_USER_ID=$(keystone user-list\   | awk '/\ keystone\ / {print $2}')# Assign the keystone user the admin role in service tenantkeystone user-role-add\    --user $KEYSTONE_USER_ID\    --role $ADMIN_ROLE_ID\    --tenant_id $SERVICE_TENANT_ID# Get the cinder user idCINDER_USER_ID=$(keystone user-list\   | awk '/\ cinder \ / {print $2}')# Assign the cinder user the admin role in service tenantkeystone user-role-add\    --user $CINDER_USER_ID\    --role $ADMIN_ROLE_ID\    --tenant_id $SERVICE_TENANT_ID

工作原理

创建服务租户,然后在其中添加OpenStack运行必需的各个服务的用户,这两步操作和在系统中添加需要admin角色的其他用户没什么不同。为每个拥有admin角色的用户分配用户名和密码,并确保它们存在于服务租户内。然后,使用这些凭证来配置服务OpenStack 的身份认证服务。

转载地址:http://uaiyl.baihongyu.com/

你可能感兴趣的文章
zabbix snmp监控
查看>>
MySQL单实例重置密码的两种方法
查看>>
一段典型的PHP程序都包含那些内容呢?
查看>>
Windows Phone 7 数据绑定的简单介绍
查看>>
合并下载的Solaris镜像为DVD文件的方法
查看>>
shell编程入门步步高(一、shell简介)
查看>>
一个简单的HQL优化
查看>>
从股价说起 百神大战凸现百度与腾讯阿里差距
查看>>
MariaDB六之主从复制
查看>>
outlook cannot send this item
查看>>
【Win7下Android native code的编译和调试】
查看>>
【iOS-cocos2d-X 游戏开发之十】自定义各类模版&触屏事件讲解!
查看>>
域环境下如何保护重要资料文件的安全(二)---IRM&RMS(下)
查看>>
服务器升迁架构.png
查看>>
不能联系xx域的域控制器
查看>>
生产网络做portfast等配置对网络的影响
查看>>
Connection is read-only. Queries leading to data modification are not allowed
查看>>
LeetCode - 43. Multiply Strings
查看>>
sublime text3侧边栏主题不生效问题解决
查看>>
Hyper-V Server Replica
查看>>