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-consumer
和app: 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 |
侦听器的类型。目前支持的类型有
* |
字符串([ingress、internal、route、loadbalancer、nodeport] 之一) | |
tls | 在监听器上启用 TLS 加密。这是必填属性。 |
布尔值 | |
身份验证 |
此侦听器的身份验证配置.这个类型取决于给定对象中的 |
| |
配置 | 其他监听器配置. |
networkPolicyPeers | 能够连接到此监听器的同级服务器列表。此列表中的对等点使用逻辑 OR 操作组合。如果此字段为空或缺失,则允许此监听器所有连接。如果此字段存在并且至少包含一项,侦听器仅允许与此列表中至少匹配一项的流量。请参阅 networking.k8s.io/v1 networkpolicypeer 的外部文档。 |