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.
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