watch.interface vs. cache.newinformer vs. cache.newsharedindexinformer:違いといつ使用するかを使用するとき、kubernetesは、クラスター内のリソース変化に監視し、監視するためのいくつかのアプローチを提供します。これらには、
watch.interface.resultchan():
この方法を使用すると、結果Chanを購読してリソースの変更を監視できます。このチャネルは、リソースに追加/変更/削除されたイベントを提供し、その状態に関するリアルタイムの更新を提供します。これにより、リソースの変更が発生したときにハンドラー内のonadd()/onupdate()/ondelete()コールバックをトリガーする情報提供者が設定されます。リソースの「前」と「後」状態の両方を提供し、状態の遷移を処理するのに役立ちます。彼らは、APIサーバーへの接続を統合し、複数の情報提供者間でリソースを共有するSharedInformerFactoryを導入します。さらに、cache.newsharedindexinformerは、大規模なデータセットの効率的な検索のためにデータキャッシュにインデックス作成を追加します。一般に、Informers(cache.newinformer())は、ほとんどのユースケースのRaw Watch.interfaceよりも好まれます。彼らは、イベントのフィルタリングやキューイングなどのより高いレベルの抽象化と自動化タスクを提供します。 SharedIndexInformers(cache.newsharedIndexinformer())は、検索と検索の効率を高めるため、大規模なデータセットの処理に特に役立ちます。これにより、リソースの共有、大規模なデータセットの効率的な取り扱い、およびクラスター状態の一貫したビューが保証されます。