要保护 Antrea 容器集群中的 Pod 之间的流量,您可以在 NSX 中创建分布式防火墙策略(安全策略),并将其应用于一个或多个 Antrea 容器集群。
前提条件
已向 NSX 注册 Antrea 容器集群。
过程
结果
Antrea 容器集群中会出现以下结果:
- Antrea 网络插件会创建一个与每个应用于 Antrea 容器集群的分布式防火墙策略对应的集群网络策略。
- 如果规则包含源,则会在 Antrea 集群网络策略 中创建相应的“输入”规则。
- 如果规则包含目标,则会在 Antrea 集群网络策略 中创建相应的“输出”规则。
- 如果规则包含“任意-任意”配置,则集群中的 Antrea 控制器 会将“任意-任意”规则拆分为两个规则:一个具有“任意-任意”配置的“输入”规则和一个具有“任意-任意”配置的“输出”规则。
注:
Antrea 网络插件不会阻止您通过
kubectl 命令行更新或删除
Antrea 集群网络策略。但是,您必须避免执行此操作。原因是安全策略由
NSX 进行管理。因此,
Antrea 容器集群中的
中央控制平面适配器 会立即覆盖通过
kubectl 命令行所做的策略更改。换句话说,
NSX 是策略的事实来源。通过
kubectl 命令行对这些集群网络策略所做的更改不会显示在
NSX Manager 中。
下一步做什么
在 Antrea 容器集群中成功实现安全策略后,您可以执行以下可选任务:
- 确认 Antrea 集群网络策略已显示在容器集群中。在每个 Antrea 容器集群中运行以下 kubectl 命令:
$ kubectl get acnp
注: Antrea 集群网络策略中的 priority 参数显示一个浮点值。这是预期的结果。 NSX Manager UI 不会显示分布式防火墙策略的优先级。 NSX 会在内部为每个策略的优先级分配一个整数值。此整数值是从一个较大的范围中分配的。但是, Antrea 网络插件会为 Antrea 集群网络策略的优先级分配较小的浮点数(绝对值)。因此, NSX 优先级值会在内部标准化为较小的浮点数。但是,将为 Antrea 集群网络策略保留在分布式防火墙类别中添加策略的顺序。您还可以在 NSX 清单中查看 Antrea 集群网络策略的详细信息。在 NSX Manager 中,导航到 。展开集群名称,然后单击集群网络策略旁边的数字以查看策略的详细信息,包括 YAML 规范。
- 使用以下 NSX API 查看策略统计信息:
GET https://{nsx-mgr-ip}/api/v1/infra/domains{domain-id}/security-policies/{security-policy-name}/statistics?container_cluster_path=/infra/sites/{site-id}/enforcement-points/{enforcement-point-id}/cluster-control-planes/{cluster-name}
- 在 UI 中查看运行时规则统计信息:
- 在 NSX Manager 中,导航到 。
- 展开策略名称,然后单击每个规则最右上角的图形图标。
- 从下拉菜单中选择容器集群以查看每个容器集群的规则统计信息。
将为已实施规则的每个容器集群单独计算规则统计信息。将不会汇总所有容器集群的统计信息并将其显示在 UI 中。规则统计信息每分钟计算一次。