NSX多租户之旅

news2024/11/22 23:38:24

从多租户数据面到完整的多租户框架

我们很高兴地宣布NSX中的Projects这一项新功能,可以对NSX部署的多个租户进行细粒度的资源管理。

Projects提供灵活的资源分配和管理,将NSX的多租户支持提升到新的水平。企业管理员可以将平台划分为不同Projects,将不同的空间分配给不同的租户,同时保持完全的可见性和控制。NSX消费模式的这一扩展支持NSX用户使用他们自己的对象,看到与他们自己的配置相关的警报,并通过Traceflow测试他们工作负载之间的连接性。

这篇文章概述了NSX的新多租户功能,解释了它们是如何从传统的多租户数据面(仍然支持)发展到基于Projects的新多租户框架(管理员可以选择利用)。

多租户数据面 - 路由

在讨论Projects引入的新的多租户功能之前,我们先来看看传统上在数据平面怎么实现多租户的。

NSX支持多层路由模型,在NSX基础设施内的不同网关之间进行逻辑分离,对服务和政策给予完全的控制和灵活性。这种模式使数据中心的互连简单而稳定,也使复杂的、可能被隔离的应用环境实现自动化。

  • Tier-0网关在逻辑和物理网络之间提供网关服务。传统上,它被设置为动态路由或服务。
  • Tier-1网关为租户或应用路由器提供一系列的服务(NAT、GFW、DNS转发器等)。NSX管理它们与Tier-0网关的连接和路由分配。

在这里插入图片描述

扩展的网络功能

有多种方法可以扩展这个模型以进行额外的细分。

在下面的图片中,你可以看到同一NSX部署中的多个Tier-0s:

  • 租户A可以被映射到Tier-0 A和底层Tier-1上。
  • 租户B可以被映射到Tier-0 B和底层Tier-1上。

在这里插入图片描述

这种配置将用于在NSX中从数据中心传播网络分段,但它需要为不同的环境提供一组不同的Edge节点。

随着Tier-0 VRF的引入,这一要求不再有必要。Tier-0 VRF网关被托管在Edge节点的父级Tier-0网关上。如下图所示,我们可以实现以下配置:

  • 租户A可以被映射到Tier-0 VRF A和底层Tier-1上。
  • 租户B可以被映射到Tier-0 VRF B和底层Tier-1上。

在这里插入图片描述
随着EVPN的引入,Tier-0 VRF的用例得到进一步扩展,它通过消除对每个VRF路由配置的需要,简化了南北配置的规模。

多租户数据面 - 分布式安全结构

NSX还提供分布式安全结构,允许隔离工作负载(虚拟机或容器)并控制它们之间的流量。因为安全问题是在vNIC内处理的,所以无论网络架构如何,隔离仍然是可能的。无论虚拟机是否在同一主机或同一子网,你都能得到同样的安全保护。

这种强大的功能使你能够对工作负载进行分组,并根据各种属性(从操作系统到业务线特征)创建规则集。

在这里插入图片描述

这也意味着,从NSX推送的单一规则可以应用于环境中的所有工作负载,这增加了能够管理平面多租户的价值。如果没有细分,授权会很快变得低效和复杂。

云管理平台

下图所示的模型允许供应商设置Tier-0网关,定义它如何连接到网络,并通过云管理平台(如Aria Automation、OpenStack或vCloud Director)进行Tier-1的创建。

在这里插入图片描述

从数据面的角度,通过NSX实现租约,从管理面的角度,通过云管理平台实现租约,该平台隔离了不同的环境配置。

为什么在NSX中引入多租户框架?

在之前讨论的模型中,你可以看到NSX如何允许用户应用所需的数据平面分段。然而,在NSX 4.1发布之前,租户并没有在NSX中明确定义。这种逻辑是由NSX管理员或云管理平台完成的。

如果一个安全团队想委托管理防火墙规则,需要基于角色访问NSX,怎么办?如果该团队的相同用户只想看到与他们的环境相关的警报呢?或者,如果他们只想收集其租户内指定的防火墙日志?

