watch.interface vs. Cache.Newinformer vs. cache.newsharedIndexinformer: Unterschiede und wann können Sie
Kubernetes -Angebote für Überwachung und Reaktion auf Ressourcenänderungen innerhalb eines Clusters in einem Cluster angeben. Dazu gehören:
- watch.interface.resultchan (): Mit dieser Methode können Sie Änderungen auf eine Ressource überwachen, indem Sie sich ein Ergebnis abonnieren. Dieser Kanal bietet hinzugefügte/modifizierte/gelöschte Ereignisse für die Ressource und gibt Ihnen Echtzeit-Updates in seinem Status.
- cache.newinformer (): Ein RessourcenEventHandler-Schnittstellen kann implementiert und als letztes Argument an cache.newinformer übergeben werden. Damit wird ein Informant eingerichtet, der onAdd ()/onupdate ()/ondelete () Rückrufe innerhalb des Handlers auslöst, wenn Ressourcenänderungen auftreten. Es liefert sowohl die "vor" als auch "nach" -Staaten der Ressource und macht es nützlich, um Statusübergänge zu behandeln. Sie führen eine SharedInformerFactory ein, die Verbindungen zum API -Server konsolidiert und Ressourcen zwischen mehreren Informanten austeilt. Zusätzlich fügt Cache.newsharedIndexinformer dem Datencache die Indexierung hinzu, um ein effizientes Abrufen großer Datensätze zu erhalten.
- Die Wahl der API hängt von Ihren spezifischen Anforderungen ab. Im Allgemeinen werden Informanten (Cache.Newinformer ()) gegenüber RAW Watch.interface für die meisten Anwendungsfälle bevorzugt. Sie bieten ein höheres Maß an Abstraktion und automatisieren Aufgaben wie Filterung und Warteschlange. SharedIndexinformers (cache.newsharedIndexinformer ()) sind besonders nützlich für die Behandlung großer Datensätze, da sie die Such- und Abrufeffizienz verbessern. Dies stellt die Freigabe der Ressourcen, die effiziente Handhabung großer Datensätze und eine konsistente Ansicht des Cluster -Status sicher. .