kubernetes インフォーマー (ソース コード) を使用して、kubernetes api サーバーからジョブ更新イベントを受信します。これらのイベントを受信した後、通常はクラスターからジョブ レコードを削除します。
最近、クライアントが kuberntes API サーバーから Kubernetes ジョブ更新イベントをすぐに受信せず、1 時間以上後にこれらのイベントを受信したため、非常に多くのジョブ レコードがクラスターに残っていることがわかりました。
ここにいくつかの情報があります:
ジョブ インフォーマー コールバック
OnAdd(obj interface{}) OnUpdate(oldObj, newObj interface{}) OnDelete(obj interface{})
クラスター情報
kubernetes バージョン:
v1.20
client-go バージョン:v0.19.6
その他の情報
では、そこには 1000 を超える kubernetes ジョブがあり、それらはすべて Complete ステータスにあり、他のビジネス ロジックをデバッグするために必要という理由だけでそれらを削除することはありません。しかし、これらの kubernetes ジョブを削除してインフォーマーを再起動すると、すべてが正常になることがわかりました。
通知の遅延を解決するには? この種の問題をデバッグする方法はありますか?