这些只是一些理论上的场景,突出了团队面临的挑战;从管理和监控的角度来看,NSX中存在对多租户构造的明显需求。

Projects介绍

NSX 4.1中的多租户是通过在平台中引入Projects而实现的。

企业管理员(供应商)可以将平台划分为定义的Projects。这些Projects将用户委托给不同的空间和租户,他们有自己的对象、配置、虚拟机和监控(基于警报和日志)。

Projects与传统的数据模型并存,可以选择使用,并且不会以任何方式破坏与现有设置的兼容性。企业管理员仍然可以访问Projects之外的所有功能(从系统设置到防火墙规则),但如果需要,可以使用Projects来定义租户的逻辑消费。

在这里插入图片描述

提供者视图:创建和管理Projects

从NSX 4.1.0开始,Projects可以在NSX UI屏幕顶部的下拉菜单中的正面和中心位置使用。当访问平台时,企业管理员将登录到下拉菜单所示的默认空间。

在这里插入图片描述

在 "默认 "空间中,企业管理员可以对所有Projects进行综合查看,或切换到查看特定Projects。他们还可以用不同的Projects创建多个租户(Projects1,Projects2,等等)。要做到这一点,他们必须分配好:

  • 至少有一个Tier-0或Tier-0 VRF(支持多个)。
  • 至少有一个Edge集群(支持多个)。
  • 分配给Projects的用户。
  • 在与Projects有关的日志上标注一个简短的日志ID(仅限于NSX 4.1.0的安全日志)。

需要注意的是,如果企业管理员需要,Tier-0/Tier-0 VRF和Edge Clusters可以跨Projects共享。

在这里插入图片描述

一旦分配,Projects1的Projects用户可以在为他们定义的范围内直接访问NSX。他们还可以创建部署在所分配的Edge集群上的配置,这些配置可以连接到所分配的Tier-0或Tier-0 VRF。

在这里插入图片描述

企业管理员还可以分配Projects的配置,以简化消费或限制通过配额创建的对象的数量。下面的图片显示了一个分配配额的例子。

在这里插入图片描述

企业管理员可以创建全系统的防火墙规则,这些规则将适用于所有环境中的所有虚拟机。这些规则是从默认空间配置的,无法在租户内修改。

租户视角:Projects消费

一旦Projects被建立起来,就可以将访问权委托给租户。企业管理员可以分配一个Projects管理员的通用角色,或使用更有针对性的角色,如Projects1的安全管理员或Projects1的网络操作员。租户可以通过用户界面或API来使用NSX。

登录后,用户将直接进入他们指定的Projects,只看到与他们Projects相关的配置、警报、虚拟机等。

在这里插入图片描述

配置将被限制在逻辑对象上。租户不能管理平台设置(安装、升级等),因为这些功能保持在企业管理员管理之下。其他保持在企业管理员管理下的功能,不暴露给租户,包括Tier-0配置和排除列表。

Projects中的网络

对于显露的功能,Projects下的消耗与Projects外的消耗是一样的。创建Tier-1、网段和其他配置遵循相同的模式,它们使用分配的Tier-0(s)/Tier-0 VRF(s)和Edge Cluster(s)。关于分配的资源(配额)的信息可以在Projects标签中找到。

对于显露的特征,Projects下的消耗与Projects外的消耗是一样的。

在这里插入图片描述

Projects中的安全问题

Projects功能的主要目标之一是能够委托安全策略管理,避免规则被应用于错误的虚拟机的风险。

当一个Projects被创建时,一个代表该Projects的组也被创建,同时还有一些默认的规则,这些规则能保证项目内正常通信。

在这里插入图片描述

Projects管理员可以通过改变默认规则、创建新规则等来管理他们自己的规则。这些规则将只适用于连接到其Projects段的虚拟机。所有其他的虚拟机(未连接到Projects段)将不会从Projects中看到,也不会受到Projects中配置的规则的影响。

现在可以让用户访问NSX分布式防火墙,同时消除用户可能创建影响整个系统的规则风险。

