如何在 Envoy 中使用环境变量

How to use enviroment variables in Envoy

如何在不在 yaml 文件中明确写入的情况下指定主机和端口数据?我想使用环境变量,但到目前为止,我所有的尝试都会导致 json 解析器错误。

您需要使用 envsubst,这是一个帮助您将变量放入 envoy.yaml 的工具。你可以这样做

cat /tmpl/envoy.yaml.tmpl | envsubst $ARG_1,$ARG_2 > /etc/envoy.yaml

在路径 tmpl/envoy.yaml.tmpl 中,我们将临时配置保存在我们规定的 $ARG_1 和 $ARG_2 将被使用的地方。然后我们将这些变量从 .env 中取出,并在新配置中将 $ARG_1 和 $ARG_2 重写为它们的值。所以我们可以 运行 的最终配置将在 /etc/envoy.yaml.

如果您想了解有关 envsubst 的更多信息,我建议您阅读以下文章: