パート VI Telco機能の設定 #
このセクションでは、SUSE Telco Cloud経由でデプロイされたクラスターにおけるTelco固有機能の設定について説明します。
自動プロビジョニング (パートVII「完全自動化されたダイレクトネットワークプロビジョニング」)セクションで説明されているように、ダイレクトネットワークプロビジョニングのデプロイメント方法が使用されます。
このセクションの構成は次のとおりです。
リアルタイム用カーネルイメージ (第34章 「リアルタイム用カーネルイメージ」):リアルタイムカーネルで使用するカーネルイメージ。
低レイテンシおよび高性能のためのカーネル引数 (第35章 「低レイテンシおよび高性能のためのカーネル引数」):Telcoワークロードを実行する際のパフォーマンスを最大化し、レイテンシを低減するために使用するカーネル引数。
ホストでのCPUピニング (第36章 「ホストでのCPU固定」):カーネル引数とTuneDプロファイルによるCPUの分離。
KubernetesでのCPUピニング (第37章 「KubernetesにおけるCPUピニング」):Kubelet設定によるKubernetes上でのCPUの分離。
CNI設定 (第38章 「CNI構成」):Kubernetesクラスターで使用するCNI設定。
SR-IOV設定 (第39章 「SR-IOV」):Kubernetesワークロードで使用するSR-IOV設定。
DPDK設定 (第40章 「DPDK」):システムで使用するDPDK設定。
vRANアクセラレーション (第41章 「vRANアクセラレーション(
Intel ACC100/VRB1/VRB2)」):vRANアクセラレーションカードへのFECアルゴリズム計算のオフロード。Huge pages (第42章 「ヒュージページ」):Kubernetesワークロードで使用するHuge pages設定。
NUMA対応スケジューリング設定 (第43章 「NUMA対応スケジューリング」):Kubernetesワークロードで使用するNUMA対応スケジューリング設定。
Metal LB設定 (第44章 「Metal LB」):Kubernetesワークロードで使用するMetal LB設定。
プライベートレジストリ設定 (第45章 「プライベートレジストリの設定」):Kubernetesワークロードで使用するプライベートレジストリ設定。
Precision Time Protocol設定 (第46章 「高精度時刻同期プロトコル (PTP)」):PTP Telcoプロファイルを実行するための設定ファイル。
SCTP設定 (第47章 「SCTP - ストリーム制御伝送プロトコル」):LinuxカーネルIPスタックでSCTPレイヤーを有効にします。
- 34 リアルタイム用カーネルイメージ
リアルタイムカーネルイメージが標準カーネルより優れているとは限りません。 これは特定のユースケースに合わせて調整された別のカーネルです。リアルタイムカーネルは、スループットを犠牲にして低遅延を実現するように調整されています。リアルタイムカーネルは汎用用途には推奨されませんが、Telcoワークロードにおいて遅延が重要な要因となる場合には、推奨されるカーネルです。
- 35 低レイテンシおよび高性能のためのカーネル引数
適切なカーネル引数を設定することは、パフォーマンスの最適化、低レイテンシの実現、およびTelcoワークロード向けのクラスタ展開を成功させるために不可欠です。一部のパラメータはリアルタイムカーネルが最適に機能するように特別に設計されていますが、このセクションはRTカーネルとデフォルトカーネルの両方の構成に適用されます。さらに、Directed Network Provisioning方式を使用してダウンストリームのクラスタノードを正常に展開するには、特定の引数が必須となります。
- 36 ホストでのCPU固定
CPUピニング(プロセッサアフィニティとも呼ばれます)は、プロセスやスレッドを特定のCPUコアにバインドし、オペレーティングシステムのスケジューラによる移動を防ぐ手法です。プロセスが常に同じコアで実行されるようにすることで、そのコアのキャッシュメモリに残っているデータへのアクセスが高速になるという利点があります。この手法は、ハイパフォーマンスコンピューティング環境で一般的であり、パフォーマンスを劇的に向上させ、オーバーヘッドを削減します。
- 37 KubernetesにおけるCPUピニング
RKE2設定ファイルを編集して、RKE2クラスターでCPUピニングを有効にします。`/etc/rancher/rke2/config.yaml`ファイルに以下のkubelet引数を追加します。`kubelet-reserved`および`system-reserved`引数でハウスキーピングCPUコアを必ず指定してください:
- 38 CNI構成
Cilium`は、SUSE Telco CloudのデフォルトのCNIプラグインです。 RKE2クラスターでCiliumをデフォルトのプラグインとして有効にするには、/etc/rancher/rke2/config.yaml`ファイルに以下の構成が必要です。- 39 SR-IOV
SR-IOV(Single Root I/O Virtualization)を使用すると、ネットワークアダプターなどの単一の物理デバイスが、そのリソースを複数の`PCIe`ハードウェア関数に分離できます。これにより、さまざまなアプリケーションがリソースに直接アクセスできるようになります。
- 40 DPDK
DPDK(Data Plane Development Kit)は、高速なパケット処理のためのライブラリおよびドライバーのセットです。これは、さまざまなCPUアーキテクチャで実行されるパケット処理ワークロードを高速化するために使用されます。 DPDKには、データプレーンライブラリと、以下に対する最適化されたネットワークインタフェースコントローラ(NIC)ドライバーが含まれています。- 41 vRANアクセラレーション(
Intel ACC100/VRB1/VRB2) 通信サービスプロバイダーが4Gから5Gネットワークへ移行するにつれ、多くのプロバイダーが、より高いチャネル容量と、エッジベースのサービスやアプリケーションの容易な展開を実現するために、仮想化無線アクセスネットワーク(vRAN)アーキテクチャを採用しています。vRANソリューションは、リアルタイムトラフィックの量やネットワーク上の需要に基づいて容量を増減できる柔軟性を備え、低遅延サービスを提供するのに理想的な位置にあります。
- 42 ヒュージページ
プロセスが
RAMを使用する場合、CPUはそれをそのプロセスによって使用されているものとしてマークします。効率化のため、CPUはRAMをチャンク単位で割り当てます。4Kバイトが多くのプラットフォームでのデフォルト値です。それらのチャンクはページと呼ばれます。ページはディスクなどにスワップアウトされる可能性があります。- 43 NUMA対応スケジューリング
Non-Uniform Memory Access(不均一メモリアクセス)またはNon-Uniform Memory Architecture(
NUMA)は、SMP(マルチプロセッサ)アーキテクチャで使用される物理メモリ設計であり、メモリへのアクセス時間はプロセッサに対するメモリの場所によって異なります。`NUMA`では、プロセッサは非ローカルメモリ(別のプロセッサのローカルメモリやプロセッサ間で共有されるメモリ)よりも、自身のローカルメモリに高速にアクセスできます。- 44 Metal LB
`MetalLB`は、`L2`や`BGP`などの標準的なルーティングプロトコルをアドバタイズメントプロトコルとして使用する、ベアメタルKubernetesクラスター向けのロードバランサー実装です。これは、ベアメタル環境でKubernetesサービスのタイプ`LoadBalancer`を使用する必要があるため、Kubernetesクラスター内のサービスを外部に公開するために使用できるネットワークロードバランサーです。
- 45 プライベートレジストリの設定
`Containerd`は、プライベートレジストリに接続し、それを使用して各ノードでプライベートイメージをプルするように設定できます。
- 46 高精度時刻同期プロトコル (PTP)
高精度時刻同期プロトコル (PTP) は、コンピュータネットワーク内でサブマイクロ秒単位の時刻同期を実現するために、米国電気電子学会 (IEEE) によって開発されたネットワークプロトコルです。PTPは、その誕生以来、数十年にわたって多くの業界で使用されてきました。近年では、5Gネットワークに不可欠な要素として、通信ネットワークでの採用が拡大しています。比較的単純なプロトコルですが、その構成はアプリケーションによって大きく異なる場合があります。このため、複数のプロファイルが定義され、標準化されています。
- 47 SCTP - ストリーム制御伝送プロトコル