小编Tom*_*z S的帖子

如何为Kubernetes入口定义外部IP

我对kubernetes入口有疑问。

我想将Ingress与我的Amazon帐户和/或私有云一起使用,并希望分配外部IP。

可以为服务分配外部ip: 服务文档-章节外部IP, 但是找不到用于Ingress的方法:Ingress文档

我的问题特别是对Kubernetes团队而言。Simon在该主题中提出了类似的问题:如何在GKE 2上为Kubernetes Ingress强制使用SSL, 但是当我对私有云AWS感兴趣时,他询问了GKE。

先感谢您。

[更新]

伙计们发现我的问题可能已经在主题中得到解答。实际上,@ anigosa放在那里的答案是针对GCloud的。他的解决方案在私有云和AWS云中都无法使用。我认为原因是他使用type: LoadBalancer(不能在私有云中使用)并且loadBalancerIP property只能在GCloud上使用(对于AWS,这会导致错误:“无法为服务default / nginx-ingress-svc创建负载均衡器:无法为AWS ELB指定“ LoadBalancerIP”。

amazon-web-services kubernetes

7
推荐指数
1
解决办法
5068
查看次数

Kafka 生产者在发送到通过 AdminClient createTopics 方法创建的主题时抛出“收到未知主题或分区错误”

我对使用AdminClient createTopics. 在我的应用程序中,我有以下顺序:

  1. 使用 1 个分区创建新主题,复制因子设置为 1 AdminClient.createTopics
  2. 等待AdminClient.createTopics KafkaFuture结果
  3. 立即向新创建的主题发送新消息(通常操作 2 和操作 3 之间的时间约为 200 毫秒)。

我的代码如下:

adminClient
  .createTopics(Collections.singleton(new NewTopic(targetTopic, 1, (short) 1)))
  .values()
  .get(targetTopic)
  .get();
producer.send(new ProducerRecord<>(targetTopic, data));
Run Code Online (Sandbox Code Playgroud)

有时生产者看不到创建的主题并抛出以下异常:

[Producer clientId=producer-1] 获取关联 ID 为 5 的元数据时出错:{targetTopic=UNKNOWN_TOPIC_OR_PARTITION}

[Producer clientId=producer-1] 在分区 targetTopic 上的生产请求中收到未知主题或分区错误。主题/分区可能不存在或用户可能没有描述访问权限

这个问题非常罕见(< 0.1% 所有创建的主题)。

是否保证在AdminClient.createTopicsKafka 未来完成时创建主题并且 Kafka 生产者应该看到该主题?如果不是那么哪种主题创建方法可以给我这样的保证?

我在 Azure 上使用 kafka-clients:2.0.0 和 Kafka HD 服务。我的集群由 3 个 Zookeeper 和 3 个 Kafka 节点组成。

java apache-kafka

5
推荐指数
1
解决办法
9024
查看次数