B.9.6. networkPolicyPeers


使用 networkPolicyPeers 配置网络策略,以限制对网络级别的监听器的访问。以下示例显示了用于 普通 和 a tls 侦听器的 networkPolicyPeers 配置。

listeners:
  #...
  - name: plain
    port: 9092
    type: internal
    tls: true
    authentication:
      type: scram-sha-512
    networkPolicyPeers:
      - podSelector:
          matchLabels:
            app: kafka-sasl-consumer
      - podSelector:
          matchLabels:
            app: kafka-sasl-producer
  - name: tls
    port: 9093
    type: internal
    tls: true
    authentication:
      type: tls
    networkPolicyPeers:
      - namespaceSelector:
          matchLabels:
            project: myproject
      - namespaceSelector:
          matchLabels:
            project: myproject2
# ...

在这个示例中:

  • 只有与标签 app: kafka-sasl-consumerapp: kafka-sasl-producer 匹配的应用程序 pod 可以连接到 普通的 监听程序。应用程序 pod 必须与 Kafka 代理在同一命名空间中运行。
  • 只有命名空间中运行的应用容器集与 labels 项目匹配:myproject 和 project :myproject2 可以连接到 tls 侦听器。

networkPolicyPeers 字段的语法与 NetworkPolicy 资源中的 from 字段相同。

KafkaListeners 的向后兼容性

GenericKafkaListener 替换 KafkaListeners 模式,它已过时。

要使用 KafkaListeners 模式配置的监听程序转换为 GenericKafkaListener 模式的格式,且向后兼容,请使用以下名称、端口和类型:

listeners:
  #...
  - name: plain
    port: 9092
    type: internal
    tls: false
  - name: tls
    port: 9093
    type: internal
    tls: true
  - name: external
    port: 9094
    type: EXTERNAL-LISTENER-TYPE 1
    tls: true
# ...
1
选项: 入口负载均衡器、 节点端口路由
属性描述

name

侦听器的名称。名称将用于识别侦听器和相关 OpenShift 对象。该名称必须在给定的 Kafka 集群内唯一。名称可以包含小写字符和数字,并且最多可包含 11 个字符。

字符串

端口

Kafka 内侦听器使用的端口号。在给定 Kafka 集群中,端口号必须是唯一的。允许的端口号是 9092 及以上,但端口 9404 和 9999 除外,它们已用于 Prometheus 和 JMX。根据监听程序类型,端口号可能与连接 Kafka 客户端的端口号不同。

整数

type

侦听器的类型。目前支持的类型有 internalrouteloadbalancernodeportingress

* 内部 类型仅在 OpenShift 集群中公开 Kafka。* 路由 类型使用 OpenShift Routes 来公开 Kafka。* loadbalancer 类型使用 LoadBalancer 类型服务来公开 Kafka。* 节点端口 类型使用 NodePort 类型服务来公开 Kafka。* 入口 类型使用 OpenShift Nginx Ingress 来公开 Kafka。

字符串([ingress、internal、route、loadbalancer、nodeport] 之一)

tls

在监听器上启用 TLS 加密。这是必填属性。

布尔值

身份验证

此侦听器的身份验证配置.这个类型取决于给定对象中的 authentication.type 属性的值,必须是 [tls、scram-sha-512、oauth] 中的一个。

KafkaListenerAuthenticationTls, KafkaListenerAuthenticationScramSha512, KafkaListenerAuthenticationOAuth

配置

其他监听器配置.

GenericKafkaListenerConfiguration

networkPolicyPeers

能够连接到此监听器的同级服务器列表。此列表中的对等点使用逻辑 OR 操作组合。如果此字段为空或缺失,则允许此监听器所有连接。如果此字段存在并且至少包含一项,侦听器仅允许与此列表中至少匹配一项的流量。请参阅 networking.k8s.io/v1 networkpolicypeer 的外部文档。

NetworkPolicyPeer 数组

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.