このフォームは、バグレポートと機能リクエスト専用です。 ヘルプが必要な場合は、[Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes)と[トラブルシューティングガイド](https://kubernetes.io/docs/tasks/debug-application-)を確認してください。クラスター/トラブルシューティング/)。
これはバグレポートですか、それとも機能リクエストですか? :
/種類のバグ
何が起こったのか:
IPVSプロキシーは、次のメッセージをログに記録し続けます。つまり、IPVSプロキシーは、サービスが変更されていない場合でも仮想サーバーを更新し続けます。
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。 IPVS仮想サーバー情報を印刷するためにいくつかのログを追加しました。
あなたが起こると期待したこと:
IPVSプロキシは、サービスが変更されていないときに仮想サーバーを更新しないでください。
それを再現する方法(可能な限り最小限かつ正確に) :
ログメッセージを確認するだけで、見つけることができます。
他に知っておくべきことはありますか? :
これは、IPVSサービスフラグが異なるためだと思います。 たとえば、Flags = 0でIPVSサービスを作成すると、作成されたサービスのフラグは(0 + 2 = 2)に変更されます。 さらに、Flags = 1でIPVSサービスを作成すると、作成されたサービスのフラグは(1 + 2 = 3)に変更されます。
関連する問題を参照してください: https :
環境:
kubectl version
):uname -a
):/ sig network
/ assign @ m1093782566
/ cc @choury @ Lion-Wei
最も参考になるコメント
/ cc @choury @ Lion-Wei