watch.Interface、cache.NewInformer、cache.NewSharedIndexInformer
Kubernetes リソースの監視とその変更への対応は、多くのアプリケーションにとって不可欠です。 Kubernetes client-go は、これを実現するためのいくつかの方法 (watch.Interface、cache.NewInformer、cache.NewSharedIndexInformer など) を提供します。ただし、それらの違いを理解するのは難しい場合があります。
watch.Interface
watch.Interface は、リソースへの変更を表すイベントのチャネルを提供します。これらのイベントは追加、変更、または削除できます。ただし、watch.Interface はリソースの現在の状態のみを提供し、以前の状態は提供しません。
cache.NewInformer
cache.NewInformer は watch.Interface を追加の要素でラップします。機能性。メモリ内にリソースのキャッシュを維持し、リソースが変更されたときに通知を受け取るハンドラーを追加および削除するメソッドを提供します。 watch.Interface と比較して、インフォーマーを使用する主な利点は、変更されたリソースの以前の状態へのアクセスが提供されることです。 >cache.NewSharedInformerとcache.NewSharedIndexInformerは、sharedを追加することでインフォーマーの概念に基づいて構築されています。
cache.NewSharedInformer:
アプリケーション内の複数のコンポーネントで使用できる共有インフォーマーを作成します。これにより、Kubernetes API サーバーへの複数の接続の作成を回避できます。低レベル制御:
を必要とするアプリケーション向けリソース監視をきめ細かく制御できるため、watch.Interface は最も柔軟性が高くなります。以上が適切な Kubernetes リソース監視ツールを選択する方法: watch.Interface、cache.NewInformer、または cache.NewSharedIndexInformer?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。