3.9. 通信事業者コアリファレンス設定の CR
以下のカスタムリソース (CR) を使用して、通信事業者コアプロファイルを使用して OpenShift Container Platform クラスターを設定およびデプロイします。特に指定がない限り、CR を使用して、すべての特定の使用モデルで使用される共通のベースラインを形成します。
3.9.1. 通信事業者コアリファレンス設計の設定 CR の抽出 リンクのコピーリンクがクリップボードにコピーされました!
telco-core-rds-rhel9 コンテナーイメージから、通信事業者コアプロファイルのカスタムリソース (CR) の完全なセットを抽出できます。コンテナーイメージには、通信事業者コアプロファイルの必須の CR と任意の CR が含まれています。
前提条件
-
podmanをインストールしている。
手順
次のコマンドを実行して、認証情報を使用してコンテナーイメージレジストリーにログオンします。
$ podman login registry.redhat.io次のコマンドを実行して、
telco-core-rds-rhel9コンテナーイメージからコンテンツを抽出します。$ mkdir -p ./out$ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.19 | base64 -d | tar xv -C out
検証
outディレクトリーのディレクトリー構造は次のとおりです。次のコマンドを実行すると、out/telco-core-rds/ディレクトリー内の通信事業者コア CR を表示できます。$ tree -L 4出力例
. ├── configuration │ ├── compare.sh │ ├── core-baseline.yaml │ ├── core-finish.yaml │ ├── core-overlay.yaml │ ├── core-upgrade.yaml │ ├── kustomization.yaml │ ├── Makefile │ ├── ns.yaml │ ├── README.md │ ├── reference-crs │ │ ├── custom-manifests │ │ │ ├── mcp-worker-1.yaml │ │ │ ├── mcp-worker-2.yaml │ │ │ ├── mcp-worker-3.yaml │ │ │ └── README.md │ │ ├── optional │ │ │ ├── logging │ │ │ ├── networking │ │ │ ├── other │ │ │ └── tuning │ │ └── required │ │ ├── networking │ │ ├── other │ │ ├── performance │ │ ├── scheduling │ │ └── storage │ ├── reference-crs-kube-compare │ │ ├── compare_ignore │ │ ├── comparison-overrides.yaml │ │ ├── metadata.yaml │ │ ├── optional │ │ │ ├── logging │ │ │ ├── networking │ │ │ ├── other │ │ │ └── tuning │ │ ├── ReferenceVersionCheck.yaml │ │ ├── required │ │ │ ├── networking │ │ │ ├── other │ │ │ ├── performance │ │ │ ├── scheduling │ │ │ └── storage │ │ ├── unordered_list.tmpl │ │ └── version_match.tmpl │ └── template-values │ ├── hw-types.yaml │ └── regional.yaml ├── install │ ├── custom-manifests │ │ ├── mcp-worker-1.yaml │ │ ├── mcp-worker-2.yaml │ │ └── mcp-worker-3.yaml │ ├── example-standard.yaml │ ├── extra-manifests │ │ ├── control-plane-load-kernel-modules.yaml │ │ ├── kdump-master.yaml │ │ ├── kdump-worker.yaml │ │ ├── mc_rootless_pods_selinux.yaml │ │ ├── mount_namespace_config_master.yaml │ │ ├── mount_namespace_config_worker.yaml │ │ ├── sctp_module_mc.yaml │ │ └── worker-load-kernel-modules.yaml │ └── README.md └── README.md
3.9.2. クラスターと通信事業者コアリファレンス設定の比較 リンクのコピーリンクがクリップボードにコピーされました!
通信事業者コアクラスターをデプロイした後、cluster-compare プラグインを使用して、クラスターが通信事業者コアリファレンス設計仕様 (RDS) に準拠しているかどうかを評価できます。cluster-compare プラグインは、OpenShift CLI (oc) のプラグインです。このプラグインは、通信事業者コアリファレンス設定を使用して、通信事業者コアカスタムリソース (CR) を使用するクラスターを検証します。
通信事業者コア用のプラグイン固有のリファレンス設定は、通信事業者コア CR とともにコンテナーイメージにパッケージ化されています。
cluster-compare プラグインの詳細は、「cluster-compare プラグインについて」を参照してください。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 -
registry.redhat.ioコンテナーイメージレジストリーにアクセスするための認証情報がある。 -
cluster-compareプラグインをインストールした。
手順
次のコマンドを実行して、認証情報を使用してコンテナーイメージレジストリーにログオンします。
$ podman login registry.redhat.io次のコマンドを実行して、
telco-core-rds-rhel9コンテナーイメージからコンテンツを抽出します。$ mkdir -p ./out$ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.19 | base64 -d | tar xv -C out次のコマンドを実行すると、
out/telco-core-rds/configuration/reference-crs-kube-compareディレクトリー内のリファレンス設定を表示できます。$ tree -L 2出力例
. ├── compare_ignore ├── comparison-overrides.yaml ├── metadata.yaml1 ├── optional2 │ ├── logging │ ├── networking │ ├── other │ └── tuning ├── ReferenceVersionCheck.yaml ├── required3 │ ├── networking │ ├── other │ ├── performance │ ├── scheduling │ └── storage ├── unordered_list.tmpl └── version_match.tmpl次のコマンドを実行して、クラスターの設定を通信事業者コアリファレンス設定と比較します。
$ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml出力例
W1212 14:13:06.281590 36629 compare.go:425] Reference Contains Templates With Types (kind) Not Supported By Cluster: BFDProfile, BGPAdvertisement, BGPPeer, ClusterLogForwarder, Community, IPAddressPool, MetalLB, MultiNetworkPolicy, NMState, NUMAResourcesOperator, NUMAResourcesScheduler, NodeNetworkConfigurationPolicy, SriovNetwork, SriovNetworkNodePolicy, SriovOperatorConfig, StorageCluster ... ********************************** Cluster CR: config.openshift.io/v1_OperatorHub_cluster1 Reference File: required/other/operator-hub.yaml2 Diff Output: diff -u -N /tmp/MERGED-2801470219/config-openshift-io-v1_operatorhub_cluster /tmp/LIVE-2569768241/config-openshift-io-v1_operatorhub_cluster --- /tmp/MERGED-2801470219/config-openshift-io-v1_operatorhub_cluster 2024-12-12 14:13:22.898756462 +0000 +++ /tmp/LIVE-2569768241/config-openshift-io-v1_operatorhub_cluster 2024-12-12 14:13:22.898756462 +0000 @@ -1,6 +1,6 @@ apiVersion: config.openshift.io/v1 kind: OperatorHub metadata: + annotations:3 + include.release.openshift.io/hypershift: "true" name: cluster -spec: - disableAllDefaultSources: true ********************************** Summary4 CRs with diffs: 3/45 CRs in reference missing from the cluster: 226 other: other: Missing CRs:7 - optional/other/control-plane-load-kernel-modules.yaml - optional/other/worker-load-kernel-modules.yaml required-networking: networking-root: Missing CRs: - required/networking/nodeNetworkConfigurationPolicy.yaml networking-sriov: Missing CRs: - required/networking/sriov/sriovNetwork.yaml - required/networking/sriov/sriovNetworkNodePolicy.yaml - required/networking/sriov/SriovOperatorConfig.yaml - required/networking/sriov/SriovSubscription.yaml - required/networking/sriov/SriovSubscriptionNS.yaml - required/networking/sriov/SriovSubscriptionOperGroup.yaml required-other: scheduling: Missing CRs: - required/other/catalog-source.yaml - required/other/icsp.yaml required-performance: performance: Missing CRs: - required/performance/PerformanceProfile.yaml required-scheduling: scheduling: Missing CRs: - required/scheduling/nrop.yaml - required/scheduling/NROPSubscription.yaml - required/scheduling/NROPSubscriptionNS.yaml - required/scheduling/NROPSubscriptionOperGroup.yaml - required/scheduling/sched.yaml required-storage: storage-odf: Missing CRs: - required/storage/odf-external/01-rook-ceph-external-cluster-details.secret.yaml - required/storage/odf-external/02-ocs-external-storagecluster.yaml - required/storage/odf-external/odfNS.yaml - required/storage/odf-external/odfOperGroup.yaml - required/storage/odf-external/odfSubscription.yaml No CRs are unmatched to reference CRs8 Metadata Hash: fe41066bac56517be02053d436c815661c9fa35eec5922af25a1be359818f2979 No patched CRs10 - 1
- 比較対象の CR。プラグインにより、対応するテンプレートとの差異のある各 CR が表示されます。
- 2
- 比較対象の CR とマッチするテンプレート。
- 3
- Linux diff 形式の出力に、テンプレートとクラスター CR の差異が表示されます。
- 4
- プラグインにより、各 CR の行の差分が報告されます。その後、差分の概要が報告されます。
- 5
- 対応するテンプレートとの差異を比較した CR の数。
- 6
- リファレンス設定に表されているが、ライブクラスターには存在しない CR の数。
- 7
- リファレンス設定に表されているが、ライブクラスターには存在しない CR のリスト。
- 8
- リファレンス設定内の対応するテンプレートとマッチしなかった CR。
- 9
- メタデータハッシュはリファレンス設定を識別するものです。
- 10
- パッチが適用された CR のリスト。
3.9.3. ノード設定のリファレンス CR リンクのコピーリンクがクリップボードにコピーされました!
| コンポーネント | リファレンス CR | 説明 | Optional |
|---|---|---|---|
| 追加のカーネルモジュール |
| オプション。コントロールプレーンノードのカーネルモジュールを設定します。 | いいえ |
| 追加のカーネルモジュール |
| オプション。ワーカーノードに SCTP カーネルモジュールをロードします。 | いいえ |
| 追加のカーネルモジュール |
| オプション。ワーカーノードのカーネルモジュールを設定します。 | いいえ |
| コンテナーマウント namespace の非表示 |
| コントロールプレーンノード上の kubelet と CRI-O 間でコンテナー固有のマウントを共有するためのマウント namespace を設定します。 | いいえ |
| コンテナーマウント namespace の非表示 |
| ワーカーノード上の kubelet と CRI-O 間でコンテナー固有のマウントを共有するためのマウント namespace を設定します。 | いいえ |
| Kdump の有効化 |
| マスターノードで kdump クラッシュレポートを設定します。 | いいえ |
| Kdump の有効化 |
| ワーカーノードで kdump クラッシュレポートを設定します。 | いいえ |
3.9.4. クラスターインフラストラクチャーのリファレンス CR リンクのコピーリンクがクリップボードにコピーされました!
| コンポーネント | リファレンス CR | 説明 | Optional |
|---|---|---|---|
| クラスターロギング |
| 指定されたサービスアカウントを使用してログ転送インスタンスを設定し、設定が有効であることを検証します。 | はい |
| クラスターロギング |
| クラスターロギングの namespace を設定します。 | はい |
| クラスターロギング |
| openshift-logging namespace に Operator グループを作成し、Cluster Logging Operator がリソースを監視および管理できるようにします。 | はい |
| クラスターロギング |
| クラスターロギングのサービスアカウントを設定します。 | はい |
| クラスターロギング |
| ログコレクターのサービスアカウントに collect-audit-logs クラスターロールを付与します。 | はい |
| クラスターロギング |
| コレクターのサービスアカウントがインフラストラクチャーリソースからログを収集できるようにします。 | はい |
| クラスターロギング |
| インストールプランの手動承認を使用して、Cluster Logging Operator のサブスクリプションリソースを作成します。 | はい |
| 非接続設定 |
| 非接続環境用の Red Hat Operator カタログを定義します。 | いいえ |
| 非接続設定 |
| 非接続レジストリーのミラーリングされるリポジトリーダイジェストのリストを定義します。 | いいえ |
| 非接続設定 |
| すべてのデフォルトのソースを無効にする OperatorHub 設定を定義します。 | いいえ |
| 監視および可観測性 |
| Prometheus と Alertmanager の保存と保持を設定します。 | はい |
| 電源管理 |
| 選択したノードのパフォーマンスを最適化するために、CPU 分離、huge page 設定、ワークロードヒントを指定して、パフォーマンスプロファイルリソースを定義します。 | いいえ |
3.9.5. リソースチューニングのリファレンス CR リンクのコピーリンクがクリップボードにコピーされました!
| コンポーネント | リファレンス CR | 説明 | Optional |
|---|---|---|---|
| システム予約容量 |
| オプション。kubelet を設定して、コントロールプレーンノードプールの予約済みリソースの自動サイズ設定を有効にします。 | はい |
3.9.6. ネットワークのリファレンス CR リンクのコピーリンクがクリップボードにコピーされました!
| コンポーネント | リファレンス CR | 説明 | Optional |
|---|---|---|---|
| ベースライン |
| デフォルトのクラスターネットワークを設定して、OVN Kubernetes 設定 (ホスト経由のルーティングなど) を指定します。また、カスタム CNI 設定を含む追加のネットワークの定義と、複数のネットワークを対象としたネットワークポリシーのために MultiNetworkPolicy CR を使用することを可能にします。 | いいえ |
| ベースライン |
| オプション。ノードセレクターや CNI 設定などのネットワーク設定の詳細を指定する NetworkAttachmentDefinition リソースを定義します。 | はい |
| ロードバランサー |
| 指定範囲の IP の動的な割り当ての自動実行を有効にして IP アドレスプールを管理するように MetalLB を設定します。 | いいえ |
| ロードバランサー |
| カスタマイズされた間隔、検出乗数、およびモードを使用して双方向フォワーディング検出 (BFD) を設定し、ネットワーク障害の検出と負荷分散フェイルオーバーを迅速化します。 | いいえ |
| ロードバランサー |
| MetalLB の BGP アドバタイズメントリソースを定義し、IP アドレスプールを BGP ピアにアドバタイズする方法を指定します。これにより、トラフィックのルーティングと通知をきめ細かく制御できるようになります。 | いいえ |
| ロードバランサー |
| 動的ルーティングの BGP ネイバーを表す、MetalLB 内の BGP ピアを定義します。 | いいえ |
| ロードバランサー |
| 名前付きリソースの下に 1 つ以上の BGP コミュニティーをグループ化する MetalLB コミュニティーを定義します。コミュニティーを BGP アドバタイズメントに適用すると、ルーティングポリシーを制御し、トラフィックルーティングを変更できます。 | はい |
| ロードバランサー |
| クラスター内の MetalLB リソースを定義します。 | いいえ |
| ロードバランサー |
| クラスター内の metallb-system namespace を定義します。 | いいえ |
| ロードバランサー |
| MetalLB Operator の Operator グループを定義します。 | いいえ |
| ロードバランサー |
| インストールプランの手動承認を使用して、MetalLB Operator のサブスクリプションリソースを作成します。 | いいえ |
| Multus - ルートレス DPDK Pod 用の Tap CNI |
| ワーカーノード上の TAP CNI プラグインに SELinux ブール値を設定する MachineConfig リソースを設定します。 | はい |
| NMState Operator |
| NMState Operator がノードネットワーク設定を管理するために使用する NMState リソースを定義します。 | いいえ |
| NMState Operator |
| NMState Operator の namespace を作成します。 | いいえ |
| NMState Operator |
| openshift-nmstate namespace に Operator グループを作成し、NMState Operator がリソースを監視および管理できるようにします。 | いいえ |
| NMState Operator |
| OLM を通じて管理される NMState Operator のサブスクリプションを作成します。 | いいえ |
| SR-IOV Network Operator |
| ネットワーク機能、IP アドレス管理 (ipam)、および関連するネットワーク namespace およびリソースを指定して SR-IOV ネットワークを定義します。 | いいえ |
| SR-IOV Network Operator |
| デバイス選択、VF の割り当て (numVfs)、ノード固有の設定 (nodeSelector)、優先度のカスタマイズなど、特定ノード上の SR-IOV デバイスのネットワークポリシーを設定します。 | いいえ |
| SR-IOV Network Operator |
| インジェクターと Operator Webhook の有効化、Pod のドレインの無効化、設定デーモンのノードセレクターの定義など、SR-IOV Operator のさまざまな設定を指定します。 | いいえ |
| SR-IOV Network Operator |
| OLM を通じて管理される SR-IOV Network Operator のサブスクリプションを作成します。 | いいえ |
| SR-IOV Network Operator |
| SR-IOV Network Operator サブスクリプションの namespace を作成します。 | いいえ |
| SR-IOV Network Operator |
| SR-IOV Network Operator の Operator グループを作成し、Operator がターゲット namespace 内のリソースを監視および管理できるようにします。 | いいえ |
3.9.7. スケジューリングのリファレンス CR リンクのコピーリンクがクリップボードにコピーされました!
| コンポーネント | リファレンス CR | 説明 | Optional |
|---|---|---|---|
| NUMA 対応スケジューラー |
| NUMA Resources Operator を有効にして、ワークロードを特定の NUMA ノード設定に合わせて調整します。複数の NUMA ノードを持つクラスターに必要です。 | いいえ |
| NUMA 対応スケジューラー |
| OLM を通じて管理される NUMA Resources Operator のサブスクリプションを作成します。複数の NUMA ノードを持つクラスターに必要です。 | いいえ |
| NUMA 対応スケジューラー |
| NUMA Resources Operator のサブスクリプションの namespace を作成します。複数の NUMA ノードを持つクラスターに必要です。 | いいえ |
| NUMA 対応スケジューラー |
| numaresources-operator namespace に Operator グループを作成し、NUMA Resources Operator がリソースを監視および管理できるようにします。複数の NUMA ノードを持つクラスターに必要です。 | いいえ |
| NUMA 対応スケジューラー |
| ノード全体の Pod の NUMA 対応スケジューリングを処理できる、クラスター内のトポロジー対応スケジューラーを設定します。 | いいえ |
| NUMA 対応スケジューラー |
| ワークロードに対してコントロールプレーンノードをスケジュール対象外として設定します。 | いいえ |
3.9.8. ストレージのリファレンス CR リンクのコピーリンクがクリップボードにコピーされました!
| コンポーネント | リファレンス CR | 説明 | Optional |
|---|---|---|---|
| 外部 ODF 設定 |
| openshift-storage namespace 内の外部 Ceph クラスターの base64 エンコードされた設定データを含む Secret リソースを定義します。 | いいえ |
| 外部 ODF 設定 |
| 外部ストレージバックエンドを使用するようにクラスターを設定する OpenShift Container Storage (OCS) ストレージリソースを定義します。 | いいえ |
| 外部 ODF 設定 |
| OpenShift Data Foundation Operator の監視対象の openshift-storage namespace を作成します。 | いいえ |
| 外部 ODF 設定 |
| openshift-storage namespace に Operator グループを作成し、OpenShift Data Foundation Operator がリソースを監視および管理できるようにします。 | いいえ |