将envoy的envoy.yaml配置分割成多个文件(仅限Docker)。

我正在用恩华公司处理四个不同的港口/案件。

  • IPv6 http
  • IPv4 http
  • IPv6 https
  • IPv4 https

对于IPv6和IPv4,配置是相同的,而对于http,有一个不同于https的配置。

为了实现这一点,我把我的envoy配置分成几个片段,并在构建容器时把它们加在一起。

下面是我的新Docker文件的样子。

FROM envoyproxy/envoy:latest
COPY config /tmp/config
运行 cat /tmp/config/envoy_head.yaml /tmp/config/http_head_one.yaml /tmp/config/http_body.yaml /tmp/config/http_head_two.yaml /tmp/config/http_body。yaml /tmp/config/https_head_one.yaml /tmp/config/https_body.yaml /tmp/config/https_head_two.yaml /tmp/config/https_body.yaml /tmp/config/envoy_tail.yaml >/etc/envoy/envoy.yaml

我的配置文件包含几个文件,它们被合并到envoy.yaml中。

不需要搜索 "如何在yaml文件中包含文件" 笑一笑

形象

例如,这里是我的 envoy_head.yaml。

静态_资源。
   听众。

正如你所看到的,它是相当简单的

(注意:它和所有其他文件一样以换行结尾--当合并时,这将产生所需的结果)。

不要忘记建立你的容器,运行,例如。

docker-compose up -build