This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.19.14. クラスターアクティビティーを監視するための RAN ポリシーの適用
ゼロ変更プロビジョニング (ZTP) は Red Hat Advanced Cluster Management(RHACM) を使用して、ラジオアクセスネットワーク (RAN) ポリシーを適用し、クラスターアクティビティーを自動的に監視します。
ポリシージェネレーター (PolicyGen) は、事前定義されたカスタムリソースからの ACM ポリシーの作成を容易にする Kustomize プラグインです。Policy Categorization、Source CR ポリシー、および PolicyGenTemplate の 3 つの主要な項目があります。PolicyGen は、ポリシーと配置のバインディングおよびルールを生成するものに依存します。
以下の図は、RAN ポリシージェネレーターが GitOps および ACM と対話する方法を示しています。
RAN ポリシーは主に 3 つのグループに分類されます。
- Common
-
Commonカテゴリーに存在するポリシーは、サイトプランによって表されるすべてのクラスターに適用されます。 - グループ
-
Groupsカテゴリーに存在するポリシーは、クラスターのグループに適用されます。クラスターのすべてのグループには、Groups カテゴリー下に存在する独自のポリシーを指定できます。たとえば、Groups/group1は、group1に属するクラスターに適用される独自のポリシーを持つことができます。 - サイト
-
Sitesカテゴリーに存在するポリシーが特定のクラスターに適用されます。クラスターでは、Sitesカテゴリーに存在する独自のポリシーを指定できます。たとえば、Sites/cluster1の独自のポリシーがcluster1に適用されます。
以下の図は、ポリシーの生成方法を示しています。
19.14.1. ソースカスタムリソースポリシーの適用 リンクのコピーリンクがクリップボードにコピーされました!
ソースカスタムリソースポリシーには、以下が含まれます。
- SR-IOV ポリシー
- PTP ポリシー
- Performance Add-on Operator ポリシー
- MachineConfigPool ポリシー
- SCTP ポリシー
メタデータまたは spec/data への使用可能なオーバーレイを考慮して、ACM ポリシーを生成するソースカスタムリソースを定義する必要があります。たとえば、common-namespace-policy には、全マネージドクラスターに存在する namespace 定義が含まれます。この namespace は Common category の下に配置され、すべてのクラスターではその仕様やデータは変更されません。
Namespace ポリシーの例
以下の例は、この namespace のソースカスタムリソースを示しています。
出力例
この namespace を適用する生成されたポリシーには、以下の例のように変更なしに上記のように namespace が含まれます。
SRIOV ポリシーの例
以下の例は、クラスターごとに異なる仕様を持つ異なるクラスターに存在する SriovNetworkNodePolicy 定義を示しています。この例では、SriovNetworkNodePolicy のソースカスタムリソースも示しています。
出力例
SriovNetworkNodePolicy 名と namespace はすべてのクラスターで同じであるため、どちらもソース SriovNetworkNodePolicy で定義されます。ただし、生成されたポリシーには、$deviceType、$numVfs を各クラスターのポリシーを調整するために入力パラメーターとして必要になります。以下の例のように、生成されたポリシーが表示されます。
必要な入力パラメーターを $value で定義する (例: $deviceType) は必須ではありません。$ は、ポリシージェネレーターに対して、生成されたポリシーからアイテムを削除するか、または生成されたポリシーからアイテムを削除します。そうしないと、値は変更されません。
19.14.2. PolicyGenTemplate リンクのコピーリンクがクリップボードにコピーされました!
PolicyGenTemplate.yaml ファイルはカスタムリソース定義 (CRD) で、生成されたポリシーを分類する場所と上書きする必要のある項目を指示するカスタムリソース定義 (CRD) です。
以下の例は、PolicyGenTemplate.yaml ファイルを示しています。
group-du-ranGen.yaml ファイルは、group-du という名前のグループ下のポリシーグループを定義します。このファイルは、sourceFiles で定義される他のポリシーのノードセレクターとして使用される MachineConfigPool worker-du を定義します。sourceFiles に存在するすべてのソースファイルに ACM ポリシーが生成されます。また、group-du ポリシーのクラスター選択ルールを有効にするために、単一の配置バインディングと配置ルールが生成されます。
ソースファイル PtpConfigSlave.yaml を例として使用し、PtpConfigSlave には PtpConfig カスタムリソース (CR) の定義があります。PtpConfigSlave サンプルの生成ポリシーは group-du-ptp-config-policy という名前です。生成された group-du-ptp-config-policy に定義される PtpConfig CR は du-ptp-slave という名前です。PtpConfigSlave.yaml で定義された spec は、du-ptp-slave の下に、ソースファイルで定義された他の spec 項目と共に配置されます。
以下の例は、group-du-ptp-config-policy を示しています。
19.14.3. カスタムリソースポリシー作成時の考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
-
ACM ポリシーの作成に使用されるカスタムリソースは、そのメタデータおよび仕様/データへの使用可能なオーバーレイに基づいて定義する必要があります。たとえば、カスタムリソース
metadata.nameがクラスター間で変更されない場合は、カスタムリソースファイルにmetadata.name値を設定する必要があります。カスタムリソースに同じクラスターに複数のインスタンスがある場合、カスタムリソースmetadata.nameはポリシーテンプレートファイルで定義する必要があります。 -
特定のマシン設定プールのノードセレクターを適用するには、ポリシージェネレーターがポリシーテンプレートで mcp の値で
$mcp値をセットアップするには、ノードセレクターの値を$mcpに設定する必要があります。 - サブスクリプションソースファイルは変更されません。
19.14.4. RAN ポリシーの生成 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- Kustomize のインストール
- Kustomize Policy Generator プラグイン をインストールします
手順
policyGenerator.yamlファイルを参照するようにkustomization.yamlファイルを設定します。以下の例は、PolicyGenerator 定義を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
-
policyGenTempPathはpolicyGenTempファイルへのパスです。 -
sourcePath: ソースポリシーへのパスです。 -
outPath: 生成された ACM ポリシーを保存するパスです。 -
stdout:trueの場合、生成されたポリシーをコンソールに出力します。 -
CustomResources :trueの場合、ACM ポリシーなしでsourcePoliciesファイルから CR を生成します。
-
以下のコマンドを実行して PolicyGen をテストします。
cd cnf-features-deploy/ztp/ztp-policy-generator/
$ cd cnf-features-deploy/ztp/ztp-policy-generator/Copy to Clipboard Copied! Toggle word wrap Toggle overflow XDG_CONFIG_HOME=./ kustomize build --enable-alpha-plugins
$ XDG_CONFIG_HOME=./ kustomize build --enable-alpha-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のように、
outディレクトリーが想定されるポリシーで作成されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一般的なポリシーは、すべてのクラスターに適用されるため、フラットです。ただし、グループとサイトには、異なるクラスターに適用されるため、グループとサイトごとにサブディレクトリーがあります。