我使用Terraform和Chef配置我的数字海洋基础设施。在一个节点上,我有Grafana。此节点有一个脚本需要知道MongoDB和Elasticsearch的位置,因为它更新了仪表板。
我不知道哪些是MongoDB或Elasticsearch的IP,因为它们在配置时位于不同的节点上。
我如何解决这个问题?
答案 0 :(得分:1)
完全基于Chef的答案是使用Chef搜索API。这允许基于属性查询节点,在这种情况下可能是roles:mongo
或类似的。虽然厨师搜索是一个相对较慢的融合系统,但是厨师可以按照正确的顺序运行,这可能需要几分钟。像Consul或Eureka这样的新专用工具可以在几毫秒内重新收敛。