This documentation is for a release that is no longer maintained.
You can select a different version or view all RHACS documentation.9.3. プロジェクトバージョン間での許可される接続の違いの確認
ビルド時のネットワークポリシー接続の違いは、テクノロジープレビュー機能のみでの提供となっています。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
このコマンドは、2 つのプロジェクトバージョン間で許可される接続の違いを理解するのに役立ちます。各バージョンのディレクトリーにあるワークロードと Kubernetes ネットワークポリシーマニフェストを分析し、相違点をテキスト形式で表現します。
接続差異レポートは、text、md、csv などのさまざまな出力形式で表示できます。
9.3.1. roxctl netpol connectivity diff コマンドを使用した接続の差異レポートの生成 リンクのコピーリンクがクリップボードにコピーされました!
接続差異レポートを作成する場合、roxctl netpol connectivity diff コマンドを実行する際にネットワークポリシーなどの Kubernetes マニフェストがそれぞれに含まれている、2 つのフォルダー dir1 と dir2 が必要です。
手順
次のコマンドを実行して、指定したディレクトリー内の Kubernetes マニフェスト間の接続の違いを確認します。
roxctl netpol connectivity diff --dir1=<folder_path_1> --dir2=<folder_path_2> [flags]
$ roxctl netpol connectivity diff --dir1=<folder_path_1> --dir2=<folder_path_2> [flags]1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 1 dir 2 workloads-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 が削除されたことを示します。ただし、ネットワークポリシーの変更のみが原因でそのような接続が削除され、ワークロード A も B も削除されなかった場合、workloads-diff-info は空になります。
9.3.2. roxctl netpol connectivity diff コマンドオプション リンクのコピーリンクがクリップボードにコピーされました!
roxctl netpol connectivity diff コマンドは、次のオプションをサポートしています。
| オプション | 説明 |
|---|---|
|
| 入力リソースの最初のディレクトリーパス。これは必須のオプションです。 |
|
| 最初のディレクトリーパスと比較される入力リソースの 2 番目のディレクトリーパス。これは必須のオプションです。 |
|
|
最初に発生したエラーで失敗します。デフォルト値は |
|
|
|
|
| 接続の差分出力を特定のファイルに保存します。 |
|
|
出力形式を設定します。サポートされる形式は |
|
|
出力パスがすでに存在する場合は削除します。デフォルト値は |
|
|
接続の違いの出力をデフォルトのファイルに保存します。デフォルト値は |
|
|
警告をエラーとして扱います。デフォルト値は |
9.3.3. 構文上の差異出力と意味上の差異出力の区別 リンクのコピーリンクがクリップボードにコピーされました!
次の例では、dir1 は netpol-analysis-example-minimal/、dir2 は netpol-diff-example-minimal/ に置き換えます。ネットワークポリシー backend-netpol で加えられた小さな変更が、ディレクトリー間の差異となっています。
dir1 のポリシーの例:
dir2 の変更は、ports 属性の前に - が追加されており、これにより差分出力が生成されます。
9.3.3.1. 構文的な違いの出力 リンクのコピーリンクがクリップボードにコピーされました!
手順
次のコマンドを実行して、指定した 2 つのディレクトリーにある
netpols.yamlファイルの内容を比較します。diff netpol-diff-example-minimal/netpols.yaml netpol-analysis-example-minimal/netpols.yaml
$ diff netpol-diff-example-minimal/netpols.yaml netpol-analysis-example-minimal/netpols.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
12c12 < - ports: --- > ports:
12c12 < - ports: --- > ports:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ roxctl netpol connectivity diff --dir1=roxctl/netpol/connectivity/diff/testdata/netpol-analysis-example-minimal/ --dir2=roxctl/netpol/connectivity/diff/testdata/netpol-diff-example-minimalCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
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
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 9090Copy to Clipboard Copied! Toggle word wrap Toggle overflow