Aufteilung der envoy envoy.yaml Konfiguration in mehrere Dateien (nur Docker)

Ich bearbeite vier verschiedene Häfen/Fälle mit Envoy:

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

Für IPv6 und IPv4 ist die Konfiguration dieselbe, während für http eine andere Konfiguration gilt als für https.

Um dies zu realisieren, habe ich meine envoy-Konfiguration in mehrere Schnipsel aufgeteilt und füge sie während der Erstellung des Containers zusammen.

So sieht mein neues Dockerfile aus:

FROM envoyproxy/envoy:latest
COPY config /tmp/config
RUN 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

mein Konfigurationsordner enthält mehrere Dateien, die in envoy.yaml zusammengefasst sind

Sie müssen nicht mehr nach "wie man Dateien in Yaml-Dateien einfügt" suchen. Lächeln

Bild

Hier ist zum Beispiel meine envoy_head.yaml:

statische_Ressourcen:
   Hörer:

Wie Sie sehen können, ist es ziemlich einfach

(NB: Sie endet mit einem Zeilenumbruch, wie alle anderen Dateien auch - wenn man sie kombiniert, ergibt dies das gewünschte Ergebnis).

Vergessen Sie nicht, Ihren Container zu bauen, der zum Beispiel läuft:

docker-compose up -build