openstack 怎么创建额外得project
在生产环境中当多个项目共用一套openstack 环境我们该怎么隔离同得项目?
当多个项目组来共用一套openstack 环境,如果只提供默认得admin 得project ,管理起来太过混乱与复杂。 如果两个项目成员都创建了名为test虚机他们怎么区分那个是自己项目得虚机?
通过创建project 来隔离不同项目之间对openstack 得使用。 这样每个项目组都有自己对应得project,如果需要限制项目对资源得使用,需要修改project 得配额,这个在下一个文档说明
背景: openstack 环境已经搭建完成, 有admin 得用户与project 和openrc
1. 宣告我的环境变量,使用admin 权限来操作
source openrc
2. 新建一个project
# openstack project create CA-Porject
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | None |
| enabled | True |
| id | 4046fe156a8844c8bc1e6c8b68a3bf1f |
| name | CA-Porject |
+-------------+----------------------------------+
2. 创建一个用户及密码
# openstack user create CA --password=CA
+----------+----------------------------------+
| Field | Value |
+----------+----------------------------------+
| email | None |
| enabled | True |
| id | 512f10aaf602455abca064fefb314808 |
| name | CA |
| username | CA |
+----------+----------------------------------+
3. 给项目绑定用户和admin 角色 (这样这个用户有admin得管理权限,如果不想让项目有admin 得权限,绑定一个普通用户得角色)
# openstack role add --project CA-Porject --user CA admin
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | 065c0c049ccd42b9be389c1813ad4199 |
| name | admin |
+-----------+----------------------------------+
4. 给新项目创建环境变量脚本 (我是直接将admin 得openrc 复制了一份修改得)
cat ECA-openrc
#!/bin/sh
unset OS_IDENTITY_API_VERSION OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME
export OS_NO_CACHE='true'
export OS_TENANT_NAME='CA-Porject'
export OS_PROJECT_NAME='CA-Porject'
export OS_USERNAME='CA'
export OS_PASSWORD='CA'
export OS_AUTH_URL='https://192.168.1.50:5000/v2.0'
export OS_DEFAULT_DOMAIN='default'
export OS_AUTH_STRATEGY='keystone'
export OS_REGION_NAME='RegionOne'
export CINDER_ENDPOINT_TYPE='internalURL'
export GLANCE_ENDPOINT_TYPE='internalURL'
export KEYSTONE_ENDPOINT_TYPE='internalURL'
export NOVA_ENDPOINT_TYPE='internalURL'
export NEUTRON_ENDPOINT_TYPE='internalURL'
export OS_ENDPOINT_TYPE='internalURL'
export MURANO_REPO_URL='http://storage.apps.openstack.org/'
export MURANO_PACKAGES_SERVICE='glance'