虚拟私有云(VPC)设计文档

2017-06-12  本文已影响153人  EldonZhao
版本/状态 作者 参与者 起止日期 说明
1.0 赵雪勇 初稿

一、需求背景

1.1 需求目的

VPC作为整个云平台的子系统主要负责对虚拟私有网络进行管理。其中包括VPC实例管理、路由管理、子网管理等。

1.2 参考文档

1.3 术语解释

二、功能设计

2.1 前台模块设计:

a. vpc管理页面:

b. 路由管理页面:

c. 子网管理页面:

2.2 后台模块设计:

a. vpc管理:

支持创建虚拟私有网络实例,对应数据库中一个VPC对象。支持vpc名称、vpc id、region、idc属性。vpc支持多region,和跨idc(待详细设计)。支持vpc的创建、删除和查看。

b. 路由管理:

通常情况下一个虚拟私有云中有一个路由器,即用户在创建vpc时,会联动创建一个路由器,以及默认路由规则。此时会分别调用VPC所管辖的IDC中的SDN创建router,分配vni段给给router使用。

c. 子网管理:

支持用户增删改查子网信息,用户在创建子网时,设置子网名称、网段等属性。

d. 网关管理:

支持提供接口给IAAS增加nat ip网段,用户在创建实例后提供接口给实例管理模块,分配NAT IP,并调用vpc controller创建相关的转发表规则。

2.3 接口设计:

2.4 数据结构设计:

name type foreign
name Char[100]
remark Char[100] -
name type foreign
name Char[100]
remark Char[100] -
name type foreign
id UUID
name Char[100]
tenant_id UUID
tenant_name Char[100]
status Integer
region ForeignKey cloud_info_region
idc ManyToManyField cloud_info_idc
create_time DateTimeField
creator Char[50]
remark Char[100] -
name type foreign
net Char[100]
remark CHar[100] -
name type foreign
id UUID
name Char[100]
tenant_id UUID
tenant_name Char[100]
vnet ForeignKey cloud_info_vnet
idc ManyToManyField cloud_info_idc
create_time DateTimeField
creator Char[50]
remark Char[100] -
name type foreign
id UUID
router OneToOneField cloud_main_router
router_name Char[100]
router_uuid Char[100]
status Integer
remark Char[100] -
name type foreign
id UUID
name Char[100]
tenant_id UUID
tenant_name Char[100]
net Char[50]
start_ip Char[50]
end_ip Char[50]
start_int Integer
end_int Integer
router ForeignKey cloud_main_router
vlan Integer
ava_ip Integer
instance_num Integer
idc OneToOneField cloud_info_idc
creator Char[50]
create_time DateTimeField
remark Char[100] -
name type foreign
id UUID
subnet OneToOneField cloud_main_subnet
network_name Char[100]
network_uuid Char[100]
subnet_name Char[100]
subnet_uuid Char[100]
port_name Char[100]
port_uuid Char[100]
status Integer
remark Char[100] -
name type foreign
ip Char[50]
ip_int Integer
status Integer
subnet ForeignKey cloud_main_subnet
instance_id UUID
vmport_name Char[50]
vmport_id UUID -
name type foreign
id UUID
net Char[50]
start_ip Char[50]
end_ip Char[50]
start_int Integer
end_int Intger
ava_ip Integer -
name type foreign
ip Char[50]
ip_int Intger
net Char[50]
status Integer
subnet_ip OneToOneField cloud_info_subnet_ip
name type foreign
vni Integer
vni_bin Char[10]
status PositiveIntegerField
remark Char[100]
router ForeignKey cloud_main_router
subnet OneToOneField cloud_main_subnet

三、约束设计

四、需求评审

参考资料:

上一篇 下一篇

猜你喜欢

热点阅读