Ich habe eine traefik.toml Datei als Teil meiner Traefik configmap definiert. Das Snippet unten ist die Kubernetes Endpunkt-Konfiguration mit einem labelselector definiert:Problem Definition Traefik labelselector in traefik.toml vs. container arg
[kubernetes]
labelselector = "expose=internal"
Wenn ich die traefik Statusseite in dieser Konfiguration überprüfen, sehe ich alle ingresses aufgeführt, nicht nur diejenigen mit der Bezeichnung „aussetzen: intern“ definiert.
Wenn ich die kubernetes.labelselector als Container Argument meines Einsatz eingestellt, jedoch nur die ingresses mit dem passenden Etikett auf der traefik Statusseite angezeigt, wie erwartet:
- --kubernetes.labelselector=expose=internal
Nach der Kubernetes Ingress Backend Dokumentation Jedes in der Etikettenauswahl-Sektion der Labels and Selectors gültige Etikettenauswahlformat sollte in der Datei traefik.toml gültig sein. Ich habe sowohl mit der Gleichheitsbaed (wie oben gezeigt) als auch mit der Satz-basierten (nur um festzustellen, ob das "expose" -Label vorhanden ist) experimentiert, von denen keine im Toml gearbeitet hat. Das Set-basierte scheint nicht in den Container-Argumenten zu funktionieren, aber die Gleichheitsanweisungen tun dies.
Ich nehme an, es gibt ein Problem im Zusammenhang mit, wie ich den Kubernetes-Endpunkt in der Traefik.Toml-Datei formatiert habe. Bevor ich dieses Problem an GitHub meldete, hoffte ich, dass jemand die Dokumentation klären und/oder Fehler korrigieren könnte, die ich im Toml-Dateiformat gemacht habe.
Können Sie '[kubernetes]' selbst in der toml-Datei definieren und die Standardwerte mit den Befehlszeilenargumenten überschreiben oder muss der kubernetes-Backend-Provider im Toml mit mindestens einer anderen Option definiert werden? –
Solange Sie '-Kubernetes' nicht übergeben, sondern nur' --kubernetes. 'in der Befehlszeile sollte es funktionieren. –