aws ecs上的amazon web服务—kafka,在没有已知示例的情况下如何处理adverted.host?

0sgqnhkj  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(416)

我想让Kafka在aws ecs容器上运行。我已经在本地docker环境中使用 spotify/kafka 形象
为了在本地工作,我需要确保设置了播发的\u host环境变量。 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将是什么,因为我不知道这将在哪个示例上运行。那么如何设置环境变量呢?

dy1byipe

dy1byipe1#

您的入口点脚本需要在启动时调用ec2元数据服务(在本例中)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

相关问题