我们在前几篇文章讨论并展示了使用 Antrea 搭配 NSX Manager 来提供便利且企业等级的容器网络安全机制,以及与原生 Kubernetes Network Policies 的运作方式比较。采用 Antrea 搭配 NSX Manager 是我们在各个不同企业客户介绍容器方案时的主打功能之一,也受到很多客户青睐希望在生产环境内进行部署。因此接下来我想将重点放在如何进行 Antrea 与 NSX Manager 的链接整合流程。但开始前,这里要特别用一篇推文来讨论 Antrea 与 NSX Manager 的方案架构。
下面这张图是在 Kubernetes Cluster 内运用 Antrea 作为 Container Network Interface 元件,并且与 NSX Manager 进行整合的架构:
相关重点构件讨论如下:
与我们之前在讨论 Antrea 本身的架构相同,在每个 Kubernetes Nodes 内都会有一个 Antrea Pod 来负责。
而 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 集成时,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 Manager 就是我们熟悉的 NSX Data Center 内的 Manager 构件,可以是一台或三台做丛集均可。这边就是我们真正通过 UI 界面进行群组配置以及防火墙政策的地方。几个重点:
这里多说一句,在前面我们讨论到 Antrea+NSX 可以提供较传统 Network Policies 更完善的功能,架构上其实要分成两部分:
因此整个内部作业流程是管理者在 NSX UI 内进行了需求的群组及规则配置,在 Kubernetes Cluster 内的 Antrea NSX Adapter Pod 取得这些配置要求,送给 Antrea Controller 后交给每个 K8S Node 里面的 Antrea Agent,编写 Open vSwitch 来实现防火墙配置,大概是这样。
架构讨论完,下一篇开始我们会详细讨论如何进行 Antrea 整合 NSX 的安装步骤。
内容来源|公众号:VMware 中国研发中心
本文作者:Colin Jao (饶康立), VMware 资深技术顾问,主要负责 VMware NSX 产品线,目前致力于网络虚拟化、分布式安全防护技术与新应用递送方案的介绍与推广。
|