6.2. 管理网络策略
6.2.1. OVN-Kubernetes AdminNetworkPolicy 复制链接链接已复制到粘贴板!
6.2.1.1. AdminNetworkPolicy 复制链接链接已复制到粘贴板!
AdminNetworkPolicy
(ANP)是一个集群范围的自定义资源定义(CRD)。作为 OpenShift Container Platform 管理员,您可以在创建命名空间前通过创建网络策略来使用 ANP 来保护网络。另外,您可以在集群范围的级别上创建网络策略,该级别不可由 NetworkPolicy
对象覆盖。
AdminNetworkPolicy
和 NetworkPolicy
对象之间的关键区别在于,供管理员使用,是集群范围,而后者则用于租户所有者,并且是命名空间范围。
ANP 允许管理员指定以下内容:
-
确定其评估顺序的
priority
值。数值越低,优先级越高。 - 由应用策略的一组命名空间或命名空间组成的一组 pod。
-
要应用到
subject
的所有入口流量的入站规则列表。 -
用于来自
subject
的所有出口流量的出口规则列表。
AdminNetworkPolicy 示例
例 6.1. ANP 的 YAML 文件示例
- 1
- 为您的 ANP 指定一个名称。
- 2
spec.priority
字段支持在一个集群中最大 100 ANP(范围为0-99
)。数越低,优先级越高,因为范围是从按最低到最高值的顺序读取的。因为当以同一优先级创建 ANP 时,无法保证哪些策略会被优先使用,所以请使用不同的优先级来设置 ANPs。- 3
- 指定要应用 ANP 资源的命名空间。
- 4
- ANP 具有入口和出口规则。
spec.ingress
字段的 ANP 规则接受Pass
,Deny
,action
字段接受的值为Allow
。 - 5
- 为
ingress.name
指定一个名称。 - 6
- 指定
podSelector.matchLabels
,以选择namespaceSelector.matchLabels
作为入口对等选择的命名空间中的 pod。 - 7
- ANP 同时具有入口和出口规则。
spec.egress
字段的 ANP 规则接受Pass
,Deny
,action
字段接受的值为Allow
。
6.2.1.1.1. 规则的 AdminNetworkPolicy 操作 复制链接链接已复制到粘贴板!
作为管理员,您可以将您的 AdminNetworkPolicy
规则的 action
字段设置为 Allow
,Deny
, 或 Pass
。由于 OVN-Kubernetes 使用分层 ACL 来评估网络流量规则,因此 3NP 允许您设置非常强大的策略规则,它们只能被管理员修改、删除规则,或通过设置更高优先级规则来覆盖它们。
AdminNetworkPolicy Allow 示例
在优先级 9 中定义的以下 ANP 可确保允许从 monitoring
命名空间到集群中的任何租户(所有其他命名空间)的所有入口流量。
例 6.2. 强 Allow
ANP 的 YAML 文件示例
这是强的 Allow
ANP 的示例,因为它不可以被涉及的所有方覆盖。租户都不会阻止自己被使用 NetworkPolicy
对象监控,监控租户也不知道它可以或无法监控的内容。
AdminNetworkPolicy 拒绝示例
在优先级 5 中定义的以下 ANP 可确保 monitoring
命名空间中的所有入口流量都被阻止到受限租户(具有标签 security: restricted
的命名空间)。
例 6.3. 强 Deny
ANP 的 YAML 文件示例
这是一个强大的 Deny
ANP,这是所有涉及的方都无法覆盖的。受限租户所有者无法授权自己允许监控流量,基础架构监控服务无法从这些敏感命名空间中提取任何内容。
与强的 Allow
示例结合使用时,block-monitoring
ANP 具有较低优先级的值,赋予其优先级更高的优先级,这样可确保不会监控受限租户。
AdminNetworkPolicy Pass 示例
在优先级 7 定义的以下 ANP 可确保所有从 monitoring
命名空间到内部基础架构租户(具有标签 security: internal
)的入口流量都将传递到 ACL 的层 2,并由命名空间的 NetworkPolicy
对象评估。
例 6.4. 强 Pass
ANP 的 YAML 文件示例
这个示例是一个强大的 Pass
操作 ANP,因为它将决策委派给租户所有者定义的 NetworkPolicy
对象。如果基础架构监控服务应使用命名空间范围 NetworkPolicy
对象提取其指标,则此 pass-monitoring
ANP 允许在安全级别 internal
分组的所有租户所有者。
6.2.2. OVN-Kubernetes BaselineAdminNetworkPolicy 复制链接链接已复制到粘贴板!
6.2.2.1. BaselineAdminNetworkPolicy 复制链接链接已复制到粘贴板!
BaselineAdminNetworkPolicy
(BANP)是一个集群范围的自定义资源定义(CRD)。作为 OpenShift Container Platform 管理员,您可以使用 BANP 来设置并强制实施可选的基准网络策略规则,这些规则被用户使用 NetworkPolicy
对象(如果需要的话)覆盖。BANP 的规则操作是 allow
或 deny
。
BaselineAdminNetworkPolicy
资源是一个集群单例对象,当传递的流量策略与集群中的任何 NetworkPolicy
对象不匹配时,可用作 guardrail 策略。BANP 也可以用作默认安全模型,该模型默认阻止集群内流量,用户需要使用 NetworkPolicy
对象来允许已知的流量。在创建 BANP 资源时,必须使用 default
作为名称。
管理员可通过 BANP 指定:
-
由一组命名空间或命名空间的
subject
。 -
要应用到
subject
的所有入口流量的入站规则列表。 -
用于来自
subject
的所有出口流量的出口规则列表。
BaselineAdminNetworkPolicy 示例
例 6.5. BANP 的 YAML 文件示例
BaselineAdminNetworkPolicy 拒绝示例
以下 BANP 单例确保管理员为 internal
安全级别进入租户的所有入口监控流量设置了默认的拒绝策略。与 "AdminNetworkPolicy Pass example" 组合时,这个 deny 策略充当 ANP pass-monitoring
策略传递的所有入口流量的保护策略。
例 6.6. guardrail Deny
规则的 YAML 文件示例
您可以将带有 action
字段的值为 Pass
的 AdminNetworkPolicy
资源与 BaselineAdminNetworkPolicy
资源结合使用来创建多租户策略。此多租户策略允许一个租户在应用上收集监控数据,同时不从第二个租户收集数据。
作为管理员,如果您同时应用了 "AdminNetworkPolicy Pass
action example" 和 "BaselineAdminNetwork Policy Deny
example",则租户将保留创建在 BANP 之前评估的 NetworkPolicy
资源。
例如,租户 1 可以设置以下 NetworkPolicy
资源来监控入口流量:
例 6.7. NetworkPolicy
示例
在这种情况下,Tenant 1 会在 "AdminNetworkPolicy Pass
action example" 之后,"BaselineAdminNetwork Policy Deny
example" 之前被评估,它将拒绝所有进入 安全
级别 internal
的入口监控流量。随着租户 1 的 NetworkPolicy
对象就位,它们将能够在其应用程序中收集数据。但是,租户 2 没有任何 NetworkPolicy
对象,将无法收集数据。作为管理员,您没有默认监控内部租户,而是创建了 BANP,它允许租户使用 NetworkPolicy
对象覆盖 BANP 的默认行为。
6.2.3. 监控 ANP 和 BANP 复制链接链接已复制到粘贴板!
AdminNetworkPolicy
和 BaselineAdminNetworkPolicy
资源具有可用于监控和管理您的策略的指标。有关指标的详情,请查看下表。
6.2.3.1. AdminNetworkPolicy 指标 复制链接链接已复制到粘贴板!
Name | 描述 | 解释 |
---|---|---|
| Not applicable |
集群中的 |
| Not applicable |
集群中的 |
|
|
集群中所有 ANP 策略的规则总数,按照 |
|
|
集群中所有 BANP 策略的规则总数,按照 |
|
|
集群中所有 ANP 创建的 OVN 北向数据库(nbdb)对象的总数,按照 |
|
|
集群中所有 BANP 创建的 OVN 北向数据库(nbdb)对象的总数,按照 |
6.2.4. AdminNetworkPolicy 的出口节点和网络对等点 复制链接链接已复制到粘贴板!
本节介绍 节点
和网络
对等点。管理员可以使用本节中的示例来设计 AdminNetworkPolicy
和 BaselineAdminNetworkPolicy
,以控制其集群中的北向流量。
除了支持 east-west 流量控制外,ANP 和 BANP 还允许管理员控制其北向流量,使集群或流量离开集群或流量到集群中的其他节点。最终用户可以执行以下操作:
-
使用
节点
出口对等点实现对集群节点的出口流量控制 -
使用
节点
或网络
出口对等对 Kubernetes API 服务器实施出口流量控制 -
使用
网络
对等点对集群外的外部目的地实施出口流量控制
对于 ANP 和 BANP,只能为出口规则指定节点
和网络
对等点。
6.2.4.1.1. 使用节点 peer 控制到集群节点的出口流量 复制链接链接已复制到粘贴板!
使用 节点
对等管理员可以控制从 pod 到集群中节点的出口流量。这样做的好处是,您不必在向集群添加或删除节点时更改策略。
在以下示例中,通过使用节点选择器,允许任何带有restricted
, confidential
, 或 internal
级别安全的命名空间发送的、端口 6443
上的到 Kubernetes API 服务器的出口流量。它还拒绝来自带有 restricted
, confidential
, or internal
安全级别的任何命名空间的、到您的集群中的所有 worker 节点的流量。
例 6.8. 使用 nodes
对等的 ANP Allow
egress 示例
6.2.4.1.2. 使用网络对等控制到外部目的地的出口流量 复制链接链接已复制到粘贴板!
集群管理员可以使用网络
对等中的 CIDR 范围,并应用一个策略来控制离开 pod 的出口流量,并进入通过 network
字段指定的 CIDR 范围内配置的 IP 地址的目标。
以下示例使用网络
对等,并组合了 ANP 和 BANP 策略来限制出口流量。
请谨慎使用 namespace
字段中的空选择器({})。使用空选择器时,它还选择 OpenShift 命名空间。
如果您在 ANP 或 BANP Deny
规则中使用 0.0.0.0/0
的值,您必须在将 Deny
设置为 0.0.0.0/0
前将更高的优先级 ANP Allow
规则设置为所需的目的地。
例 6.9. 使用网络
对等点的 ANP 和 BANP 示例
使用网络
对等来整合 network-as-egress-peer
ANP 和 默认
的 BANP 来强制以下 egress 策略:
- 所有 pod 都无法通过列出的 IP 地址与外部 DNS 服务器进行通信。
- 所有 pod 都可以与公司的其他内部网通信。
- 所有 pod 都可以与其他 pod、节点和服务通信。
-
所有 pod 都无法与互联网通信。将最后一个 ANP
Pass
规则与强大的 BANPDeny
规则合并会创建一个保护策略来保护集群中的流量。
6.2.4.1.3. 一起使用节点对等和网络对等 复制链接链接已复制到粘贴板!
集群管理员可以将节点
和网络
对等组合到 ANP 和 BANP 策略中。
6.2.5. AdminNetworkPolicy 故障排除 复制链接链接已复制到粘贴板!
6.2.5.1. 检查 ANP 的创建 复制链接链接已复制到粘贴板!
要检查您的 AdminNetworkPolicy
(ANP) 和 BaselineAdminNetworkPolicy
(BANP) 是否已正确创建,请检查以下命令的状态输出: oc describe ap
或 oc describe banp
。
正常状态表示 OVN DB plumbing was successful
和 SetupSucceeded
。
例 6.11. 具有良好状态的 ANP 示例
如果 Plumbing 失败,则会从相应的区控制器报告错误。
例 6.12. 带有错误状态和错误消息的 ANP 示例
有关 nbctl
命令,请参见以下部分来帮助排除不成功的策略。
6.2.5.1.1. 为 ANP 和 BANP 使用 nbctl 命令 复制链接链接已复制到粘贴板!
要对不成功的设置进行故障排除,请首先查看 OVN 北向数据库 (nbdb) 对象,包括 ACL
、AdressSet
和 Port_Group
。要查看 nbdb,您需要在该节点上的 pod 内部查看该节点数据库中的对象。
先决条件
-
使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
要在集群中运行 ovn nbctl
命令,您必须在相关节点的 "nbdb" 中打开远程 shell。
以下策略用于生成输出。
例 6.13. 用于生成输出的 AdminNetworkPolicy
流程
运行以下命令,使用节点信息列出 pod:
oc get pods -n openshift-ovn-kubernetes -owide
$ oc get pods -n openshift-ovn-kubernetes -owide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,进入 pod 以查看北向数据库:
oc rsh -c nbdb -n openshift-ovn-kubernetes ovnkube-node-524dt
$ oc rsh -c nbdb -n openshift-ovn-kubernetes ovnkube-node-524dt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来查看 ACL nbdb :
ovn-nbctl find ACL 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,"k8s.ovn.org/name"=cluster-control}'
$ ovn-nbctl find ACL 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,"k8s.ovn.org/name"=cluster-control}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 其中, cluster-control
-
指定您要故障排除的
AdminNetworkPolicy
的名称。 - AdminNetworkPolicy
-
指定类型:
AdminNetworkPolicy
或BaselineAdminNetworkPolicy
。
例 6.14. ACL 的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意ingress 和 egress 的输出显示策略在 ACL 中的逻辑。例如,每次数据包与提供的
match
匹配时会执行的action
。运行以下命令,为规则检查特定 ACL:
ovn-nbctl find ACL 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,direction=Ingress,"k8s.ovn.org/name"=cluster-control,gress-index="1"}'
$ ovn-nbctl find ACL 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,direction=Ingress,"k8s.ovn.org/name"=cluster-control,gress-index="1"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 其中,
cluster-control
-
指定 ANP 的
名称
。 入口
-
指定流量的
direction
为类型Ingress
或Egress
。 1
- 指定要查看的规则。
对于示名为
cluster-control
的 ANP 示例,其priority
是34
,以下是Ingress
rule
1 的示例输出:例 6.15. 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 其中,
运行以下命令查看 nbdb 中的地址集:
ovn-nbctl find Address_Set 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,"k8s.ovn.org/name"=cluster-control}'
$ ovn-nbctl find Address_Set 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,"k8s.ovn.org/name"=cluster-control}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 6.16.
Address_Set
的输出示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查规则的具体地址集:
ovn-nbctl find Address_Set 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,direction=Egress,"k8s.ovn.org/name"=cluster-control,gress-index="5"}'
$ ovn-nbctl find Address_Set 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,direction=Egress,"k8s.ovn.org/name"=cluster-control,gress-index="5"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 6.17.
Address_Set
的输出示例_uuid : 8fd3b977-6e1c-47aa-82b7-e3e3136c4a72 addresses : ["0.0.0.0/0"] external_ids : {direction=Egress, gress-index="5", ip-family=v4, "k8s.ovn.org/id"="default-network-controller:AdminNetworkPolicy:cluster-control:Egress:5:v4", "k8s.ovn.org/name"=cluster-control, "k8s.ovn.org/owner-controller"=default-network-controller, "k8s.ovn.org/owner-type"=AdminNetworkPolicy} name : a11452480169090787059
_uuid : 8fd3b977-6e1c-47aa-82b7-e3e3136c4a72 addresses : ["0.0.0.0/0"] external_ids : {direction=Egress, gress-index="5", ip-family=v4, "k8s.ovn.org/id"="default-network-controller:AdminNetworkPolicy:cluster-control:Egress:5:v4", "k8s.ovn.org/name"=cluster-control, "k8s.ovn.org/owner-controller"=default-network-controller, "k8s.ovn.org/owner-type"=AdminNetworkPolicy} name : a11452480169090787059
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行以下命令查看 nbdb 中的端口组:
ovn-nbctl find Port_Group 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,"k8s.ovn.org/name"=cluster-control}'
$ ovn-nbctl find Port_Group 'external_ids{>=}{"k8s.ovn.org/owner-type"=AdminNetworkPolicy,"k8s.ovn.org/name"=cluster-control}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 6.18.
Port_Group
的输出示例_uuid : f50acf71-7488-4b9a-b7b8-c8a024e99d21 acls : [04f20275-c410-405c-a923-0e677f767889, 0d5e4722-b608-4bb1-b625-23c323cc9926, 1a27d30e-3f96-4915-8ddd-ade7f22c117b, 1a68a5ed-e7f9-47d0-b55c-89184d97e81a, 4b5d836a-e0a3-4088-825e-f9f0ca58e538, 5a6e5bb4-36eb-4209-b8bc-c611983d4624, 5d09957d-d2cc-4f5a-9ddd-b97d9d772023, aa1a224d-7960-4952-bdfb-35246bafbac8, b23a087f-08f8-4225-8c27-4a9a9ee0c407, b7be6472-df67-439c-8c9c-f55929f0a6e0, d14ed5cf-2e06-496e-8cae-6b76d5dd5ccd] external_ids : {"k8s.ovn.org/id"="default-network-controller:AdminNetworkPolicy:cluster-control", "k8s.ovn.org/name"=cluster-control, "k8s.ovn.org/owner-controller"=default-network-controller, "k8s.ovn.org/owner-type"=AdminNetworkPolicy} name : a14645450421485494999 ports : [5e75f289-8273-4f8a-8798-8c10f7318833, de7e1b71-6184-445d-93e7-b20acadf41ea]
_uuid : f50acf71-7488-4b9a-b7b8-c8a024e99d21 acls : [04f20275-c410-405c-a923-0e677f767889, 0d5e4722-b608-4bb1-b625-23c323cc9926, 1a27d30e-3f96-4915-8ddd-ade7f22c117b, 1a68a5ed-e7f9-47d0-b55c-89184d97e81a, 4b5d836a-e0a3-4088-825e-f9f0ca58e538, 5a6e5bb4-36eb-4209-b8bc-c611983d4624, 5d09957d-d2cc-4f5a-9ddd-b97d9d772023, aa1a224d-7960-4952-bdfb-35246bafbac8, b23a087f-08f8-4225-8c27-4a9a9ee0c407, b7be6472-df67-439c-8c9c-f55929f0a6e0, d14ed5cf-2e06-496e-8cae-6b76d5dd5ccd] external_ids : {"k8s.ovn.org/id"="default-network-controller:AdminNetworkPolicy:cluster-control", "k8s.ovn.org/name"=cluster-control, "k8s.ovn.org/owner-controller"=default-network-controller, "k8s.ovn.org/owner-type"=AdminNetworkPolicy} name : a14645450421485494999 ports : [5e75f289-8273-4f8a-8798-8c10f7318833, de7e1b71-6184-445d-93e7-b20acadf41ea]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.6. AdminNetworkPolicy 的最佳实践 复制链接链接已复制到粘贴板!
本节为 AdminNetworkPolicy
和 BaselineAdminNetworkPolicy
资源提供最佳实践。
6.2.6.1. 设计 AdminNetworkPolicy 复制链接链接已复制到粘贴板!
在构建 AdminNetworkPolicy
(ANP) 资源时,您可能会在创建策略时考虑以下内容:
- 您可以创建具有相同优先级的 ANP。如果您使用同一优先级创建两个 ANP,请确保它们不会将重叠规则应用到同一流量。每个值仅有一个规则会被应用,当相同的优先级值有多个规则时,不会保证会应用哪个规则。因为当创建了重叠的 ANP 时,无法保证哪些策略会被优先使用,所以请使用不同的优先级来设置 ANPs。
- 管理员必须创建应用于用户命名空间的 ANP,而不是系统命名空间。
不支持将 ANP 和 BaselineAdminNetworkPolicy
(BANP) 应用到系统命名空间(default
, kube-system
, 任何以 openshift-
开头的命名空间),这样做会使集群无响应并处于无法正常工作的状态。
-
因为支持的优先级范围是
0-100
,所以您可以将您的 ANP 设置为使用一个中间范围,如30-70
。这样就可以为这个范围外保留一些更高和更低的优先级占位符。即使在这个中间范围内,您可能也会希望保留一些空缺,以便随着基础架构的变化,您可以根据需要以正确的优先级插入新的 ANP。如果您打包了 ANP,则可能需要重新创建它们,以适应将来的任何更改。 -
当使用
0.0.0.0/0
或::/0
创建一个强的Deny
策略时,请确保基本流量具有较高优先级Allow
或Pass
规则。 -
当您需要确保一个连接无论在什么情况下都被允许时,使用
Allow
作为您的action
字段。ANP 中的Allow
规则代表连接始终被允许,NetworkPolicy
将被忽略。 -
使用
Pass
作为您的action
字段,将允许或拒绝连接策略委托给NetworkPolicy
层。 - 确保多个规则中的选择器不会重叠,因此同一 IP 不会出现在多个策略中,这可能导致性能和扩展限制。
-
避免将
namedPorts
与PortNumber
和PortRange
结合使用,因为这样会创建 6 个 ACL,并导致集群中的效率降低。
6.2.6.1.1. 使用 BaselineAdminNetworkPolicy 的注意事项 复制链接链接已复制到粘贴板!
您只能在集群中定义单个
BaselineAdminNetworkPolicy
(BANP) 资源。以下支持用于 BANP,管理员可能在设计其 BANP 中考虑:-
您可以在用户命名空间中为 cluster-local ingress 设置默认的拒绝策略。此 BANP 将强制开发人员添加
NetworkPolicy
对象来允许他们允许的入口流量,如果他们没有为 ingress 添加网络策略,则会被拒绝。 -
您可以在用户命名空间中为 cluster-local egress 设置默认拒绝策略。此 BANP 将强制开发人员添加
NetworkPolicy
对象来允许他们允许的入口流量,如果他们没有为 ingress 添加网络策略,则会被拒绝。 -
您可以为出口设置到集群内 DNS 服务的默认允许策略。此类 BANP 可确保命名空间的用户不必将允许出口
NetworkPolicy
设置为集群内 DNS 服务。 -
您可以设置一个出口策略,允许内部出口流量到所有容器集,但拒绝访问所有外部端点(例如
0.0.0.0/0
和::/0
)。此 BANP 允许用户工作负载向其他集群端点发送流量,但默认不发送到外部端点。然后,开发人员可以使用NetworkPolicy
来允许其应用程序将流量发送到一组明确的外部服务。
-
您可以在用户命名空间中为 cluster-local ingress 设置默认的拒绝策略。此 BANP 将强制开发人员添加
-
确保对 BANP 设置了范围,以便它只拒绝到用户命名空间的流量,而不是系统命名空间。这是因为系统命名空间没有
NetworkPolicy
对象来覆盖 BANP。
6.2.6.1.2. AdminNetworkPolicy 和 NetworkPolicy 之间的不同 复制链接链接已复制到粘贴板!
-
与
NetworkPolicy
对象不同,您必须使用显式标签在 ANP 和 BANP 中引用工作负载,而不是使用空 ({}
) 捕获所有选择器以避免意外选择流量。
应用到基础架构命名空间的空命名空间选择器可能会导致集群无响应且处于无法正常工作状态。
-
在 ANP 的 API 语义中,您必须在创建策略时显式定义允许或拒绝规则,这与具有隐式 deny 的
NetworkPolicy
对象不同。 -
与
NetworkPolicy
对象不同,AdminNetworkPolicy
对象入口规则仅限于集群内 Pod 和命名空间,因此您无法不需要,从主机网络为 ingress 设置规则。