6.3. cluster-compare プラグインの使用
cluster-compare
プラグインを使用すると、リファレンス設定をライブクラスターまたは must-gather
データからの設定と比較できます。
6.3.1. ライブクラスターでの cluster-compare プラグインの使用 リンクのコピーリンクがクリップボードにコピーされました!
cluster-compare
プラグインを使用すると、リファレンス設定をライブクラスターの設定カスタムリソース (CR) と比較できます。
設計中、開発中、またはテスト中に、ライブクラスターの設定を検証し、リファレンス設定に準拠していることを確認してください。
cluster-compare
プラグインは、非実稼働環境のライブクラスターでのみ使用してください。実稼働環境の場合は、must-gather
データに対してプラグインを使用してください。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
cluster-compare
プラグインをダウンロードし、PATH
環境変数に含めた。 - リファレンス設定にアクセスできる。
手順
次のコマンドを使用して、
cluster-compare
プラグインを実行します。oc cluster-compare -r <path_to_reference_config>/metadata.yaml
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -r
は、リファレンス設定のmetadata.yaml
ファイルへのパスを指定します。ローカルディレクトリーまたは URI を指定できます。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 比較対象の CR。プラグインにより、対応するテンプレートとの差異のある各 CR が表示されます。
- 2
- 比較対象の CR とマッチするテンプレート。
- 3
- Linux diff 形式の出力に、テンプレートとクラスター CR の差異が表示されます。
- 4
- プラグインにより、各 CR の行の差分が報告されます。その後、差分の概要が報告されます。
- 5
- 対応するテンプレートとの差異を比較した CR の数。
- 6
- リファレンス設定に表されているが、ライブクラスターには存在しない CR の数。
- 7
- リファレンス設定に表されているが、ライブクラスターには存在しない CR のリスト。
- 8
- リファレンス設定内の対応するテンプレートとマッチしなかった CR。
- 9
- メタデータハッシュはリファレンス設定を識別するものです。
- 10
- パッチが適用された CR のリスト。
コマンドに -o junit
を追加して、junit
形式で出力を取得します。以下に例を示します。
oc cluster-compare -r <path_to_reference_config>/metadata.yaml -o junit
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml -o junit
junit
の出力には次のタイプの結果が含まれています。
- 完全に一致した各テンプレートに対する合格の結果。
- 差異の検出や必須のカスタムリソース (CR) の欠落に対する不合格の結果。
- ユーザーのオーバーライドメカニズムを使用してパッチが適用された差異に対するスキップの結果。
6.3.2. must-gather データでの cluster-compare プラグインの使用 リンクのコピーリンクがクリップボードにコピーされました!
cluster-compare
プラグインを使用すると、リファレンス設定を must-gather
データからの設定カスタムリソース (CR) と比較できます。
must-gather
データを使用してクラスター設定を検証し、実稼働環境での設定の問題をトラブルシューティングします。
実稼働環境の場合は、必ず must-gather
データに対して cluster-compare
プラグインを使用してください。
-
ターゲットクラスターから
must-gather
データにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。 -
cluster-compare
プラグインをダウンロードし、PATH
環境変数に含めた。 - リファレンス設定にアクセスできる。
手順
次のコマンドを実行して、
must-gather
データをリファレンス設定と比較します。oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
-r
は、リファレンス設定のmetadata.yaml
ファイルへのパスを指定します。ローカルディレクトリーまたは URI を指定できます。 -
-f
は、must-gather
データディレクトリーへのパスを指定します。ローカルディレクトリーまたは URI を指定できます。この例では、比較対象を重要なクラスター設定ディレクトリーに制限します。 -R
は、ターゲットディレクトリーを再帰的に検索します。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 比較対象の CR。プラグインにより、対応するテンプレートとの差異のある各 CR が表示されます。
- 2
- 比較対象の CR とマッチするテンプレート。
- 3
- Linux diff 形式の出力に、テンプレートとクラスター CR の差異が表示されます。
- 4
- プラグインにより、各 CR の行の差分が報告されます。その後、差分の概要が報告されます。
- 5
- 対応するテンプレートとの差異を比較した CR の数。
- 6
- リファレンス設定に表されているが、ライブクラスターには存在しない CR の数。
- 7
- リファレンス設定に表されているが、ライブクラスターには存在しない CR のリスト。
- 8
- リファレンス設定内の対応するテンプレートとマッチしなかった CR。
- 9
- メタデータハッシュはリファレンス設定を識別するものです。
- 10
- パッチが適用された CR のリスト。
-
コマンドに -o junit
を追加して、junit
形式で出力を取得します。以下に例を示します。
oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R -o junit
$ oc cluster-compare -r <path_to_reference_config>/metadata.yaml -f "must-gather*/*/cluster-scoped-resources","must-gather*/*/namespaces" -R -o junit
junit
の出力には次のタイプの結果が含まれています。
- 完全に一致した各テンプレートに対する合格の結果。
- 差異の検出や必須のカスタムリソース (CR) の欠落に対する不合格の結果。
- ユーザーのオーバーライドメカニズムを使用してパッチが適用された差異に対するスキップの結果。
6.3.3. cluster-compare プラグインのオプションのリファレンス リンクのコピーリンクがクリップボードにコピーされました!
ここでは、cluster-compare
プラグインのオプションを説明します。
オプション | 説明 |
---|---|
| ライブクラスターで使用すると、リファレンス設定内のタイプに一致するクラスター内の全リソースとのマッチングを試行します。ローカルファイルで使用すると、リファレンス設定内のタイプに一致するローカルファイル内の全リソースとのマッチングを試行します。 |
|
ライブバージョンのリソースと比較するときに、並列処理するテンプレートの数の整数値を指定します。数値が大きいほど速度は増加しますが、その期間中のメモリー、I/O、CPU の使用率も増加します。デフォルト値は |
| ユーザー設定ファイルへのパスを指定します。 |
| リファレンス設定との比較に使用する設定カスタムリソースのファイル名、ディレクトリー、または URL を指定します。 |
| パッチが必要なテンプレートのパスを指定します。 |
| 使用可能なテンプレート関数を表示します。 注記
|
| ヘルプ情報を表示します。 |
|
|
|
出力形式を指定します。 |
| オーバーライドを生成する理由を指定します。 |
| リファレンス設定のパッチオーバーライドファイルへのパスを指定します。 |
|
|
|
リファレンス設定の |
|
マネージドフィールドを比較に含めるには |
| プラグイン出力の詳細度を高めます。 |
6.3.4. 例: クラスターと通信事業者コアリファレンス設定の比較 リンクのコピーリンクがクリップボードにコピーされました!
cluster-compare
プラグインを使用すると、リファレンス設定をライブクラスターまたは must-gather
データからの設定と比較できます。
この例では、ライブクラスターの設定と通信事業者コアリファレンス設定を比較します。通信事業者コアリファレンス設定は、通信事業者コアリファレンス設計仕様 (RDS) に基づくものです。通信事業者コア RDS は、コントロールプレーンや一部の集中型データプレーン機能を含む大規模な通信事業者アプリケーションを支えるクラスター向けに設計されています。
リファレンス設定は、通信事業者コア RDS とともにコンテナーイメージにパッケージ化されています。
cluster-compare
プラグインを通信事業者コアプロファイルおよび通信事業者 RAN 分散ユニット (DU) プロファイルとともに使用する例は、「関連情報」セクションを参照してください。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
registry.redhat.io
コンテナーイメージレジストリーにアクセスするための認証情報がある。 -
cluster-compare
プラグインをインストールした。
手順
次のコマンドを実行して、認証情報を使用してコンテナーイメージレジストリーにログオンします。
podman login registry.redhat.io
$ podman login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
telco-core-rds-rhel9
コンテナーイメージからコンテンツを抽出します。mkdir -p ./out
$ mkdir -p ./out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.18 | base64 -d | tar xv -C out
$ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.18 | base64 -d | tar xv -C out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リファレンス設定は、
reference-crs-kube-compare/
ディレクトリーで確認できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスターの設定を通信事業者コアリファレンス設定と比較します。
oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml
$ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 比較対象の CR。プラグインにより、対応するテンプレートとの差異のある各 CR が表示されます。
- 2
- 比較対象の CR とマッチするテンプレート。
- 3
- Linux diff 形式の出力に、テンプレートとクラスター CR の差異が表示されます。
- 4
- プラグインにより、各 CR の行の差分が報告されます。その後、差分の概要が報告されます。
- 5
- 対応するテンプレートとの差異を比較した CR の数。
- 6
- リファレンス設定に表されているが、ライブクラスターには存在しない CR の数。
- 7
- リファレンス設定に表されているが、ライブクラスターには存在しない CR のリスト。
- 8
- リファレンス設定内の対応するテンプレートとマッチしなかった CR。
- 9
- メタデータハッシュはリファレンス設定を識別するものです。
- 10
- パッチが適用された CR のリスト。
コマンドに -o junit
を追加して、junit
形式で出力を取得します。以下に例を示します。
oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml -o junit
$ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml -o junit
junit
の出力には次のタイプの結果が含まれています。
- 完全に一致した各テンプレートに対する合格の結果。
- 差異の検出や必須のカスタムリソース (CR) の欠落に対する不合格の結果。
- ユーザーのオーバーライドメカニズムを使用してパッチが適用された差異に対するスキップの結果。