如何为Kafka Kubernetes节点端口分配DNS名称

如何为Kafka Kubernetes节点端口分配DNS名称,kubernetes,apache-kafka,minikube,strimzi,Kubernetes,Apache Kafka,Minikube,Strimzi,我已经使用minikube上的Strimzi-Kafka操作符创建了一个Kafka集群来学习基本知识。我试图从主机访问minikube环境中的Kafka,为此我创建了一个Kafka节点端口: apiVersion: kafka.strimzi.io/v1beta1 kind: Kafka metadata: name: kafka-cluster spec: kafka: version: 2.4.0 replicas: 3 listeners: pl

我已经使用minikube上的Strimzi-Kafka操作符创建了一个Kafka集群来学习基本知识。我试图从主机访问minikube环境中的Kafka,为此我创建了一个Kafka节点端口:

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: kafka-cluster
spec:
  kafka:
    version: 2.4.0
    replicas: 3
    listeners:
      plain: {}
      tls: {}
      external:
        type: nodeport
        tls: false
        overrides:
          bootstrap:
            nodePort: 32100
          brokers:
          - broker: 0
            nodePort: 32000
          - broker: 1
            nodePort: 32001
          - broker: 2
            nodePort: 32002  
...
...
...

NAME                                     TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                               AGE
kafka-cluster-kafka-0                    NodePort    10.96.40.176    <none>        9094:32000/TCP                        7d
kafka-cluster-kafka-1                    NodePort    10.96.138.2     <none>        9094:32001/TCP                        7d
kafka-cluster-kafka-2                    NodePort    10.96.209.16    <none>        9094:32002/TCP                        7d
kafka-cluster-kafka-bootstrap            ClusterIP   10.96.216.169   <none>        9091/TCP,9092/TCP,9093/TCP,9404/TCP   7d
kafka-cluster-kafka-brokers              ClusterIP   None            <none>        9091/TCP,9092/TCP,9093/TCP            7d
kafka-cluster-kafka-exporter             ClusterIP   10.96.17.45     <none>        9404/TCP                              47d
kafka-cluster-kafka-external-bootstrap   NodePort    10.96.252.97    <none>        9094:32100/TCP                        7d
kafka-cluster-zookeeper-client           ClusterIP   10.96.155.34    <none>        9404/TCP,2181/TCP                     7d
kafka-cluster-zookeeper-nodes            ClusterIP   None            <none>        2181/TCP,2888/TCP,3888/TCP            7d




apiVersion:kafka.strimzi.io/v1beta1 种类:卡夫卡 元数据: 名称:卡夫卡集群 规格: 卡夫卡: 版本:2.4.0 副本:3份 听众: 普通:{} tls:{} 外部: 类型:节点端口 tls:错误 覆盖: 引导: 节点端口:32100 经纪人: -经纪人:0 节点端口:32000 -经纪人:1 节点端口:32001 -经纪人:2 节点端口:32002 ... ... ... 名称类型CLUSTER-IP外部IP端口年龄 kafka-cluster-kafka-0节点端口10.96.40.176 9094:32000/TCP 7d kafka-cluster-kafka-1节点端口10.96.138.2 9094:32001/TCP 7d kafka-cluster-kafka-2节点端口10.96.209.16 9094:32002/TCP 7d 卡夫卡群集卡夫卡引导群集IP 10.96.216.169 9091/TCP、9092/TCP、9093/TCP、9404/TCP 7d 卡夫卡群集卡夫卡代理群集无9091/TCP、9092/TCP、9093/TCP 7d 卡夫卡集群卡夫卡导出器集群IP 10.96.17.45 9404/TCP 47d 卡夫卡群集卡夫卡外部引导节点端口10.96.252.97 9094:32100/TCP 7d 卡夫卡群集zookeeper客户端群集IP 10.96.155.34 9404/TCP,2181/TCP 7d 卡夫卡群集zookeeper节点群集无2181/TCP、2888/TCP、3888/TCP 7d 到目前为止,一切似乎都很顺利,我能够使用Kafka集群Kafka外部引导将消息发布到Kafka主题
(使用BootstrapServer(“192.168.99.107:32100”)
。由于我正在逐步学习,我想看看是否可以分配一个名称,而不是通过IP地址引用


在Nodeport配置中有没有一种简单的方法可以做到这一点?我已经在这个问题上纠缠了一个星期。请欣赏正确的方向!你应该安装一些Kubernetes裸机负载平衡器,比如,然后使用
负载平衡器
而不是
Nodeport
服务,获取
外部IP
Lo的值adBalancer
服务并将DNS指向此IP。

您应该安装一些Kubernetes裸机负载平衡器,例如,然后使用
负载平衡器
而不是
节点端口
服务,获取
负载平衡器
服务的
外部IP
值并将DNS指向此IP。

这主要取决于您的基础设施e、 Minikube正在使用IP地址作为节点地址和负载平衡器地址。这就是为什么Strimzi总是根据IP地址为您提供地址。如果您在Kubernetes上运行它,例如在AWS上的某个地方,您将立即获得DNS名称,而不是IP


即使使用Minikube,您也可以将Strimzi配置为使用您指定的一些名称:……但是您需要确保这些路由到Minikube IP地址,例如,通过将它们手动添加到
/etc/hosts
。但是,通常情况下,使用Minikube并不值得。

这主要取决于您的基础设施。Minikube使用的是IP地址ses作为节点地址和负载平衡器地址。这就是为什么Strimzi总是根据IP地址为您提供地址。如果您在Kubernetes上运行它,例如在AWS上的某个地方,您将获得DNS名称而不是IP

即使使用Minikube,您也可以将Strimzi配置为使用您指定的某些名称:……但您需要确保这些路由到Minikube IP地址,例如,通过将它们手动添加到
/etc/hosts
。但是,通常情况下,使用Minikube不值得这样做