虚拟云网络系列 | Antrea 应用于 VMware 方案功能简介(八)
我们在前几篇文章讨论并展示了使用 Antrea 搭配 NSX Manager 来提供便利且企业等级的容器网络安全机制,以及与原生 Kubernetes Network Policies 的运作方式比较。采用 Antrea 搭配 NSX Manager 是我们在各个不同企业客户介绍容器方案时的主打功能之一,也受到很多客户青睐希望在生产环境内进行部署。因此接下来我想将重点放在如何进行 Antrea 与 NSX Manager 的链接整合流程。但开始前,这里要特别用一篇推文来讨论 Antrea 与 NSX Manager 的方案架构。
下面这张图是在 Kubernetes Cluster 内运用 Antrea 作为 Container Network Interface 元件,并且与 NSX Manager 进行整合的架构:
相关重点构件讨论如下:
Antrea 构件
与我们之前在讨论 Antrea 本身的架构相同,在每个 Kubernetes Nodes 内都会有一个 Antrea Pod 来负责。
- 接收来自 Kubernetes API Server 的指示,编写相关的网络与安全需求如 Pod 之间的网络连接;
- 由 Antrea Controller 端接收 Antrea Network Policy 的要求,提供 Pod 上的安全策略;
- 透过本地上的 Open vSwitch 来实现上述功能。
而 Kubernetes Cluster 内在 Master Nodes 内也会部署一个 Antrea Controller Pod,这个 Controller Pod 是 Antrea 的安全控制端,负责要与 K8S API Server 那边抓取 K8S Inventories 的相关信息,并取得对应 Antrea Network Policy 的 CRD(Customized Resource Definition)要求。
上述构件都和我们之前描述标准 Antrea 方案一模一样,唯一要注意的是 Antrea 至 少必须采用 1.2.3 的社群版本,或 1.3.1-1.2.3 的商用版本,才会支持与 NSX 整合的功能,这是大家需要特别在使用此功能前注意的。下图是 VMware Container Networking with Antrea 1.3.1-1.2.3 的 release note(注:标注红框部分就是对于 NSX 整合新功能的描述。)
安特里亚 NSX 适配器
在进行 NSX 集成时,Kubernetes Cluster 内会配置一个独立的 Pod ,在上面架构图内叫做 Antrea NSX Adapter。这个 Pod 一方面负责与 Kubernetes 内的 API Server 以及 Antrea Controller Pod 通信,包含抓取 Kubernetes 相关 Inventory 信息,以及送出从 NSX 那边取得的群组与防火墙政策配置。另一方面则是与 NSX Manager 进行连接,提供上述的信息。
下图内大家看到在做完 Antrea + NSX 整合后, Kubernetes Cluster 内会出现一个开头是 interworking 的这个 pod,就是我们这边讨论的 Antrea NSX Adapter。
单纯安装 Antrea 作为 K8S Cluster CNI 时不会有上面这个 Pod 出现,只有在进行 NSX 整合时才需要。在后面我们讨论 Antrea+NSX 的安装步骤时会看到相关的配置流程。
NSX 管理器
这里的 NSX Manager 就是我们熟悉的 NSX Data Center 内的 Manager 构件,可以是一台或三台做丛集均可。这边就是我们真正通过 UI 界面进行群组配置以及防火墙政策的地方。几个重点:
- NSX Manager 作为管理/控制层来使用,不是数据/转发层。在此架构内,我们通过 NSX Manager 的 UI 界面进行安全政策配置以及查询 Kubernetes Inventory 信息,但是真正的防火墙实现是由 Antrea 呼叫 OVS 来进行。
- 因此,在此架构内,NSX 仅仅作为管理 / 控制层。不需要连接 vSphere 做 Transport Node Preparation,不需要建 TEP 接口启用 Overlay 网络。各位想要用同一组 NSX Manager 同时管理 SDDC 虚机环境与 Kubernetes 环境当然没问题,但单纯讨论 Antrea + NSX 的整合时,NSX 就只需要安装 Manager 而已。
- 也因为所有“真正的功能”都是在 Antrea 内通过 OVS 实现,因此 Antrea + NSX 这个安全方案能够或不能够做到什么,重点其实是在 Antrea 内有没有开发出此功能,而不是 NSX 本身有没有支持。比如说我们需要 Pod 之间不仅有 L4 防火墙,还想要 L7 的检查功能,IDPS 方案的整合等等。在方案架构内,这些功能会需要在 Antrea 端先做出来,然后才是于 NSX Manager 端来提供管理的接口。
这里多说一句,在前面我们讨论到 Antrea+NSX 可以提供较传统 Network Policies 更完善的功能,架构上其实要分成两部分:
- NSX Manager 是管理层,提供简易使用与维运的 UI 界面。
- Antrea 在转发层实作比传统 Network Policies 更强的安全策略功能。在 Antrea 内这个功能是通过 CRD(Customized Resource Definition)来实现,叫做 Antrea Network Policy。
- 透过这个强化的 CRD 构件,Antrea 可以提供日志、基于 Tier 的防火墙配置顺序、设定明确的 Deny 规则等等。
因此整个内部作业流程是管理者在 NSX UI 内进行了需求的群组及规则配置,在 Kubernetes Cluster 内的 Antrea NSX Adapter Pod 取得这些配置要求,送给 Antrea Controller 后交给每个 K8S Node 里面的 Antrea Agent,编写 Open vSwitch 来实现防火墙配置,大概是这样。
架构讨论完,下一篇开始我们会详细讨论如何进行 Antrea 整合 NSX 的安装步骤。
内容来源|公众号:VMware 中国研发中心
本文作者:Colin Jao (饶康立), VMware 资深技术顾问,主要负责 VMware NSX 产品线,目前致力于网络虚拟化、分布式安全防护技术与新应用递送方案的介绍与推广。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MongoDB索引优化奇淫技巧!!!!!!博学谷狂野架构师
MongoDB索引优化 作者: 博学谷狂野架构师 GitHub:GitHub地址 (有我精心准备的130本电子书PDF) 只分享干货、不吹水,让我们一起加油!😄 索引简介 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。 什么是索引 索引最常用的比喻就是书籍的目录,查询索引就像查询一本书的目录。本质上目录是将书中一小部分内容信息(比如题目)和内容的位置信息(页码)共同构成,而由于信息量小(只有题目),所以我们可以很快找到我们想要的信息片段,再根据页码找到相应的内容。同样索引也是只保留某个域的一部分信息(建立了索引的field的信息),以及对应的文档的位置信息。 假设我们有如下文档(每行的数据在MongoDB中是存在于一个Document当中) 姓名 id 部门 city score 张三 2 xxx Beijing 90 李四 1 xxx Shanghai 70 王五 3 xxx guangzhou 60 索引的作用 假如我们想找id为2的document(即张三的记录),如果没有索引,我们就需要扫描整个...
- 下一篇
前端代码安全与混淆
作者:京东零售 周明亮 一、友商网页分析 1.1 亚马逊 亚马逊商详地址: https://www.amazon.com/OtterBox-Commuter-Case-iPhone-Packaging 所有交互事件在页面初始化时,不进行下发,等待通过 js 请求后下发 具体点击事件js内容 采用自执行方式,防止代码格式化。【无法调用 Chrome 自带的代码格式化工具】 采用自研式框架,非传统 react / vue / angular。大量通过 data-xx 标签进行数据传递,导致标签结构较为复杂。 1.2 淘宝 主要配合接口进行加密,采用多字段干扰,模板化加载。下发大量的模版数据,之后通过客户端进行填充。 客户端代码为传统的普通加密模式 1.3 拼多多 传统普通加密方式,使用 React 框架。【有明显的 React 语法糖】 关键的商详数据,需要强制进行登录操作,可以对账号进行封禁。 二、攻击者角度 [Web逆向]数某风控JS算法分析 常规网页加密调式 Crack App| 某 H5 App 反调试对抗 反调式 APP 内 Webview Puppeteer融入调试流...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路