6.7. 推奨されるクラスターインストールマニフェスト
ZTP パイプラインは、クラスターのインストール中に次のカスタムリソース (CR) を適用します。これらの設定 CR により、クラスターが vDU アプリケーションの実行に必要な機能とパフォーマンスの要件を満たしていることが保証されます。
クラスターデプロイメントに GitOps ZTP プラグインと SiteConfig
CR を使用する場合は、デフォルトで次の MachineConfig
CR が含まれます。
デフォルトで含まれる CR を変更するには、SiteConfig
の extraManifests
フィルターを使用します。詳細は、SiteConfig CR を使用した高度なマネージドクラスター設定 を参照してください。
6.7.1. ワークロードの分割 リンクのコピーリンクがクリップボードにコピーされました!
DU ワークロードを実行するシングルノード OpenShift クラスターには、ワークロードの分割が必要です。これにより、プラットフォームサービスの実行が許可されるコアが制限され、アプリケーションペイロードの CPU コアが最大化されます。
ワークロードの分割は、クラスターのインストール中にのみ有効にできます。インストール後にワークロードパーティショニングを無効にすることはできません。ただし、PerformanceProfile
CR を通じて、isolated セットと reserved セットに割り当てられた CPU のセットを変更できます。CPU 設定を変更すると、ノードが再起動します。
ワークロードパーティショニングを有効にするために cpuPartitioningMode
の使用に移行する場合は、クラスターのプロビジョニングに使用する /extra-manifest
フォルダーからワークロードパーティショニングの MachineConfig
CR を削除します。
ワークロードパーティショニング用に推奨される SiteConfig CR
設定
- 1
- クラスター内におけるすべてのノードのワークロードパーティショニングを設定するには、
cpuPartitioningMode
フィールドをAllNodes
に設定します。
検証
アプリケーションとクラスターシステムの CPU ピニングが正しいことを確認します。以下のコマンドを実行します。
マネージドクラスターへのリモートシェルプロンプトを開きます。
oc debug node/example-sno-1
$ oc debug node/example-sno-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift インフラストラクチャーアプリケーションの CPU ピニングが正しいことを確認します。
pgrep ovn | while read i; do taskset -cp $i; done
sh-4.4# pgrep ovn | while read i; do taskset -cp $i; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムアプリケーションの CPU ピニングが正しいことを確認します。
pgrep systemd | while read i; do taskset -cp $i; done
sh-4.4# pgrep systemd | while read i; do taskset -cp $i; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
pid 1's current affinity list: 0-1,52-53 pid 938's current affinity list: 0-1,52-53 pid 962's current affinity list: 0-1,52-53 pid 1197's current affinity list: 0-1,52-53
pid 1's current affinity list: 0-1,52-53 pid 938's current affinity list: 0-1,52-53 pid 962's current affinity list: 0-1,52-53 pid 1197's current affinity list: 0-1,52-53
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.7.2. プラットフォーム管理フットプリントの削減 リンクのコピーリンクがクリップボードにコピーされました!
プラットフォームの全体的な管理フットプリントを削減するには、ホストオペレーティングシステムとは別の新しい namespace にすべての Kubernetes 固有のマウントポイントを配置する MachineConfig
カスタムリソース (CR) が必要です。次の base64 でエンコードされた MachineConfig
CR の例は、この設定を示しています。
推奨されるコンテナーマウント namespace 設定 (01-container-mount-ns-and-kubelet-conf-master.yaml
)
6.7.3. SCTP リンクのコピーリンクがクリップボードにコピーされました!
Stream Control Transmission Protocol (SCTP) は、RAN アプリケーションで使用される主要なプロトコルです。この MachineConfig
オブジェクトは、SCTP カーネルモジュールをノードに追加して、このプロトコルを有効にします。
推奨されるコントロールプレーンノードの SCTP 設定 (03-sctp-machine-config-master.yaml
)
推奨されるワーカーノードの SCTP 設定 (03-sctp-machine-config-worker.yaml
)
6.7.4. rcu_normal の設定 リンクのコピーリンクがクリップボードにコピーされました!
次の MachineConfig
CR は、システムの起動完了後に rcu_normal
を 1 に設定するようにシステムを設定します。これにより、vDU アプリケーションのカーネル遅延が改善されます。
ノードの起動完了後に rcu_expedited
を無効にするために推奨される設定 (08-set-rcu-normal-master.yaml
)
6.7.5. kdump による自動カーネルクラッシュダンプ リンクのコピーリンクがクリップボードにコピーされました!
kdump
は、カーネルがクラッシュしたときにカーネルクラッシュダンプを作成する Linux カーネル機能です。kdump
は、次の MachineConfig
CR で有効になっています。
コントロールプレーンノード用に推奨される kdump 設定 (06-kdump-master.yaml
)
kdump ワーカーノード用に推奨される設定 (06-kdump-worker.yaml
)
6.7.6. CRI-O キャッシュの自動ワイプを無効にする リンクのコピーリンクがクリップボードにコピーされました!
制御されていないホストのシャットダウンまたはクラスターの再起動の後、CRI-O は CRI-O キャッシュ全体を自動的に削除します。そのため、ノードの再起動時にはすべてのイメージがレジストリーからプルされます。これにより、許容できないほど復元に時間がかかったり、復元が失敗したりする可能性があります。GitOps ZTP を使用してインストールするシングルノード OpenShift クラスターでこの問題が発生しないようにするには、クラスターをインストールする際に CRI-O 削除キャッシュ機能を無効にします。
コントロールプレーンノードで CRI-O キャッシュワイプを無効にするために推奨される MachineConfig
CR (99-crio-disable-wipe-master.yaml
)
ワーカーノードで CRI-O キャッシュワイプを無効にするために推奨される MachineConfig
CR (99-crio-disable-wipe-worker.yaml
)
6.7.7. crun をデフォルトのコンテナーランタイムに設定 リンクのコピーリンクがクリップボードにコピーされました!
次の ContainerRuntimeConfig
カスタムリソース (CR) は、コントロールプレーンおよびワーカーノードのデフォルト OCI コンテナーランタイムとして crun を設定します。crun コンテナーランタイムは高速かつ軽量で、メモリーフットプリントも小さくなります。
パフォーマンスを最適化するには、シングルノード OpenShift、3 ノード OpenShift、および標準クラスターのコントロールプレーンとワーカーノードで crun を有効にします。CR 適用時にクラスターが再起動するのを回避するには、GitOps ZTP の追加の Day 0 インストール時マニフェストとして変更を適用します。
コントロールプレーンノード用に推奨される ContainerRuntimeConfig
(enable-crun-master.yaml
)
ワーカーノード用に推奨される ContainerRuntimeConfig
(enable-crun-worker.yaml
)
6.7.8. TPM と PCR の保護によるディスク暗号化の有効化 リンクのコピーリンクがクリップボードにコピーされました!
SiteConfig
カスタムリソース (CR) の diskEncryption
フィールドを使用して、Trusted Platform Module (TPM) と Platform Configuration Register (PCR) 保護によるディスク暗号化を設定できます。
SiteConfig
CR を設定すると、クラスターのインストール時にディスク暗号化が有効になります。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。 - 「TPM と PCR の保護によるディスク暗号化について」セクションを確認した。
手順
SiteConfig
CR のspec.clusters.diskEncryption
フィールドを設定します。PCR の保護によるディスク暗号化を有効にする際に推奨される
SiteConfig
CR の設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、TPM と PCR の保護によるディスク暗号化が有効になっていることを確認します。
clevis luks list -d <disk_path>
$ clevis luks list -d <disk_path>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<disk_path>
は、ディスクへのパスに置き換えます。たとえば、/dev/sda4
です。
出力例
1: tpm2 '{"hash":"sha256","key":"ecc","pcr_bank":"sha256","pcr_ids":"1,7"}'
1: tpm2 '{"hash":"sha256","key":"ecc","pcr_bank":"sha256","pcr_ids":"1,7"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow