第1章 Network Observability Operator リリースノート
Network Observability Operator を使用すると、管理者は OpenShift Container Platform クラスターのネットワークトラフィックフローを観察および分析できます。
これらのリリースノートは、OpenShift Container Platform での Network Observability Operator の開発を追跡します。
Network Observability Operator の概要は、Network Observability Operator について を参照してください。
1.1. Network Observability Operator 1.8.0
Network Observability Operator 1.8.0 では、次のアドバイザリーを利用できます。
1.1.1. 新機能および機能拡張
1.1.1.1. パケット変換
ネットワークフローが翻訳されたエンドポイント情報で強化され、サービスだけでなく特定のバックエンド Pod も表示できるようになり、どの Pod が要求を提供しているかを確認できます。
詳細は、エンド ポイント変換(xlat) および エンドポイント変換(xlat)の使用 を参照してください。
1.1.1.2. OVN-Kubernetes ネットワークイベントの追跡
OVN-Kubernetes ネットワークイベント追跡は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Network Observability でネットワークイベント追跡を使用して、ネットワークポリシー、管理ネットワークポリシー、エグレスファイアウォールなど、OVN-Kubernetes イベントに関する洞察を得ることができます。
詳細については、ネットワーク イベントの表示 を参照してください。
1.1.1.3. 1.8 での eBPF のパフォーマンスの向上
- ネットワーク可観測性は、CPU ごとのマップの代わりにハッシュマップを使用するようになりました。つまり、ネットワークフローデータがカーネル領域で追跡され、新しいパケットも集約されます。ネットワークフローの重複がカーネルで発生しなくなるようになったため、カーネルとユーザー空間間のデータ転送のサイズがパフォーマンスが向上しました。これらの eBPF のパフォーマンスの向上により、eBPF エージェントの 40% から 57% の CPU リソースが削減される可能性があります。
1.1.1.4. Network Observability CLI
このリリースでは、次の新機能、オプション、およびフィルターが Network Observability CLI に追加されました。
-
oc netobserv metrics コマンドを実行して、フィルターを有効にしたメトリクス
を取得します。 -
フローとパケットキャプチャーと oc netobserv を実行し、oc netobserv を実行し、
バックグラウンド
で CLI を実行し、バックグラウンド実行とoc netobserv
copy
の進捗を確認し、生成されたログをダウンロードします。 -
the
-get-subnets
オプションを使用して、マシン、Pod、およびサービスサブネットを使用したフローおよびメトリクスのキャプチャー パケット、フロー、およびメトリクスキャプチャーで使用できる新しいフィルタリングオプション:
- eBPF フィルターが、IP、ポート、プロトコル、アクション、TCP フラグなど
-
using
-node-selector
のカスタムノード -
using--
drops
のみの削除 -
using--
regexes
を使用するフィールド
詳細は、ネットワーク可観測性 CLI リファレンス を参照してください。
1.1.2. バグ修正
- 以前は、Network Observability Operator に、そのメトリクスサーバーの RBAC を管理するための "kube-rbac-proxy" コンテナーが同梱されていました。この外部コンポーネントは非推奨であるため、削除する必要があります。これは、サイドカープロキシーを必要とせずに、Kubernetes コントローラーランタイムを介した直接 TLS および RBAC 管理に置き換えられました。(NETOBSERV-1999)
- 以前のバージョンでは、OpenShift Container Platform コンソールプラグインでは、複数の値と等しくないキーをフィルタリングしても何もフィルターされませんでした。今回の修正により、予想される結果が返されます。これは、すべてのフローにフィルターされた値がないものになります。(NETOBSERV-1990)
- 以前のバージョンでは、Loki が無効になっている OpenShift Container Platform コンソールプラグインでは、互換性のないフィルターと集計のセットを選択すると、Can't build query エラーが発生する可能性が非常に高くなります。このエラーは、ユーザーがフィルターの非互換性を認識しながら、互換性のないフィルターを自動的に無効にすることによって回避されるようになりました。(NETOBSERV-1977)
- 以前は、コンソールプラグインからフロー情報を表示すると、ICMP 情報が常にサイドパネルに表示され、ICMP 以外のフローの "undefined" 値が表示されていました。この修正により、ICMP 以外のフローの ICMP 情報が表示されなくなります。(NETOBSERV-1969)
- 以前は、トラフィックフロー ビューからのデータのエクスポートリンクが意図したとおりに機能せず、空の CSV レポートが生成されていました。現在、エクスポート機能が復元され、空でない CSV データが生成されます。(NETOBSERV-1958)
-
以前は、会話ログが Loki が有効な場合にのみ役立つにもかかわらず、
processor.logTypes
Conversations
、EndedConversations
、またはloki.enable
がfalse
に設定されたAll
でFlowCollector
を設定することができました。これにより、リソースの使用量が無駄になりました。現在、この設定は無効であり、検証 Webhook によって拒否されます。(NETOBSERV-1957) -
processor.logTypes
をAll
に設定してFlowCollector
を設定すると、他のオプションよりも CPU、メモリー、ネットワーク帯域幅などのリソースがはるかに消費されます。これは、以前文書化されていませんでした。これが記載され、検証 Webhook から警告がトリガーされるようになりました。(NETOBSERV-1956) - 以前は、負荷が高いため、eBPF エージェントによって生成された一部のフローが誤って破棄され、トラフィックの帯域幅が推定されませんでした。今回のリリースでは、これらの生成されたフローは破棄されなくなりました。(NETOBSERV-1954)
-
以前は、
FlowCollector
設定でネットワークポリシーを有効にすると、Operator Webhook へのトラフィックがブロックされ、FlowMetrics
API 検証が中断されていました。これで、Webhook へのトラフィックが許可されます。(NETOBSERV-1934) -
以前のバージョンでは、デフォルトのネットワークポリシーをデプロイする場合、namespace
openshift-console
およびopenshift-monitoring
がデフォルトでadditionalNamespaces
フィールドに設定されていたため、重複したルールが発生していました。デフォルトで追加の namespace が設定されておらず、重複ルールを回避できるようになりました。(NETOBSERV-1933) - 以前のバージョンでは、OpenShift Container Platform コンソールプラグインからは、TCP フラグでフィルタリングすると、正確な目的のフラグのみを持つフローが一致していました。今回のリリースより、少なくとも目的のフラグを持つフローはフィルターされたフローに表示されます。(NETOBSERV-1890)
- eBPF エージェントが特権モードで実行され、Pod が継続的に追加または削除されると、ファイル記述子(FD)リークが発生します。この修正により、ネットワーク namespace が削除されると、FD が適切に機能するようになります。(NETOBSERV-2063)
-
以前のバージョンでは、CLI エージェント
DaemonSet
はマスターノードにデプロイされませんでした。今回のリリースでは、テイントが設定されている場合にすべてのノードでスケジュールできるように容認がエージェントDaemonSet
に追加されました。CLI エージェントのDaemonSet
Pod がすべてのノードで実行されるようになりました。(NETOBSERV-2030) - 以前のバージョンでは、Source Resource および Source Destination フィルターのオートコンプリートは、Prometheus ストレージのみを使用する場合は機能しませんでした。この問題は修正され、提案が予想通りに表示されるようになりました。(NETOBSERV-1885)
- 以前は、複数の IP を使用するリソースが Topology ビューで個別に表示されていました。これで、リソースはビュー内の単一のトポロジーノードとして表示されるようになりました。(NETOBSERV-1818)
- 以前は、マウスポインターが列にカーソルを合わせると、コンソールは ネットワークトラフィック テーブルビューの内容を更新していました。今回のリリースより、ディスプレイは修正され、行の高さはマウスホバーで一定のままになりました。(NETOBSERV-2049)
1.1.3. 既知の問題
- クラスター内に重複するサブネットを使用するトラフィックがある場合、eBPF エージェントは重複する IP からのフローを混在させるリスクが若干あります。これは、まったく同じ送信元 IP と宛先 IP を持つことと、ポートとプロトコルが 5 秒の時間枠内にあり、同じノードで発生する場合に、異なる接続が発生する場合に発生する可能性があります。セカンダリーネットワークまたは UDN を設定していない限り、これは不可能です。この場合も、ソースポートは通常良い差別化要因であるため、通常のトラフィックではほとんどありません。(NETOBSERV-2115)
-
OpenShift Container Platform Web コンソールフォームビューから
FlowCollector
リソースのspec.exporters
セクションで設定するエクスポーターのタイプを選択すると、そのタイプの詳細な設定がフォームに表示されません。回避策として、YAML を直接設定します。(NETOBSERV-1981)