gpt4 book ai didi

amazon-web-services - AWS ECS上的Kafka,如何在没有已知实例的情况下处理advertised.host?

转载 作者:行者123 更新时间:2023-12-04 08:07:33 25 4
gpt4 key购买 nike

我正在尝试让 Kafka 在 AWS ECS 容器上运行。我已经有了这个设置/在我的本地 docker 环境中工作正常,使用 spotify/kafka image

为了在本地工作,我需要确保 ADVERTISED_HOST environment variable was set . ADVERTISED_HOST需要设置为容器的外部 IP,否则当我尝试连接时,它只会给我 connection refused .

我的本地 docker-compose.yaml有这个用于 kafka 容器:

  kafka:
image: spotify/kafka
hostname: kafka
environment:
- ADVERTISED_HOST=192.168.0.70
- ADVERTISED_PORT=9092
ports:
- "9092:9092"
- "2181:2181"
restart: always

现在的问题是,我不知道 IP 将是什么,因为我不知道这将在哪个实例上运行。那么如何设置该环境变量呢?

最佳答案

您的入口点脚本将需要调用 EC2 Metadata Service在启动时(在本例中为 http://169.254.169.254/latest/meta-data/local-hostname )获取外部到 docker 主机名并设置该变量。

样本:

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-hostname
ip-10-251-50-12.ec2.internal

关于amazon-web-services - AWS ECS上的Kafka,如何在没有已知实例的情况下处理advertised.host?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44010748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com