問題はkubernetes 1.2.3で発生しましたが、現在1.3.3を実行しています。ポッドiptablesマッピングへのサービスを現在監視中
kube-proxyが実行されていたが、wedgedされていて、iptablesを現在のサービス状態のポッドに更新していない2つの状況がありました。これにより、serviceA宛てのトラフィックがserviceBの一部であるポッドにルーティングされた状況が発生しました。そこで、kube-proxyのクエリー/ヘルスの後に私たちのモニタリングを改善しました。私は、kube-proxyプロセスの存在を超えて何かを監視しなければならないのか、それが/ healthzから200を返すのだろうと思っています。
ポッドマッピングへのサービスが最新のものであることを確認するために、さらに何かを監視していますか?私は、サービスの環境が変化するにつれて、すべてのホストが正確ではないかもしれないが、3分以上経過し、iptablesがすべてのノードで最新ではないというシナリオをキャッチすることに興味があるということを認識しています。何かがどこかで壊れていることを私に示すようなクラスタ。
私は、バッキング配置が5分ごとに再配置されるカナリーサービスを持っているように思っていました。そして、各ノードから、サービスクラスタIP経由ですべてのバッキングポッドに到達できることを確認します。
これが正しいアプローチであるかどうかはわかりません。私たちが以前に持っていた問題を捕まえることができるように思えるかもしれませんが、iptablesが最後に更新されたときにタイムスタンプをチェックするような他の簡単な方法があるかもしれません。
ありがとうございます!