AKS 中部署的微服务无法连接到 AKS 中部署的 kafka

问题描述 投票:0回答:1

我正在将 Spring 微服务项目部署到 AKS,其余服务工作正常,但是当我部署使用 Kafka 的服务时,在我使用 helm 单独部署 Kafka 后, 我在日志中收到重复的消息,表明我的服务无法建立连接,即使我已经配置了

application.properties
,并且仍在尝试建立与本地主机的连接。

这是我的

application.properties
:

spring.kafka.consumer.group-id=jihed
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.bootstrap-servers=kafka:9092
spring.kafka.properties.security.protocol=SASL_PLAINTEXT
spring.kafka.properties.sasl.mechanism=PLAIN
spring.kafka.properties.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="user1" password="Ut8uZDJzPR";
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
spring.kafka.consumer.properties.spring.json.trusted.packages=*

spring.kafka.producer.bootstrap-servers=kafka:9092
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer

这些是我输入

kubectl logs -f pod-name
时的日志:

2024-05-13T16:11:17.713Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:17.713Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:18.917Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:18.917Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:20.021Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:20.021Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:21.024Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:21.025Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:22.228Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:22.228Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:23.432Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:23.432Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:24.335Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:24.335Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:25.339Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:25.339Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:26.342Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:26.342Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:27.246Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:27.246Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:28.149Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:28.149Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:29.052Z  INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:29.053Z  WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Brok

值得一提的是,当我尝试访问此方法时,这些日志会显示:

public AppTopic createAppTopic(AppTopic topic) throws TopicException {
    try {
        // Persist the AppSchema object if it's not already persisted
        if (topic.getSchema() != null && topic.getSchema().getId() == null) {
            AppSchema persistedSchema = appSchemaRepo.save(topic.getSchema());
            topic.setSchema(persistedSchema);
        }

        // Create or modify Kafka topic
        kafkaAdmin.createOrModifyTopics(TopicBuilder.name(topic.getName()).partitions(topic.getPartitions()).replicas(topic.getReplicas()).config(TopicConfig.RETENTION_MS_CONFIG, topic.getRetentionPeriod()).build());
        // Save the AppTopic entity
        return appTopicRepo.save(topic);
    } catch (Exception e) {
        throw new TopicException("Cannot create topic for this reason", e);
    }
}

我已经尝试再次推送 docker 镜像,当我检查 pod 的环境时:

使用

kubectl exec -it pod-name -- env

KAFKA_PORT_9092_TCP=tcp://10.0.148.52:9092
KAFKA_PORT_9092_TCP_PROTO=tcp
KAFKA_SERVICE_HOST=10.0.148.52
KAFKA_SERVICE_PORT=9092
KAFKA_SERVICE_PORT_TCP_CLIENT=9092
KAFKA_PORT_9092_TCP_PORT=9092
KAFKA_PORT_9092_TCP_ADDR=10.0.148.52

这表明 Kafka 和服务之间的链接已完成,因为它知道这一点。

kubernetes apache-kafka spring-kafka azure-aks
1个回答
0
投票

spring.kafka.bootstrap-servers
可用于为每个客户端(包括您收到错误的 AdminClient)设置一次引导服务器

否则,您将需要另一个部分来表示

spring.kafka.admin.*
属性

© www.soinside.com 2019 - 2024. All rights reserved.