虚拟云网络系列 | Antrea 应用于 VMware 方案功能简介(六)
接续前篇《虚拟云网络专辑 | Antrea 应用于 VMware 方案功能简介(五)》对于现行 Kubernetes Network Policies 的限制讨论,从本篇开始我想要用实际的画面与大家展示 Antrea 搭配 NSX Manager 如何来进行等同于企业等级防火墙的 Kubernetes Pods 间安全阻隔功能。相关的 Antrea 搭配 NSX 的架构与安装机制会于后续推文再讨论,但这里我想先针对 Antrea + NSX 的方案内是如何改善前面讨论到的 Network Policies 相关缺点进行讨论,包括了:
- 采用 YAML 文件的方式撰写与维护安全政策过于困难;
- 没有安全日记 ( log );
- Network Policies 无法配置 deny 规则,只能设置预设 deny。也就是说,我们不能明确地阻止网络流连线,只能用白名单规则明确地允许哪些网络流可以通过;
- Network Policies 没有顺序。管理者可以针对 Pod 设定多笔规则,但不能限制哪个规则先进行对比。
当我们建立了一个底层采用 Antrea 的 Kubernetes Cluster,并完成与 NSX Manager 整合安装步骤。此时管理者直接在 NSX 的 UI 界面内就可以看到控管的 Kubernetes Cluster 相关信息了。下图是展示环境的画面,在 Inventory–Containers 内,可以看到这个 NSX Manager 有管理三个 Kubernetes Cluster,分别是来自 Tanzu Kubernetes Grid,vSphere with Tanzu 以及原生 Kubernetes。图中针对 tkgm-122-tkc03 这个由 Tanzu Kubernetes Grid 建立的 K8S 丛集,点开看包含 Antrea 本身使用版本,及丛集相关的 Inventory 包含里面有几个 Nodes/Pods/Services/Namespaces 等,都能够明确列出来:
下面两张图列出当我们点击画面里的 Namespaces 还有 Pods 时列出的信息。在图内特别红框的是后续用来展示的 pod(dvwa-deployment-7767887f6f-gvmpv)以及所在的 Namespace(dvwa-ns)。大家可以看到包含 pod 内每个 Labels 也都有列出:
上图内大家可以看到的是当 Antrea 与 NSX 整合完成,NSX Manager 可以取得 Kubernetes Cluster 内的完整构件信息。这代表我们能够通过 NSX 的 UI 界面,依据实际的应用部署,基于 Namespace/Service/Pod Label 等来定义要配置防火墙规则的群组,就如同我们在虚机采用微分段动态安全群组的方法一样。在 Inventory/Group 内,管理者可以配置一个基于 Antrea 的群组,下面两个图内,我们建立了一个叫做 dvwa-ns 的 Antrea 群组,在此群组内,包含了展示 pod(dvwa-deployment-7767887f6f-gvmpv),而这个群组的定义条件是采用只要任何一个在 dvwa-ns 这个namespace 内的 Pod, 都要加入这个组:
在我们要在 NSX 内定义一个 Antrea 的群组时,下列两点需要注意:
- 在配置群组时,要选择 Group Type 是 Antrea。在目前的版本,我们还不能建立一个群组内同时包含虚机以及容器,我们必须指定这个群组是一个 Antrea Group 的型态;
- Antrea 的组里面可以包含两种模式:通过Namespace/Service/Pod Label 来动态选择 Pod ,或是明确的定义一个 IP 范围。
在下图内大家可以看到,如果我们在群组内建立 Pod 选取的条件,总共有三个方式:
- 可以将某个 Namespace 内的所有 Pod 都加入此群组,这个 Namespace 可以通过名称(Name)或是标签(Namespace Label)来定义;
- 可以将包含于某个 Service 内的所有 Pod 都加入此群组,这个 Service 可以透过名称( Name )来定义;
- 可以通过 Pod 标签定义(Pod Label)来选择那些 Pod 要加入此群组。
请大家回忆一下之前进行虚机微分段的流程。首先,NSX 透过与 vCenter/vSphere 接入,可以看到所有虚机的名称、操作系统、IP Address 等信息。管理者也可以手动或通过自动化工具,在每个虚机上面打安全标签(Tag)。然后我们能够建立群组,通过指定虚机,或是通过标签、名称、操作系统等条件,纳入需要控管的虚机。最后就能将这些群组运用在防火墙的来源、目的、Apply-To 等字段进行政策配置了。
而在通过 NSX 接口来管理 Kubernetes Cluster 时,NSX 可以直接取得 K8S 丛集内的 Pod/Service/Namespace/Labels 等信息。安全管理者不需要在 NSX 接口内打标签,K8S 管理者在建立 Pod/Deployment 时直接就可以将相关的 Label 配置进去。然后同样地,我们在 NSX 内就可以基于上面的条件,建立对应的 Antrea 群组,来应用到防火墙政策内。
将群组配置完,接下来我们就可以在 NSX Distributed Firewall 内进行 Kubernetes Cluster 内的防火墙政策设定了,在下篇推文内会继续与大家讨论。
内容来源|公众号:VMware 中国研发中心
本文作者:Colin Jao (饶康立), VMware 资深技术顾问,主要负责 VMware NSX 产品线,目前致力于网络虚拟化、分布式安全防护技术与新应用递送方案的介绍与推广。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
DolphinDB +Python Airflow 高效实现数据清洗
DolphinDB 作为一款高性能时序数据库,其在实际生产环境中常有数据的清洗、装换以及加载等需求,而对于该如何结构化管理好 ETL 作业,Airflow 提供了一种很好的思路。本篇教程为生产环境中 ETL 实践需求提供了一个解决方案,将 Python Airflow 引入到 DolphinDB 的高可用集群中,通过使用 Airflow 所提供的功能来实现更好管理 DolphinDB 数据 ETL 作业,整体架构如下: 1. Airflow 1.1 Airflow 简介 Airflow 是一个可编程,调度和监控的工作流平台,基于有向无环图 (Directed acyclic graph, DAG),Airflow 可以定义一组有依赖的任务,按照依赖依次执行。Airflow 提供了丰富的命令行工具用于系统管控,而其 web 管理界面同样也可以方便地管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理。 1.2 Airflow 部分核心功能 增量加载数据:当表或数据集较小时,可以整体加载数据。但是随着数据的增长,以固定的时间间隔增量提取数据才是 ETL 的常态,仅加载一个小...
- 下一篇
PipeWire 0.3.68 发布,多媒体处理工具
PipeWire 是用于处理多媒体管道的服务器和用户空间 API 的多媒体处理工具,包括提供视频源(例如来自捕获设备或应用程序提供的流)并将其与客户端复用、访问视频源进行消费、生成用于音频和视频处理的图形。 目前 PipeWire 0.3.68 已发布,此版本带来一系列新功能和优化: 符号链接现在用于 pipwire 二进制文件,而不是多次重新编译相同的二进制文件。 一个新的 RTP 会话模块,它利用 Apple MIDI 协议在系统之间实现低延迟双向 MIDI,同时将 Opus 编码添加到 RTP 格式。 许多 FreeBSD 编译修复,用于改进 FreeBSD 构建支持。 现有的脉冲隧道模块已经改进了速率匹配和同步 RAOP 接收器被移植到新的 OpenSSL 函数 ACP 代码更新为新的 PulseAudio UCM 代码 此版本也有各种不同的修复,例如修复蓝牙设备断开连接时的崩溃问题。 在发布页面了解更多。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址