VDC模型使用
1 VDC模型介绍
VDC(Virtual Data Center)是ManageOne运营面进行资源分配的单位,适用于分级运营的场景。例如,对于跨国运营商或跨省公司,包含多个省公司或子公司(一级VDC),省公司或子公司又包含多个下级部门(下级VDC)。在进行资源分配时,每个省公司或子公司使用的所有虚拟资源划分为一个一级VDC进行统一管理,每个下级部门使用的资源可以划分为一个下级VDC。每个VDC可以包含多个下级VDC。目前支持最多划分五级VDC。如果不需要分级运营,则只需创建一个一级VDC,将一级VDC管理员作为全局管理员。
VDC租户模型如下图所示:
图 1 VDC模型
VDC租户模型描述:
· 多级VDC组成一个VDC树。VDC是由一个一级VDC为根节点和多个下级VDC组成的具有层次关系的集合;
· 一个VDC中最多可包含五级VDC。一级VDC由运营管理员管理,二级及二级以下VDC由上级VDC管理;二级及二级以下VDC中每一级可以有多个VDC。
· 运营管理员可以创建多个VDC,一个VDC中可以包含多个下级VDC、Project、VDC管理员、VDC业务员。
· Project是对所使用资源的分组,相当于实际中的项目组,各个Project之间资源相互隔离,同一Project中资源共享。一个VDC可以包含多个Project,一个Project只能属于一个VDC。用户在申请资源时,在界面左上角切换到与其关联的某个Project,则用户申请的资源就属于该Project,从而实现资源分组。
例如,用户VDCuser1,在界面左上角切换到与其关联的Project1,并申请ECS1;用户VDCuser2,在界面左上角切换到与其关联的Project2,并申请ECS2;ECS1和ECS2分别属于不同的Project,从而实现了资源的分组。
· 图中用户1——用户n可以是VDC管理员、VDC业务员或自定义角色的用户。
· 每一级VDC中的用户角色除了VDC管理员和VDC业务员,还可以有多个由用户自定的角色。
· 支持代维管理员跨一级VDC代维,便于委托第三方管理运营,代维帐号可以进入被代维的一个或多个一级VDC进行代维。跨一级VDC代维,支持创建、删除、修改代维管理员。代维管理员可以进入被代维的多个一级VDC,代替VDC管理员进行VDC、用户及资源等的管理。代维管理说明如下。
代维管理员根据企业组织结构设置各部门,设置各部门资源配额。
· 代维营管理员通过部门切换,为各部门申请资源,并通过线下方式将资源信息通知最终使用者。
· 资源最终使用者并不登录云管平台。
· 代维管理员代维申请的资源,占用申请部门的配额。
说明:
1. 华为云Stack 6.5.X版本中,每个租户下有且只有一个一级VDC,可将一级VDC与租户等同看待;
2. VDC是ManageOne运营面进行资源分配的单位,是虚拟的概念,主要作用是在分级运营的场景下,起到控制配额、用户权限的作用;
3. VDC下包含project和用户,project与OpenStack中的project相对应,是资源实体,用户在申请使用各种云资源时,均需要指定到具体的project而非VDC
2 场景说明
如VDC模型图所示,大型企业采购华为云Stack全站云平台之后,需要匹配内部的组织结构进行分级运营,达到资源隔离,按需分配的目的,此时需要结合ManageOne的VDC模型进行设计,将子公司(或省公司)设置为一级VDC,然后子公司(或省公司)再根据实际划分子级VDC。
还有一种常见场景是,运营商采购华为云Stack全站云平台,面向政企客户提供云计算服务,这种情况下,每个政企客户也需要独占一个一级VDC。
上述两种场景只涉及初期的组织模型规划,通常,大型企业或者运营商在实际运营过程中,还需要实现现有运营平台(如BSS,CRM等)与华为云Stack的对接,基本的是实现自动开户、快速获取账单的功能,达到自助申请,一键开通,可追溯审计的效果,从而使云计算的运营能够纳入到企业、运营商的日常经营中。
本文主要给出如何实现企业、运营商的运营系统与华为云Stack进行对接,实现自动开通企业账户(即一级VDC)的功能
3 管理一级VDC
3.1准备工作
正式对接前,请参考如下步骤,获取对应的IP、用户:
1. 参考运营侧准备工作帖,获取对接所需要接口文档(主要参考,ManageOne运营面API参考)、运营侧北向接口对外域名:https://bbs.huaweicloud.com/forum/thread-41849-1-1.html
2. 联系项目中,华为交付工程师,获取运营管理员账号、密码,如:如:bss_admin/Huawei@123
3.2接口调用步骤
步骤1 获取运营管理员token
请求URL:https://{运营侧北向接口对外域名}/v3/auth/tokens
请求方法:POST
请求头:
Accept:application/json
Content-Type:application/json;charset=UTF-8
请求体:
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"domain": {
"name": "mo_bss_admin"
},
"name": "bss_admin",
"password": "Huawei@123"
}
}
},
"scope": {
"domain": {
"name": "mo_bss_admin"
}
}
}
}
返回的token在响应头中,示例如下:
HTTP/1.1 201 Created
Date: Wed, 12 Feb 2020 07:14:47 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Subject-Token: MIIECwYxxxxxxxxxxxxxxxxxxSQ3G2RAj89N+t9GECHGnnGUgkKj7vMesUZ2jEW6EiVYA==
X-IAM-Trace-Id: df659e8ff4feecf1adfffe72f7335d40
ETag: W/"259-Qgmz1aPq7XYjfweWaVCVmseNMls"
X-Request-Id: df659e8ff4feecf1adfffe72f7335d40
Server: api-gateway
X-Subject-Token的值即为我们所需要的token
- 点赞
- 收藏
- 关注作者
评论(0)