2017-05-06 2 views
3

Ich migriere von der Ausführung meiner Container auf einem Docker Swarm-Cluster zu Kubernetes, die auf Google Container Engine ausgeführt werden. Bei der Ausführung von Docker Swarm hatte ich den Protokolltreiber der Docker Engine (https://docs.docker.com/engine/admin/logging/overview/) konfiguriert, um Protokolle im Fluentd-Format an einen Fluentd-Container auf dem Docker Swarm-Knoten mit einer benutzerdefinierten Konfiguration weiterzuleiten, die die Docker-Protokolle an beide Elasticsearch-Cluster weiterleitete (mit Kibana), sowie ein AWS S3-Eimer. Wie übertrage ich das auf meine Kubernetes-Knoten?Benutzerdefinierte Fluentd-Protokollierung

Ich habe gelesen, dass ich meinen Fluentd-Container auf jedem Knoten mit einem Daemon-Set ausführen kann (https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/), aber ich finde keine Dokumentation zur Konfiguration des Docker Engine-Protokolltreibers, um die Docker-Protokolle an den Fluentd-Container weiterzuleiten. um die Protokolle in dem Format zu formatieren, das ich brauche.

Antwort

0

Wir verwendeten ein bisschen eine andere Lösung, wir laufen fließend als Daemonset aber Docker schreiben Protokolle in das Journal und fließend zugreifen sie mit Systemd Plugin. https://github.com/reevoo/fluent-plugin-systemd. Auch verwenden wir fabric8 kubernet metadata plugin - https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter Ein anderer Ansatz besteht darin, Typ Tail und /var/log/containers/*.log für den Pfad zu verwenden. Schau in kubernetes_metadata_filter gibt es einige Beispiele.

Verwandte Themen