OpenShift導入用のクラウドネイティブルーターのHelmチャートのカスタマイズ
ジュニパークラウドネイティブルーターは、L2、L3、またはL2-L3モードで展開および運用できます。導入前に values.yaml ファイル内の適切な属性を編集して、導入モードを設定します。
-
values.yamlファイルのfabricInterfaceキーで:-
すべてのインターフェイスに
interface_modeキーが設定されている場合、導入モードはL2になります。 -
1つ以上のインターフェイスに
interface_modeキーが設定されていて、残りのインターフェイスにinterface_modeキーが設定されている場合、導入モードはL2-L3になります。 -
どのインターフェイスにも
interface_modeキーが設定されていない場合、導入モードはL3になります。
-
Juniper_Cloud_Native_Router_release-number/helmchart/values.yaml ファイルを使用して Helm チャートをカスタマイズします。helm chartの設定キーを以下の表に示します。
OpenShift デプロイメントの Helm チャートの説明
ジュニパー_Cloud_Native_Router_<release>/helmchart/jcnr/values.yamlファイルを使用して、Helmチャートをカスタマイズします。Cloud-Native RouterのデフォルトHelmチャートにデフォルト値.yamlのコピーを提供します。
表 1 に、OpenShift デプロイメント用の values.yaml の設定可能な属性の説明を示します。
| カギ | 説明 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| グローバル | |||||||||
| Syslogのインストール | trueに設定してsyslog-ngをインストールします。 | ||||||||
| jcnrDeploymentMode | 適用外 | ||||||||
| レジストリ | Cloud-Native RouterコンテナイメージのDockerレジストリを定義します。デフォルト値は enterprise-hub.juniper.netです。tarballで提供されるイメージには、デフォルトのレジストリ名がタグ付けされています。コンテナーイメージをプライベートレジストリにホストすることを選択した場合は、デフォルト値をレジストリURLに置き換えます。 |
||||||||
| リポジトリ | (オプション)Cloud-Native Routerコンテナイメージのリポジトリパスを定義します。これは、commonセクションの下のrepositoryパスよりも優先されるグローバルキーです。デフォルトはjcnr-container-prod/です。 |
||||||||
| imagePullSecret | (オプション)Dockerレジストリの認証資格情報を定義します。資格情報は、ジュニパーネットワークス enterprise-hub.juniper.net レジストリまたはプライベートレジストリのいずれかに構成できます。 | ||||||||
| レジストリ資格情報 | Docker レジストリ資格情報の Base64 表現。詳細については、「 リポジトリ資格情報の設定 」を参照してください。 | ||||||||
| secretName | 作成されるシークレットオブジェクトの名前。 | ||||||||
| kubevirt | DPDK 対応 KubeVirt ベースの VM の vhost-user インターフェイスのサポートを有効にします。 | ||||||||
| リポジトリ | KubeVirtベースのVMのネットワークバインディングを設定するために必要なサイドカーイメージのリポジトリパスを定義します。 | ||||||||
| タグ | イメージタグを定義します。デフォルト値は、Cloud-Native Routerのリリースバージョンに適したタグ番号に設定されます。 | ||||||||
| Contrailツール | すべてのvRouterツールとCLIコマンドを一元的に保管できるcontrail-toolsコンテナを導入します。 | ||||||||
| インストール | contrail-tools コンテナをインストールするには、true に設定します。 | ||||||||
| 共通 | さまざまなCloud-Native Routerコンテナイメージのリポジトリパスとタグを定義します。プライベートレジストリを使用しない限り、デフォルトを使用します。 | ||||||||
| リポジトリ | リポジトリパスを定義します。デフォルト値は jcnr-container-prod/です。グローバルリポジトリキーが定義されている場合に優先されます。 |
||||||||
| タグ | イメージタグを定義します。デフォルト値は、Cloud-Native Routerのリリースバージョンに適したタグ番号に設定されます。 | ||||||||
| 準備状況チェック | trueに設定すると、インストール中にCloud-Native Routerの準備状況のプリフライトチェックとポストフライトチェックが有効になります。これをコメントアウトするか、falseに設定して、Cloud-Native Routerの準備状況のプリフライトチェックとポストフライトチェックを無効にします。 プリフライトチェックでは、インフラストラクチャがJCNRをサポートできることを確認します。プリフライトチェックは、Cloud-Native Routerをインストールする前に行われます。 ポストフライトチェックでは、Cloud-Native Routerのインストールが正しく動作していることを確認します。事後チェックは、Cloud-Native Routerのインストール後に行われます。 クラウドネイティブルーターの準備状況チェックを参照してください。 |
||||||||
| レプリカ | (オプション)cRPDのレプリカ数を示します。デフォルトは1です。このキーの値は、マルチノードクラスターに指定する必要があります。この値は、JCNRを実行しているノードの数に等しくなります。 | ||||||||
| iamロール | 該当なし。 | ||||||||
| ファブリックインターフェイス | 複数のインターフェイスからトラフィックを受信する集約されたインターフェイス。ファブリックインターフェイスは常に物理インターフェイスです。これらは、物理機能(PF)または仮想機能(VF)のいずれかです。これらのインターフェイスのスループット要件が高くなるため、複数のハードウェアキューが割り当てられます。各ハードウェア キューには専用の CPU コアが割り当てられます。詳細については、 クラウドネイティブルーターインターフェイス の概要を参照してください。 このフィールドは、DPDKにバインドされるファブリックインターフェイスのリストを提供するために使用します。インターフェイス名の代わりにサブネットを指定することもできます。インターフェイス名とサブネットの両方が指定されている場合、インターフェイス名がサブネット/ゲートウェイの組み合わせよりも優先されます。サブネットとゲートウェイの組み合わせは、マルチノードクラスターでインターフェイス名が異なる場合に便利です。
注:
次に例を示します。 # L2 only
- eth1:
ddp: "auto"
interface_mode: trunk
vlan-id-list: [100, 200, 300, 700-705]
native-vlan-id: 100 # L3 only
- eth1:
ddp: "off" # L2L3
- eth1:
ddp: "auto"
- eth2:
ddp: "auto"
interface_mode: trunk
vlan-id-list: [100, 200, 300, 700-705]
native-vlan-id: 100 |
||||||||
| サブネット | インターフェイス名への入力の代替モード。次に例を示します。 - subnet: 10.40.1.0/24 gateway: 10.40.1.1 ddp: "off"
|
||||||||
| DDP | (オプション)インターフェイスレベルの動的デバイスパーソナライゼーション(DDP)設定を示します。DDPは、GTPU、SCTPなどのトラフィックに対してNICでデータパス最適化を提供します。ボンディングインターフェイスの場合、DDP設定を有効にするには、すべてのスレーブインターフェイスNICがDDPをサポートしている必要があります。詳細については、「 個々のインターフェイスでの動的デバイスパーソナライゼーション(DDP)の有効化 」を参照してください。 オプションには、自動、オン、オフなどがあります。デフォルトはオフです。
注:
インターフェイスレベルの |
||||||||
| interface_mode | L2インターフェイス用に interface_mode: trunk |
||||||||
| vlan-id-list | インターフェイスに関連付けられたVLAN IDのリストを指定します。 |
||||||||
| ネイティブvlan-id |
fabricInterface:
- bond0:
interface_mode: trunk
vlan-id-list: [100, 200, 300]
native-vlan-id: 100 詳細については 、「ネイティブVLAN」 を参照してください。 |
||||||||
| qosSchedulerプロファイル名 | このインターフェイスに適用可能な QoS スケジューラ プロファイルを指定します。 プロファイルを指定しない場合、このインターフェイスの QoS スケジューラは無効になり、パケットはトラフィック クラスに関係なくスケジューリングされます。 |
||||||||
| fabricWorkloadインタフェース | (オプション)さまざまなワークロードが接続されるインターフェイスを定義します。ソフトウェアベースまたはハードウェアベースのインターフェイスにすることができます。 | ||||||||
| log_level | ログの重大度を定義します。使用可能な値オプションは、DEBUG、INFO、WARN、ERR です。
注:
ジュニパーネットワークスのサポートから変更の指示がない限り、デフォルトのINFOに設定したままにしてください。 |
||||||||
| log_path | 定義されたディレクトリには、 contrail-vrouter-agent.log、 contrail-vrouter-dpdk.logなど、さまざまなJCNR関連の記述ログが格納されます。デフォルトは /var/log/jcnr/ です。 |
||||||||
| syslog_notifications | 生成された通知をJSON形式で保存するファイルへの絶対パス |
||||||||
| コアパターン | コアファイルの
注:
JCNRを展開する前に、ホストに |
||||||||
| コアファイルパス | coreファイルへのパスを示します。デフォルトは /var/crash です。 |
||||||||
| ノードアフィニティ | (オプション)ノードのラベルを定義して、vRouterポッドの配置場所を決定します。 デフォルトでは、vRouterポッドはクラスターのすべてのノードにデプロイされます。 以下の例では、ノード アフィニティ ラベルは nodeAffinity: - key: key1 operator: In values: - jcnr OCP設定では、ワーカーノードでのみCloud-Native Routerを起動するようにノードアフィニティを設定する必要があります。次に例を示します。 nodeAffinity:
- key: node-role.kubernetes.io/worker
operator: Exists
- key: node-role.kubernetes.io/master
operator: DoesNotExist
注:
このキーはグローバル設定です。 |
||||||||
| キー | ノードアフィニティを適用するために一致させる必要があるノードラベルを表すキーと値のペア。 | ||||||||
| 運用担当者 | ノードラベルと、Pod仕様のmatchExpressionパラメーター内の値セットとの関係を定義します。この値は、In、NotIn、Exists、DoesNotExist、lt、または gt です。 | ||||||||
| 許容誤差 | (オプション)JCNR ポッドを特定のテイントを持つノードに配置できる容認を定義します。 以下の例では、公差は tolerations:
- key: "jcnr"
operator: "Equal"
value: "yes"
effect: "NoSchedule"
注:
これはグローバルな設定です。 |
||||||||
| キー | 許容値を表すキーと値のペアのキー部分。 | ||||||||
| 運用担当者 | 許容範囲とテイントの一致条件を定義します。有効な値は、存在と等しいです。 | ||||||||
| 値 | 許容値を表すキーと値のペアの値部分。フィールドは、運用担当者が「等しい」の場合にのみ存在します。 | ||||||||
| 効果 | 許容範囲がテイントに一致しない場合の影響を定義します。有効な値は、NoExecute、NoSchedule、PreferNoSchedule です。 | ||||||||
| cni_bin_dir | Red Hat OpenShift の場合、このフィールドを空白のままにしないでください。OCPデプロイメントのデフォルトパスである /var/lib/cni/binに設定します。 | ||||||||
| grpcTelemetryPort | (オプション)このパラメーターの値を入力して、cRPDテレメトリgRPCサーバーのデフォルトポート50053を上書きします。 |
||||||||
| grpcVrouterポート | (オプション)デフォルトは50052です。上書きするように設定します。 | ||||||||
| vRouterDeployerPort | (オプション)デフォルトは 8081 です。上書きするように設定します。 | ||||||||
| JCNR-vRouter | |||||||||
| cpu_core_mask | 存在する場合、これは静的なCPU割り当てを使用して、転送プレーンにコアを割り当てることを示しています。 この値は、転送プレーンに静的に割り当てる分離されたCPUコアのカンマ区切りのリストである必要があります(例: Kubernetes CPUマネージャーを使用してコアを転送プレーンに割り当てる場合は、コメントアウトしてください。
注:
静的なCPU割り当てとKubernetes CPUマネージャーを同時に使用することはできません。Cloud-Native Routerの準備状況プリフライトチェックが有効になっている場合、両方を指定するとインストールに失敗します。 |
||||||||
| 保証された VrouterCpu | 存在する場合、これは、Kubernetes CPU マネージャーまたは Nokia CPU プーラー(シングルポッド導入のみ)を使用して、CPU コアを転送プレーンに割り当てることを示しています。 この値は、Kubernetes CPU Manager が転送プレーンに割り当てる保証された CPU コアの数である必要があります。この値は、転送コアの数より少なくとも1つ多く設定する必要があります。 静的なCPU割り当てを使用して転送プレーンにコアを割り当てたい場合は、これをコメントアウトしてください。
注:
静的なCPU割り当てとKubernetes CPUマネージャーを同時に使用することはできません。両方を指定するとインストールは失敗します。 |
||||||||
| dpdkCtrlThreadMask | 静的CPU割り当てを使用する場合に、vRouter DPDK制御スレッドに割り当てるCPUコアを指定します。このリストは、 Kubernetes CPUマネージャーを使用してコアを転送プレーンに割り当てる場合は、コメントアウトしてください。 |
||||||||
| serviceCoreMask | 静的CPU割り当てを使用する場合に、vRouter DPDKサービススレッドに割り当てるCPUコアを指定します。このリストは、 Kubernetes CPUマネージャーを使用してコアを転送プレーンに割り当てる場合は、コメントアウトしてください。 |
||||||||
| numServiceCtrlThreadCPU | Kubernetes CPUマネージャーを使用するときに、vRouter DPDKサービス/制御トラフィックに割り当てるCPUコア数を指定します。 この数は、 静的なCPU割り当てを使用して転送プレーンにコアを割り当てたい場合は、これをコメントアウトしてください。 |
||||||||
| numberOfSchedulerLコア数 | Kubernetes CPU ManagerをQoSスケジューラ専用にするCPUコアの数(最大4つ)。静的なCPU割り当てを使用して転送プレーンにコアを割り当てたい場合は、これをコメントアウトしてください。 | ||||||||
| 復元インターフェイス | vRouterポッドがクラッシュまたは再起動した場合、またはCloud-Native Routerがアンインストールされた場合に、インターフェイスを元の状態に戻すには、trueに設定します。 | ||||||||
| bondInterfaceConfigs | (オプション)L2またはL2-L3の導入に対してのみ、ボンディングインターフェイス設定を有効にします。 | ||||||||
| 名前 | ボンディングインターフェイスの名前。 | ||||||||
| モード | 1(アクティブバックアップ)に設定します。 | ||||||||
| スレーブインターフェイス | ボンディングするファブリックインターフェイスのリスト | ||||||||
| プライマリインターフェイス | (オプション)ボンディングのプライマリインターフェイス。 |
||||||||
| slaveNetworkの詳細 |
該当なし。 | ||||||||
| MTU | すべての物理インターフェイス(VFおよびPF)の最大送信単位(MTU)値。デフォルトは9000です。 | ||||||||
| qosSchedulerプロファイル | fabricInterfaceセクションから参照されるQoSスケジューラプロファイルを定義します。 |
||||||||
| sched_profile_1 | QoS スケジューラ プロファイルの名前。 | ||||||||
|
|||||||||
| dpdkCommandAdditionalArgs | 追加のDPDKコマンドラインパラメーターを渡します。この dpdkCommandAdditionalArgs: "--yield_option 0 --dpdk_txd_sz 2048 --dpdk_rxd_sz 2048 --vr_mempool_sz 131072"
注:
OpenShift ノードでヒュージページを設定する方法については、OpenShift デプロイメントのシステム要件の表 3 を、Cloud-Native Router vRouter が使用するヒュージページの数を設定する方法については、使用するヒュージページの数を設定するを参照してください。 |
||||||||
| DDP | (オプション)グローバルな動的デバイスパーソナライゼーション(DDP)設定を示します。DDPは、GTPU、SCTPなどのトラフィックに対してNICでデータパス最適化を提供します。ボンディングインターフェイスの場合、DDP設定を有効にするには、すべてのスレーブインターフェイスNICがDDPをサポートしている必要があります。詳細については、「 個々のインターフェイスでの動的デバイスパーソナライゼーション(DDP)の有効化 」を参照してください。 オプションには、自動、オン、オフなどがあります。デフォルトはオフです。
注:
インターフェイスレベルの |
||||||||
| twampポート | (オプション)TWAMP セッション リフレクタ ポート(TWAMP セッションで vRouter タイムスタンプを使用する場合)。vRouterは、このポートでTWAMPテストメッセージをリッスンし、TWAMPテストメッセージにタイムスタンプを挿入/上書きします。(cRPD ではなく)vRouter で TWAMP メッセージをタイムスタンプすると、より正確な測定が可能になります。有効な値は、862 と 49152 から 65535 です。 このパラメータがない場合、vRouterはTWAMPセッションにタイムスタンプを挿入または上書きしません。タイムスタンプは、代わりにcRPDによって取得され、挿入されます。 TWAMP (Two-Way Active Measurement Protocol)を参照してください。 |
||||||||
| vrouter_dpdk_uio_driver | uioドライバは vfio-pciです。 |
||||||||
| agentModeType | dpdkに設定します。 |
||||||||
| fabricRpfCheckDisable(ファブリックRpfチェック無効化) | falseに設定すると、すべてのCloud-Native RouterファブリックインターフェイスでRPFチェックが有効になります。デフォルトでは、RPFチェックは無効になっています。 | ||||||||
| テレメトリ | (オプション)cRPD テレメトリ設定を構成します。テレメトリの詳細については、「 テレメトリ機能」 を参照してください。 |
||||||||
| 無効にする | true に設定すると、cRPD テレメトリが無効になります。デフォルトはfalseで、cRPDテレメトリがデフォルトで有効になっていることを意味します。 |
||||||||
| メトリックポート | cRPDテレメトリエクスポーターがPrometheusクエリーをリッスンしているポート。デフォルトは 8072 です。 |
||||||||
| ログレベル | warn、warning、info、debug、trace、verbose のいずれかです。デフォルトはinfoです。 |
||||||||
| GNMI | (オプション)cRPD gNMI設定を構成します。 |
||||||||
|
|||||||||
| vRouter | |||||||||
| テレメトリ | (オプション)vRouterのテレメトリ設定を構成します。テレメトリの詳細については、「 テレメトリ機能」 を参照してください。 |
||||||||
|
|||||||||
|
|||||||||
|
|||||||||
| persistConfig | アンインストール後もCloud-Native Routerポッド設定を保持する場合は、trueに設定します。このオプションは、L2モードの導入にのみ設定できます。デフォルトはfalseです。 | ||||||||
| enableLocalPersistence | cRPD CLIまたはNETCONFを使用してJCNRを設定している場合は、trueに設定します。trueに設定すると、ノードの再起動、cRPDポッドの再起動、クラウドネイティブルーターのアップグレードなど、cRPD CLIとNETCONFの設定は維持されます。デフォルトはfalseです。 | ||||||||
| 終了GracePeriodSeconds |
アンインストール中にインターフェイスをクリーンアップおよびバインド解除する vrouter のタイムアウトを指定します。デフォルトでは、タイムアウトは60秒です。JCNR が正常にアンインストールされない大規模なインストールの場合は、このタイムアウトを延長してください。 | ||||||||
| interfaceBoundType(Windriverセクション) | 該当なし。 | ||||||||
| networkDetails (Windriver セクション) | 該当なし。 | ||||||||
| networkResources (Windriver セクション) | 該当なし。 | ||||||||
| networkDetails(SinglePod JCNRモードセクション) | 該当なし。 | ||||||||
| networkResources(SinglePod JCNRモードセクション) | 該当なし。 | ||||||||
| enableServiceサービス | エージェントイントロスペクト、vrouterテレメトリ、cRPDテレメトリのサービスを公開するには、trueに設定します。 | ||||||||
| サービス | |||||||||
| タイプ | NodePort、ClusterIP、LoadBalancerに設定できます。 | ||||||||
| ラベル | (オプション)選択とグループ化に使用します。 | ||||||||
| 注釈 | (オプション)メタデータに使用します。 | ||||||||
| clusterIP | 有効なIPアドレスを設定して、ClusterIPサービスタイプを公開します。 | ||||||||
| 外部IP | ルーティング可能なIPアドレスを設定して、外部アクセス用にサービスを公開します。 | ||||||||
| ロードバランサIP | クラウドプロバイダでサポートされている場合は、LoadBalancerタイプのサービスのIPを設定します。 | ||||||||
| ノードポート | サービスタイプがNodePortの場合、このセクションを設定します。 | ||||||||
| crpdMetricsポート | crpdプロメテウスベースのテレメトリサービスを公開するためのポート番号を指定します。 | ||||||||
| vrouterメトリックポート | vRouter Prometheusベースのテレメトリサービスを公開するポート番号を指定します。 | ||||||||
| エージェントIntrospectPort | エージェントIntrospectサービスを公開するポート番号を指定します。 | ||||||||
| crpdGnmiPort | crpd gNMIベースのテレメトリサービスを公開するポート番号を指定します。 | ||||||||
| vrouterGnmiPort | gNMIベースのテレメトリサービスを公開するポート番号を指定します。 | ||||||||