基础概念介绍
租户(Tenant):在网络资源上完全隔离的一个用户,在业务上可以代表一个对于网络有隔离和管理需求的部门。一个租户可以对应多个网络。
网络(Network):在业务上可以代表一个部门下的一个项目组。一个网络只能挂在一个租户下面,同时可以有多个子网。
子网(Subnet):在业务上可以代表一个部门下项目组的一个开发或测试环境。同一个network的subnet之间可以默认配置成隔离或者连通。
默认版本提供:tenant隔离,tenant下的network隔离,network下的subnet全通。(network下的subnet可以由用户可选配置成隔离)
模块功能概述
软件定义网络(software-definednetworking,SDN)的核心思想是采用控制和转发相分离的策略,实现网络和业务的可编程,从而实现网络资源的动态管理。用户可以通过程序动态构建各种特性的数据转发网络,以达到不同网络对各种应用的承载需求。
云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建、修改和删除网络,网络的连通性和隔离性也不可能通过手工配置来保证了。为快速响应业务的需求,HarmonyCloud提供了软件定义网络的解决方案,具有非常高的灵活性和自动化优势。
主要功能:
租户网络隔离
-
不同租户之间的网络进行隔离,每个租户只能访问自己的网络资源,不可访问其他租户的网络资源。
-
解决了租户与其他租户服务间的网络隔离问题,保障了租户对自身服务访问的合法权益,禁止其他租户的恶意访问。
网络的安全性
-
谐云网络服务利用Linuxiptables、ACLs特性,实现访问虚机的安全性。
网络的多粒度隔离控制
-
根据业务需求,通过policy提供网络的多粒度隔离控制。
可以在同一tenant下配置如下6种用户自定义policy,tenant之间不可配置。
优先级 |
入口对象 |
作用对象 |
备注 |
11 |
network1 |
network2 |
network2->network1 |
12 |
network1 |
network2-subnet1 |
network2-subnet1->network1 |
21 |
network1-subnet1 |
network2 |
network2->network1-subnet1 |
22 |
network1-subnet1 |
network2-subnet1 |
network2-subnet1->network1-subnet1 |
31 |
network1-subnet1(name:app) |
network2 |
network2->network1-subnet1(name:app) |
32 |
network1-subnet1(name:app) |
network2-subnet1 |
network2-subnet1->network1-subnet1(name:app) |
为Kubernetes提供网络服务
-
用户创建Pod过程中,只需简单配置便可以为Pod提供网络服务,而无需关心底层实现细节。
-
如网络服务工作流程图所示,为Pod创建网络是一个非常复杂的过程,用户一键创建网络的背后,后台却进行了一系列的操作。谐云网络服务首先要创建Network、Subnet等资源,在创建pod时候指定所需网络资源以及networkpolicy策略。