strimzi运算符0.20 kafka“useservicednsdomain”无效

ar7v8xwq  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(519)

问题:由于某些原因,客户端pod只能解析包含群集服务后缀的完全限定dns名称。
这个问题在这个问题中说明了:在使用完全限定名之前,aks、windows节点、dns不会解析服务
为了解决这个问题,我使用useservicednsdomain标志。文件(https://strimzi.io/docs/operators/master/using.html#type-generickakafkalistenerconfiguration schema reference)解释为
配置是否应使用kubernetes服务dns域。如果设置为true,则生成的地址包含服务dns域后缀(默认情况下,可以使用环境变量kubernetes\u service\u dns\u domain配置.cluster.local)。默认为false。此字段只能用于内部类型侦听器。
我的部分yaml如下

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: tt-kafka
  namespace: shared
spec:
  kafka:
    version: 2.5.0
    replicas: 3
    listeners:
      - name: local
        port: 9092
        type: internal
        tls: false
        useServiceDnsDomain: true

这没有起到任何作用,所以我还尝试添加kubernetes\服务\u dns\域,如下所示

template:
  kafkaContainer:
    env:
      - name: KUBERNETES_SERVICE_DNS_DOMAIN
        value: .cluster.local

斯特里姆齐/operator:0.20.0 image 正在使用。
在我的客户端(.net confluent.kafka 1.4.4)中,我使用tt-kafka-kafka-bootstrap.shared.svc.cluster.local作为引导服务器。它给了我错误
错误:groupcoordinator:未能解析“tt-kafka-kafka-2.tt-kafka-kafka-brokers.shared”。svc:9092':不知道这样的主机。
我希望代理服务向客户端提供全名,但从错误来看,useservicednsdomain没有任何效果。
感谢您的帮助。谢谢。

4si2a6ki

4si2a6ki1#

如前所述https://github.com/strimzi/strimzi-kafka-operator/issues/3898,文档中有一个拼写错误。正确的yaml是:

listeners:
    - name: plain
      port: 9092
      type: internal
      tls: false
      configuration:
        useServiceDnsDomain: true

如果您的域与 .cluster.local ,您可以使用 KUBERNETES_SERVICE_DNS_DOMAIN env var来覆盖它。但是你必须在strimzi集群操作员舱上配置它。不是在Kafka豆荚上:https://strimzi.io/docs/operators/latest/full/using.html#ref-操作员群集str

相关问题