如前所述,企业管理员在默认空间定义的规则可以适用于Projects中的那些虚拟机,并且按照优先级生效。这允许企业管理员设置环境,以创建适用于所有工作负载或适用于特定Projects的全局规则。这些全局规则不能由Projects用户修改。

来自分布式防火墙和网关防火墙的日志将被贴上Projects信息的标签,以便它们能够被租户识别和分离。

总结

NSX内的多租户模型在数据层已经存在好几年了,但Projects化管理的引入提高了这一能力的运行效率。在基于角色的访问控制、配额、共享的配置方面,企业管理员现在可以通过更广泛、更灵活的多租户配置控制,由此提高效率。同时,租户可以通过日志和警报等功能更有效地管理自己的资源和配置。
同样,Projects化管理不是必选项;如果需要,你可以继续单独在数据层管理多租户,这样做可能对较简单的用例有意义,因为你的主要目标是在网关之间实现逻辑分离。但对于更复杂的用例来说,Projects化管理增强了灵活性,创建和管理多租户部署都比以往更容易了。

本文作者:Thomas Vigneron, VMware
内容来源|公众号:VMware 中国研发中心
有任何疑问,欢迎扫描下方公众号联系我们哦~

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/828713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java类集框架(一)

目录 1.Collection集合接口 2.List 接口 (常用子类 ArrayList ,LinkedList,Vector) 3.Set 集合 接口(常用子类 HashSet LinkedHashSet,TreeSet) 4.集合输出(iterator , Enumeration) 1.Collection集合接口 Collection是集合中最大父接口,在接口中定义了核心的…

SolidWorks二次开发系列入门100篇之97-极点坐标

什么是极点 一个模型中的极点是指在某个方向上的最高或最低点。在三维模型中,通常有三个方向:x轴、y轴和z轴。因此,在x轴,y轴和z轴的正方向和负方向上,每个模型可能都有两个极点。极点通常是一些锐角或骨刺&#xff0…

攻防世界zorropub题解与subprocess模块

目录 题目分析: subprocess模块: subprocess.Popen()函数: subprocess.run()函数: 题目脚本: 在攻防世界做到一个题目感觉还挺有意思,记录一下 这个放链接也只是攻防世界的页面,所以直接说…

docker数据持久化

在Docker中若要想实现容器数据的持久化(所谓的数据持久化即数据不随着Container的结束而销毁),需要将数据从宿主机挂载到容器中。目前Docker提供了三种不同的方式将数据从宿主机挂载到容器中。 (1)Volumes:…

【C#学习笔记】值类型(1)

虽然拥有编程基础的人可以很快地上手C#,但是依然需要学习C#的特性和基础。本系列是本人学习C#的笔记,完全按照微软官方文档编写,但是不适合没有编程基础的人。 文章目录 .NET 体系结构Hello,World类型和变量(重要&…

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离 (三)

本篇主要说明: 1. 因为这个mysql版本是8.0,所以当其中一台mysql节点挂掉之后,主从同步,甚至双向数据同步都失效了,所以本篇主要记录下当其中的节点挂掉之后如何再次生效。另外推荐大家使用mysql5.7的版本,这…

3-ASCII-座位渲染-二维码

一 ASCII码 1 概念 ascii码是一种计算机信息交换标准,在这个表里面制定了 128个数字跟128个字符的对应关系 我们只关注字母跟数字的对应关系 2 ASCII码转字符 let str String.fromCharCode(数字)二 js对象跟查询字符串互转 a js对象转查询字符串 //创建一个对象 let obj …

新SDK平台下载开源全志D1-H/D1s的SDK

获取SDK SDK 使用 Repo 工具管理,拉取 SDK 需要配置安装 Repo 工具。 Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is…

【Python】模块学习之matplotlib柱状图、饼状图、动态图及解决中文显示问题

目录 前言 安装 pip安装 安装包安装 柱状图 主要方法 参数说明 示例代码 效果图 解决中文显示问题 修改后的图片 饼状图 主要方法 示例代码 效果图 动态图 主要方法 动态图官方使用介绍 示例代码 颜色设置 内建颜色 字体设置 资料获取方法 前言 众所周…

