第6章 クラスター設定の比較
6.1. cluster-compare について リンクのコピーリンクがクリップボードにコピーされました!
cluster-compare
プラグインは、クラスター設定をリファレンス設定と比較する OpenShift CLI (oc
) プラグインです。このプラグインは、設定可能な検証ルールとテンプレートを使用して、設定の差異を報告する一方で、想定内の差異は除外します。
開発環境、実稼働環境、およびサポート環境で cluster-compare
プラグインを使用して、クラスターがリファレンス設定に準拠していることを確認し、重要な設定の差異を迅速に特定してトラブルシューティングしてください。
6.1.1. cluster-compare プラグインの概要 リンクのコピーリンクがクリップボードにコピーされました!
大規模にデプロイされるクラスターでは、通常、検証済みのベースラインカスタムリソース (CR) セットを使用して、ユースケースの要件を満たすようにクラスターを設定し、異なる環境にデプロイする際の一貫性を確保します。
ライブクラスターには、検証済みの CR セットと比べて多少の差異があることが予想されます。たとえば、変数の置換、オプションのコンポーネント、またはハードウェア固有のフィールドが原因で設定が異なる場合があります。このような差異により、クラスターがベースライン設定に準拠しているかどうかを正確に評価することが困難になります。
oc
コマンドで cluster-compare
プラグインを使用すると、ライブクラスターの設定をリファレンス設定と比較できます。リファレンス設定はベースライン設定を表すものですが、さまざまなプラグインの機能を使用して、比較時に想定内の差異を除外します。たとえば、検証ルールを適用したり、任意および必須のリソースを指定したり、リソース間の関係を定義したりできます。このプラグインにより、重要でない差異が抑制されるため、複数の環境でベースライン設定へのクラスターの準拠状況を評価しやすくなります。
クラスターの設定をリファレンス設定とインテリジェントに比較する機能の使用例を以下に示します。
実稼働環境: サービス更新、アップグレード、およびリファレンス設定の変更時に、リファレンス設定への準拠を確保する。
開発環境: テストパイプラインのリファレンス設定への準拠を確保する。
設計環境: 設定をパートナーラボのリファレンス設定と比較して、一貫性を確保する。
サポート環境: リファレンス設定をライブクラスターからの must-gather
データと比較して、設定の問題をトラブルシューティングする。
図6.1 cluster-compare プラグインの概要
6.1.2. リファレンス設定について リンクのコピーリンクがクリップボードにコピーされました!
cluster-compare
プラグインは、リファレンス設定を使用して、ライブクラスターの設定を検証します。リファレンス設定は、metadata.yaml
という名前の YAML ファイルで構成されます。このファイルは、ベースライン設定を表す一連のテンプレートを参照します。
リファレンス設定のディレクトリー構造の例
プラグインは、比較時に各テンプレートをクラスターの設定リソースとマッチします。プラグインは、Golang テンプレート構文やインライン正規表現検証などの機能を使用して、テンプレート内の任意または必須フィールドを評価します。metadata.yaml
ファイルは、追加の検証ルールを適用して、テンプレートが任意か必須かを決定し、テンプレートの依存関係を評価します。
これらの機能を使用して、プラグインはクラスターとリファレンス設定間の重要な設定の差異を特定します。たとえば、フィールド値の不一致、不足しているリソース、余分なリソース、フィールドタイプの不一致、またはバージョンの不一致を検出できます。
リファレンス設定を指定する方法の詳細は、「リファレンス設定の作成」を参照してください。