第6章 ビルド時のネットワークポリシーの生成
ビルド時のネットワークポリシージェネレーターは、roxctl CLI に含まれています。ビルド時のネットワークポリシー生成機能の場合、roxctl CLI は RHACS Central と通信する必要がないため、任意の開発環境で使用できます。
6.1. ビルド時のネットワークポリシージェネレーターの使用 リンクのコピーリンクがクリップボードにコピーされました!
ビルド時のネットワークポリシー生成は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品サービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
-
ビルド時のネットワークポリシージェネレーターは、コマンドの実行時に指定したディレクトリーを再帰的にスキャンします。したがって、コマンドを実行する前に、サービスマニフェスト、config map、ワークロードマニフェスト (
Pod、Deployment、ReplicaSet、Job、DaemonSet、StatefulSetなど) が、指定されたディレクトリーに YAML ファイルとしてすでに存在している必要があります。 -
kubectl apply -fコマンドを使用して、これらの YAML ファイルをそのまま適用できることを確認します。ビルド時のネットワークポリシージェネレーターは、Helm スタイルのテンプレートを使用するファイルでは機能しません。 サービスネットワークアドレスがハードコーディングされていないことを確認します。サービスに接続する必要があるすべてのワークロードは、サービスネットワークアドレスを変数として指定する必要があります。この変数は、ワークロードのリソース環境変数を使用するか、config map で指定できます。
サービスネットワークアドレスは、次の公式の正規表現パターンに一致する必要があります。
(http(s)?://)?<svc>(.<ns>(.svc.cluster.local)?)?(:<portNum>)?
(http(s)?://)?<svc>(.<ns>(.svc.cluster.local)?)?(:<portNum>)?1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このパターンでは、
- <svc> はサービス名
- <ns> はサービスを定義した namespace
- <portNum> は公開されたサービスのポート番号
以下は、パターンに一致するいくつかの例です。
-
wordpress-mysql:3306 -
redis-follower.redis.svc.cluster.local:6379 -
redis-leader.redis -
http://rating-service.
手順
help コマンドを実行して、ビルド時のネットワークポリシー生成機能が使用可能であることを確認します。
roxctl netpol generate -h
$ roxctl netpol generate -hCopy to Clipboard Copied! Toggle word wrap Toggle overflow netpol generateコマンドを使用してポリシーを生成します。roxctl netpol generate <folder-path>
$ roxctl netpol generate <folder-path>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Kubernetes マニフェストがあるフォルダーのパスを指定します。
roxctl netpol generate コマンドは、次のオプションをサポートしています。
|
| 説明 |
|
|
|
|
| 生成されたポリシーをターゲットフォルダーに保存します。ポリシーごとに 1 つのファイルです。 |
|
| 生成されたポリシーを保存して単一の YAML ファイルにマージします。 |
|
|
最初に発生したエラーで失敗します。デフォルト値は |
|
| 出力パスがすでに存在する場合は削除します。 |
|
|
警告をエラーとして扱います。デフォルト値は |