WPF上位机6——文件操作、多线程、线程锁、Task异步编程

文件操作 文件夹操作 创建文件夹 磁盘信息 文件的读写 文件流 Thread多线程 带参数创建线程 Task多线程 创建方式1 第一种 第二种 第三种:线程池的方式 前台与后台线程 线程锁 Task异步编程 task任务取消 task返回值 async await异步 并行库Parallel

CEC2014:CEC2014测试函数及多种智能优化算法求解CEC2014对比

目录 一、CEC2014测试函数 二、多种智能优化算法求解CEC2014 2.1 本文参与求解CEC2014的智能优化算法 2.2 部分测试函数运行结果与收敛曲线 三、曲线标记代码(获得代码后可自行更改) 一、CEC2014测试函数 CEC2014测试集共有30个单目标测试函数&#xff0…

linux下docker安装、镜像下载、镜像基础操作、容器基础操作

目录 一、环境准备 1、开启虚拟化 2、关闭防火墙 3、yum仓库获取阿里源(清华、京东都可以) 4、确保能ping到外网 二、安装docker 1、yum安装docker 2、启动docker并设置开机自启 3、安装docker-ce阿里镜像加速器 三、docker基本操作 1、查看版…

如何在项目需求与技术方案未确定的情况下掌控上线时间?

需求不明确与技术方案未确定的挑战 在任何项目管理过程中,需求和技术方案是两个核心环节。理想情况下,我们希望在项目开始阶段就有清晰明确的需求和经过深思熟虑的技术方案。然而,现实中的项目管理往往并不如此理想。 项目需求的重要性 需求…

2023年全新版Java学习路线,精心整理【文中送书福利 】

小伙伴们大家好,这里是动力节点,我们从2009年开始一直在从事Java培训 到今年已经整14年了,虽然现在不缺培训机构,更不缺Java培训,但是像我们这么多年专注这一件事的应该也不多。我们只希望在“专业”两个字上面不断精…

Vue3 基础知识点汇总 自学笔记,记录难点 和 新知识点

1.vue3 基础 1.1vue3基础及创建 npm init vue@latest1.2.熟悉项目目录及关键文字 1.3 组合式API-setup 1.4.组合式 API reactive 和ref 函数 (都是为了生成响应式数据) 1.5.组合式API-computed 计算属性函数 1.6.watch 函数 1.7.组合式API-生命周期函数 1.8.组合式 API-父子…

Spring之事务实现方式及原理

目录 Spring事务简介 Spring支持事务管理的两种方式 编程式事务控制 声明式事务管理 Spring事务角色 未开启事务之前 开启Spring的事务管理后 事务配置 事务传播行为 事务传播行为的可选值 Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功…

Python之pyinstaller打包exe填坑总结

一、起因 编写了一个提取图片中文字的python脚本,想传给同事使用,但是同事电脑上没有任何python环境,更没有安装python库,因此想到通过pyinstaller打包成exe程序传给同事使用,于是开始了不断地挖坑填坑之旅 import p…

Kafka-消费者组消费流程

消费者向kafka集群发送消费请求,消费者客户端默认每次从kafka集群拉取50M数据,放到缓冲队列中,消费者从缓冲队列中每次拉取500条数据进行消费。

Dockerfile构建SSHD镜像

Dockerfile构建SSHD镜像 基于Dockerfile制作镜像时首先需要建立工作目录,作为生成镜像的工作目录,然后分别创建并编写 Dockerfile文件、需要运行的脚本文件以及要复制到容器中的文件。 1、环境配置: [rootdocker ~]# iptables -F [rootdoc…

用python+PyQt5来编写一个定时关机窗口

一、界面展示 二、源码 import sys from PyQt5.QtWidgets import QDesktopWidget,QApplication, QWidget, QLabel, QVBoxLayout, QPushButton, QSpinBox import osclass AutoShutdownApp(QWidget):def __init__(self):super().__init__()self.setWindowTitle("自动关机应…