Dieses Formular ist NUR für Fehlerberichte und Funktionsanfragen! Wenn Sie Hilfe benötigen, überprüfen Sie [Stapelüberlauf] (https://stackoverflow.com/questions/tagged/kubernetes) und die [Anleitung zur Fehlerbehebung] (https://kubernetes.io/docs/tasks/debug-application- Cluster / Fehlerbehebung /).
Ist dies ein BUG REPORT oder eine FEATURE REQUEST? ::
/ Art Bug
Was ist passiert :
Der IPVS-Proxy protokolliert weiterhin die folgende Meldung: Der IPVS-Proxy aktualisiert weiterhin virtuelle Server, auch wenn sich kein Dienst ändert.
I0912 17:08:13.555614 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0x1}, Protocol:"TCP", Port:0x1bb, Scheduler:"rr", Flags:0x1, Timeout:0x2a30}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0x1}, Protocol:"TCP", Port:0x1bb, Scheduler:"rr", Flags:0x3, Timeout:0x2a30}
I0912 17:08:13.555659 18274 proxier.go:1291] IPVS service default/kubernetes:https was changed
I0912 17:08:13.556787 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0xa}, Protocol:"UDP", Port:0x35, Scheduler:"rr", Flags:0x0, Timeout:0x0}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0xa}, Protocol:"UDP", Port:0x35, Scheduler:"rr", Flags:0x2, Timeout:0x0}
I0912 17:08:13.556818 18274 proxier.go:1291] IPVS service kube-system/kube-dns:dns was changed
I0912 17:08:13.557872 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0xa}, Protocol:"TCP", Port:0x35, Scheduler:"rr", Flags:0x0, Timeout:0x0}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0xa}, Protocol:"TCP", Port:0x35, Scheduler:"rr", Flags:0x2, Timeout:0x0}
I0912 17:08:13.557902 18274 proxier.go:1291] IPVS service kube-system/kube-dns:dns-tcp was changed
I0912 17:08:13.558940 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0xb6}, Protocol:"TCP", Port:0xbda, Scheduler:"rr", Flags:0x1, Timeout:0x2a30}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0xb6}, Protocol:"TCP", Port:0xbda, Scheduler:"rr", Flags:0x3, Timeout:0x2a30}
....
I0912 17:09:13.455862 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0x1}, Protocol:"TCP", Port:0x1bb, Scheduler:"rr", Flags:0x1, Timeout:0x2a30}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0x1}, Protocol:"TCP", Port:0x1bb, Scheduler:"rr", Flags:0x3, Timeout:0x2a30}
I0912 17:09:13.455894 18274 proxier.go:1291] IPVS service default/kubernetes:https was changed
I0912 17:09:13.457139 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0xa}, Protocol:"UDP", Port:0x35, Scheduler:"rr", Flags:0x0, Timeout:0x0}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0xa}, Protocol:"UDP", Port:0x35, Scheduler:"rr", Flags:0x2, Timeout:0x0}
I0912 17:09:13.457169 18274 proxier.go:1291] IPVS service kube-system/kube-dns:dns was changed
I0912 17:09:13.458292 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0xa}, Protocol:"TCP", Port:0x35, Scheduler:"rr", Flags:0x0, Timeout:0x0}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0xa}, Protocol:"TCP", Port:0x35, Scheduler:"rr", Flags:0x2, Timeout:0x0}
I0912 17:09:13.458322 18274 proxier.go:1291] IPVS service kube-system/kube-dns:dns-tcp was changed
I0912 17:09:13.459468 18274 proxier.go:1279] vs is: &ipvs.VirtualServer{Address:net.IP{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa, 0x0, 0x0, 0xb6}, Protocol:"TCP", Port:0xbda, Scheduler:"rr", Flags:0x1, Timeout:0x2a30}, applied vs is : &ipvs.VirtualServer{Address:net.IP{0xa, 0x0, 0x0, 0xb6}, Protocol:"TCP", Port:0xbda, Scheduler:"rr", Flags:0x3, Timeout:0x2a30}
...
PS. Ich habe einige Protokolle hinzugefügt, um die Informationen zum virtuellen IPVS-Server zu drucken.
Was Sie erwartet hatten :
Der IPVS-Proxy sollte den virtuellen Server NICHT aktualisieren, wenn sich kein Dienst ändert.
Wie man es reproduziert (so minimal und präzise wie möglich) :
Überprüfen Sie einfach die Protokollnachricht, Sie werden sie finden.
Was müssen wir noch wissen? ::
Ich denke, das liegt daran, dass die IPVS-Dienstflags unterschiedlich sind. Wenn Sie beispielsweise einen IPVS-Dienst mit Flags = 0 erstellen, ändern sich die Flags des erstellten Dienstes in (0 + 2 = 2). Wenn wir einen IPVS-Dienst mit Flags = 1 erstellen, ändern sich die Flags des erstellten Dienstes in (1 + 2 = 3).
Siehe verwandtes Problem: https://github.com/docker/libnetwork/issues/1921
Umwelt :
kubectl version
):uname -a
):/ sig Netzwerk
/ zuweisen @ m1093782566
/ cc @choury @ Lion-Wei
Hilfreichster Kommentar
/ cc @choury @ Lion-Wei