![在 nomad 环境块中使用名称中带点的环境变量 // bunkerweb 作为 nomad 中的 LB](https://linux22.com/image/790652/%E5%9C%A8%20nomad%20%E7%8E%AF%E5%A2%83%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%90%8D%E7%A7%B0%E4%B8%AD%E5%B8%A6%E7%82%B9%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%20%2F%2F%20bunkerweb%20%E4%BD%9C%E4%B8%BA%20nomad%20%E4%B8%AD%E7%9A%84%20LB.png)
我正在尝试使用bunkerweb
(包含nginx
基于modsecurity
WAF/反向代理)作为nomad
部署中的负载均衡器。
作为一个 docker 容器,bunkerweb
依赖于环境变量来指定相关的代理配置,例如myhost.domain.com_REVERSE_PROXY_URL = "/"
等等,我通常认为这是非常好的用户体验,但它带来了一个问题,因为我无法nomad
接受带有点的环境变量键。
这文档说使用“另一种地图分配语法”,但没有具体说明它是什么样的。
在网上搜索只能给我提供复杂的解决方案,template {}
最终只能在某处写入一个环境文件,而且没有关于如何在生成容器实例(或者在我的情况下)nomad
时指示任务实际使用这个环境文件的信息(无需覆盖入口点和挂载所述环境文件等)。docker
podman
理想情况下,我真的只是想将所述环境变量直接传递给执行的容器。
有点相关:我读过某处,我可以使用例如 (动态) 引用上游服务http://my-web-app.service.consul:80
,但我没有看到关于在任务定义中在哪里/如何确保服务my-web-app
以其自己的名称向领事注册的确凿信息。这是隐式/自动化的吗?