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


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

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

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

roxctl netpol connected diff コマンドを使用して、ネットワークポリシーを含む 2 つの Kubernetes マニフェストの接続の違いを比較して、レポートを作成します。

前提条件

  • dir1dir2 という 2 つのフォルダーがあり、それぞれにネットワークポリシーを含む Kubernetes マニフェストが含まれている。

手順

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

    $ roxctl netpol connectivity diff --dir1=<folder_path_1> --dir2=<folder_path_2> [flags] 
    1
    Copy to Clipboard
    1
    フォルダーへのパスを指定します。分析用の YAML リソースとネットワークポリシーなど、サブフォルダーを含めることができます。このコマンドは、両方のディレクトリーのサブフォルダーツリー全体をスキャンします。

    たとえば、<folder_path_1>netpol-analysis-example-minimal/<folder_path_2>netpol-diff-example-minimal/ に置き換えます。オプションで、パラメーターを指定してコマンドの動作を変更することもできます。

注記

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

表8.3 出力例
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 で追加、削除または変更されています。

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

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

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

次の例では、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

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

8.3.2.1. 構文的な違いの出力

手順

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

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

    出力例

    12c12
    <   - ports:
    ---
    >     ports:
    Copy to Clipboard

8.3.2.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

    出力例

    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

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat