OpenStack平台开放镜像权限

案例准备
1. 规划节点
节点规划见表1。

表1 节点规划
IP主机名节点
10.24.200.130controllerOpenStack Controller节点


2. 基础准备
使用平台提供的OpenStack平台作为实验节点。该案例主要是实现对不同租户开放不同镜像,便于更好
的管理OpenStack云平台和租户。
案例实施
1. 场景分析
(1)背景
某OpenStack云平台有两个租户,A租户与B租户,分别属于两个部门,该公司对镜像的管理比较严格,
镜像都由管理员进行上传和权限管理。
(2)诉求
该公司有一个镜像,需要共享给A租户使用,对B租户不可见,实现这种方式最简单的方式,是由A租户
中的用户自行上传镜像,这样A租户里面的用户可以看见该镜像,而B租户中的用户看不见。但是现在镜
像不能由普通用户去上传,只能通过管理员进行操作。
(3)解决方案
通过管理员上传该镜像,并使用相关命令开放给A租户。
2. 案例实操
(1)创建租户
登录OpenStack平台,创建租户deyA和deyB,并且在这两个租户下各创一个用户userA和userB的普通
用户,使用命令查看,命令如下:

[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# openstack project create --domain demo deyA
[root@controller ~]# openstack user create --domain demo --password 123456
userA
[root@controller ~]# openstack role add --project deyA --user userA user
[root@controller ~]# openstack project create --domain demo deyB
[root@controller ~]# openstack user create --domain demo --password 123456
userB
[root@controller ~]# openstack role add --project deyB --user userB user


使用命令查询租户列表信息和用户列表信息,命令代码如下所示:

[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# openstack project list
+----------------------------------+---------+
| ID | Name |
+----------------------------------+---------+
| 0dd87985eb314fed828e6888aed4880d | demo |
| 525075abb84e4e088dfe3adc4da61e72 | depB |
| 55b50cbb4dd4459b873cb15a8b03db43 | admin |
| a184a157399043c2a40abc52df0459a2 | service |
| df58511d2c914690b48e89f1e512ae6b | depA |
+----------------------------------+---------+
[root@controller ~]# openstack user list
+----------------------------------+-------------------+
| ID | Name |
+----------------------------------+-------------------+
| 0f8782af6a654d77b587e25a32f91f28 | cinder |
| 1ab30f77400448eba6b2d47e55084540 | demo |
| 2550fa93b1fe4cb582f1f46353b836d8 | ceilometer |
| 2d2a345336184b1ebbdf022f710084e8 | neutron |
| 48b816f9db9541b4bd9ca49ad453574c | glance |
| 4c989a43a75c477bb4f9b7566cde6028 | userA |
| 765a16c99d7d42a4b69ff941f7791b54 | aodh |
| 788efa329f324b91a431ad56cd7b9a14 | nova |
| 7ecae98d16d54483b964c9c2548fd7bc | swift |
| 8a33fc3342154a3ca264ae7b918648ba | userB |
| 962612a3e7784df38d0c98fea1f30320 | heat |
| 9ee4731c00c24f659b8790be6b77bc8a | admin |
| d6fdd1e5e1a348e0b6c5b8c7f33ba5fa | placement |
| d957a578fed2452ab91bc651f2f1fb97 | heat_domain_admin |
| e91070fa751e49689963b566db999bee | gnocchi |
+----------------------------------+-------------------+


可以看见租户与用户均已存在。
(2)上传镜像
将cirros-0.3.4-x86_64-disk.img下载至控制节点的/root目录下,并上传至云平台中,命令如下:
 

[root@controller ~]# curl -O http://mirrors.douxuedu.com/competition/cirros0.3.4-x86_64-disk.img
[root@controller ~]# glance image-create --name cirros --disk-format qcow2 --
container-format bare --progress < cirros-0.3.4-x86_64-disk.img
[=============================>] 100%
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | 2022-02-10T05:31:48Z |
| disk_format | qcow2 |
| id | 1fa9cbfe-392f-437e-ad18-f00987415b15 |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| owner | 55b50cbb4dd4459b873cb15a8b03db43 |
| protected | False |
| size | 13287936 |
| status | active |
| tags | [] |
| updated_at | 2022-02-10T05:31:49Z |
| virtual_size | None |
| visibility | shared |
+------------------+--------------------------------------+


上传镜像后,userA和userB都不能看到该镜像。接下来做相关配置,使得A租户中的用户可以看到该镜
像。
(3)权限配置
首先将镜像共享给A租户,命令格式为glance member-create ,命令如下所示:
在共享之后,镜像的状态是pending状态,此时还需要激活镜像,命令如下:
此时镜像的状态就变为了accepted,切换至userA账户中查看镜像列表信息,命令如下所示:
 

[root@controller ~]# glance member-create 1fa9cbfe-392f-437e-ad18-f00987415b15
df58511d2c914690b48e89f1e512ae6b
+--------------------------------------+----------------------------------+-----
----+
| Image ID | Member ID |
Status |
+--------------------------------------+----------------------------------+-----
----+
| 1fa9cbfe-392f-437e-ad18-f00987415b15 | df58511d2c914690b48e89f1e512ae6b |
pending |
+--------------------------------------+----------------------------------+-----
----+
[root@openstack ~]# glance member-update 1fa9cbfe-392f-437e-ad18-f00987415b15
df58511d2c914690b48e89f1e512ae6b accepted
+--------------------------------------+----------------------------------+-----
-----+
| Image ID | Member ID |
Status |
+--------------------------------------+----------------------------------+-----
-----+
| 1fa9cbfe-392f-437e-ad18-f00987415b15 | df58511d2c914690b48e89f1e512ae6b |
accepted |
+--------------------------------------+----------------------------------+-----
-----+
[root@controller ~]# export OS_PROJECT_NAME=deyA
[root@controller ~]# export OS_USERNAME=userA
[root@controller ~]# export OS_PASSWORD=123456
[root@controller ~]# glance image-list
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| 1fa9cbfe-392f-437e-ad18-f00987415b15 | cirros |
+--------------------------------------+--------+


通过这种方式,可以使用管理员设置不同租户对不同镜像的访问权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Skill_Jay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值