本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.7节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.7 租户间共享镜像
当一个镜像是私有的时候,租户中只有上传者才能访问该镜像。OpenStack镜像服务提供了一种机制,可以让私有镜像在不同的租户之间共享。这需要对镜像有灵活的控制权限,才能够限制不同租户的访问权限。
准备工作
要做这个实验,应确认已经登录到一台Ubuntu 客户机,且已经具有glance工具。如果没有该工具,可通过以下方法安装:
sudo apt-get update
sudo apt-get -y install glance-client
为了保证环境变量设置正确,admin用户和密码应和之前创建的保持一致。执行以下操作:
export OS_TENANT_NAME=cookbook
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=http://172.16.0.1:5000/v2.0/
export OS_NO_CACHE=1
操作步骤
要共享cookbook租户中的私有镜像文件给其他租户,执行下列步骤。
1.首先需要获取租户ID,才能够访问镜像。
keystone tenant-list
2.然后列出镜像。
glance image-list
3.如果有一个demo租户,其ID为04a1f9957fcb49229ccbc5af55ac9f76,有一个镜像,其ID为
2e696cf4-5167-4908-a769-356a51dc572,可以通过以下命令共享该镜像。
glance member-create \
2e696cf4-5167-4908-a769-356a51dc5728 \
04a1f9957fcb49229ccbc5af55ac9f76
工作原理
glance命令中的member-create选项可以用来与其他租户共享镜像,语法如下:
glance [--can-share] member-create image-id tenant-id
该命令有一个可选参数--can-share,可以指定哪个租户可以共享该镜像。