9.3. プロジェクトバージョン間での許可される接続の違いの確認


重要

ビルド時のネットワークポリシー接続の違いは、テクノロジープレビュー機能のみでの提供となっています。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

このコマンドは、2 つのプロジェクトバージョン間で許可される接続の違いを理解するのに役立ちます。各バージョンのディレクトリーにあるワークロードと Kubernetes ネットワークポリシーマニフェストを分析し、相違点をテキスト形式で表現します。

接続差異レポートは、textmdcsv などのさまざまな出力形式で表示できます。

9.3.1. roxctl netpol connectivity diff コマンドを使用した接続の差異レポートの生成

接続差異レポートを作成する場合、roxctl netpol connectivity diff コマンドを実行する際にネットワークポリシーなどの Kubernetes マニフェストがそれぞれに含まれている、2 つのフォルダー dir1dir2 が必要です。

手順

  • 次のコマンドを実行して、指定したディレクトリー内の Kubernetes マニフェスト間の接続の違いを確認します。

    $ roxctl netpol connectivity diff --dir1=<folder_path_1> --dir2=<folder_path_2> [flags] 
    1
    Copy to Clipboard Toggle word wrap
    1
    フォルダーへのパスを指定します。分析用の YAML リソースとネットワークポリシーなど、サブフォルダーを含めることができます。このコマンドは、両方のディレクトリーのサブフォルダーツリー全体をスキャンします。たとえば、<folder_path_1>netpol-analysis-example-minimal/<folder_path_2>netpol-diff-example-minimal/ に置き換えます。オプションで、パラメーターを指定してコマンドの動作を変更することもできます。

    オプションのパラメーターの詳細は、roxctl netpol connectivity diff コマンドオプション を参照してください。

    注記

    このコマンドは、kubectl apply -f を使用して許容できるすべての YAML ファイルを考慮し、これらが roxctl netpol connectivity diff コマンドの有効な入力になります。

    例9.2 出力例

    Expand
    diff-type比較元比較先dir 1dir 2workloads-diff-info

    changed

    default/frontend[Deployment]

    default/backend[Deployment]

    TCP 9090

    TCP 9090,UDP 53

     

    added

    0.0.0.0-255.255.255.255

    default/backend[Deployment]

    接続なし

    TCP 9090

     

意味的な差異レポートは、dir1 で許可されている接続と比較して、dir2 で変更、追加、または削除された接続の概要を示します。出力を確認すると、各行に使用可能な接続が表示されています。それぞれの接続は、dir1 と比較すると、dir2 で追加、削除または変更されています。

以下は、roxctl netpol connectivity diff コマンドによってさまざまな形式で生成される出力例です。

該当する場合、workloads-diff-info は、追加または削除された接続の追加または削除されたワークロードに関する情報を追加で提供します。

たとえば、ワークロード B が削除されたためにワークロード A からワークロード B への接続が削除された場合、workloads-diff-info はワークロード B が削除されたことを示します。ただし、ネットワークポリシーの変更のみが原因でそのような接続が削除され、ワークロード AB も削除されなかった場合、workloads-diff-info は空になります。

9.3.2. roxctl netpol connectivity diff コマンドオプション

roxctl netpol connectivity diff コマンドは、次のオプションをサポートしています。

Expand
オプション説明

--dir1 string

入力リソースの最初のディレクトリーパス。これは必須のオプションです。

--dir2 string

最初のディレクトリーパスと比較される入力リソースの 2 番目のディレクトリーパス。これは必須のオプションです。

--fail

最初に発生したエラーで失敗します。デフォルト値は false です。

-h--help

roxctl netpol connectivity diff コマンドのヘルプテキストを表示します。

-f, --output-file string

接続の差分出力を特定のファイルに保存します。

-o, --output-format string

出力形式を設定します。サポートされる形式は txtmd、および csv です。デフォルト値は txt です。

--remove

出力パスがすでに存在する場合は削除します。デフォルト値は false です。

--save-to-file

接続の違いの出力をデフォルトのファイルに保存します。デフォルト値は false です。

--strict

警告をエラーとして扱います。デフォルト値は false です。

9.3.3. 構文上の差異出力と意味上の差異出力の区別

次の例では、dir1netpol-analysis-example-minimal/dir2netpol-diff-example-minimal/ に置き換えます。ネットワークポリシー backend-netpol で加えられた小さな変更が、ディレクトリー間の差異となっています。

dir1 のポリシーの例:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  creationTimestamp: null
  name: backend-netpol
spec:
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - port: 9090
      protocol: TCP
  podSelector:
    matchLabels:
      app: backendservice
  policyTypes:
  - Ingress
  - Egress
status: {}
Copy to Clipboard Toggle word wrap

dir2 の変更は、ports 属性の前に - が追加されており、これにより差分出力が生成されます。

9.3.3.1. 構文的な違いの出力

手順

  • 次のコマンドを実行して、指定した 2 つのディレクトリーにある netpols.yaml ファイルの内容を比較します。

    $ diff netpol-diff-example-minimal/netpols.yaml netpol-analysis-example-minimal/netpols.yaml
    Copy to Clipboard Toggle word wrap

    出力例

    12c12
    <   - ports:
    ---
    >     ports:
    Copy to Clipboard Toggle word wrap

9.3.3.2. 意味上の差異の出力

手順

  • 次のコマンドを実行して、指定した 2 つのディレクトリー内の Kubernetes マニフェストとネットワークポリシー間の接続の違いを分析します。

    $ roxctl netpol connectivity diff --dir1=roxctl/netpol/connectivity/diff/testdata/netpol-analysis-example-minimal/ --dir2=roxctl/netpol/connectivity/diff/testdata/netpol-diff-example-minimal
    Copy to Clipboard Toggle word wrap

    出力例

    Connectivity diff:
    diff-type: changed, source: default/frontend[Deployment], destination: default/backend[Deployment], dir1:  TCP 9090, dir2: TCP 9090,UDP 53
    diff-type: added, source: 0.0.0.0-255.255.255.255, destination: default/backend[Deployment], dir1:  No Connections, dir2: TCP 9090
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat