24.4.2. BaselineAdminNetworkPolicy


BaselineAdminNetworkPolicy (BANP)是一个集群范围的自定义资源定义(CRD)。作为 OpenShift Container Platform 管理员,您可以使用 BANP 来设置并强制实施可选的基准网络策略规则,这些规则被用户使用 NetworkPolicy 对象(如果需要的话)覆盖。BANP 的规则操作是 allowdeny

BaselineAdminNetworkPolicy 资源是一个集群单例对象,当传递的流量策略与集群中的任何 NetworkPolicy 对象不匹配时,可用作 guardrail 策略。BANP 也可以用作默认安全模型,该模型默认阻止集群内流量,用户需要使用 NetworkPolicy 对象来允许已知的流量。在创建 BANP 资源时,必须使用 default 作为名称。

管理员可通过 BANP 指定:

  • 由一组命名空间或命名空间的 subject
  • 要应用到 subject 的所有入口流量的入站规则列表。
  • 用于来自 subject 的所有出口流量的出口规则列表。
注意

BaselineAdminNetworkPolicy 资源是一个 TechnologyPreviewNoUpgrade 功能,可在非生产环境的测试环境中启用。

24.4.2.1. BaselineAdminNetworkPolicy 示例

例 24.5. BANP 的 YAML 文件示例

apiVersion: policy.networking.k8s.io/v1alpha1
kind: BaselineAdminNetworkPolicy
metadata:
  name: default 
1

spec:
  subject:
    namespaces:
      matchLabels:
          kubernetes.io/metadata.name: example.name 
2

  ingress: 
3

  - name: "deny-all-ingress-from-tenant-1" 
4

    action: "Deny"
    from:
    - pods:
        namespaces:
          namespaceSelector:
            matchLabels:
              custom-banp: tenant-1 
5

        podSelector:
          matchLabels:
            custom-banp: tenant-1 
6

  egress:
  - name: "allow-all-egress-to-tenant-1"
    action: "Allow"
    to:
    - pods:
        namespaces:
          namespaceSelector:
            matchLabels:
              custom-banp: tenant-1
        podSelector:
          matchLabels:
            custom-banp: tenant-1
1
策略名称必须是 default,因为 BANP 是一个单例对象。
2
指定要将 ANP 应用到的命名空间。
3
BANP 具有入口和出口规则。spec.ingressspec.egress 字段的 BANP 规则接受 Deny, action 字段接受的值为 Allow
4
ingress.name 指定名称
5
指定要从中选择 pod 以应用 BANP 资源的命名空间。
6
指定 podSelector.matchLabels 名称,以应用 BANP 资源。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部