OpenShiftデプロイメント用のCloud-Native Router Helmチャートのカスタマイズ
Juniper Cloud-Native Routerは、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 チャートの構成キーを以下の表に示します。
OpenShift デプロイメントの Helm チャートの説明
Juniper_Cloud_Native_Router_<release>/helmchart/jcnr/values.yaml ファイルを使用して Helm チャートをカスタマイズします。デフォルトのvalues.yamlのコピーは、「Cloud-Native RouterのデフォルトHelmチャート」で提供しています。
表 1 には、OpenShift デプロイメントの values.yaml で設定可能な属性の説明が含まれています。
| キー | の説明 | ||||||
|---|---|---|---|---|---|---|---|
| グローバル | |||||||
| インストールSyslog | syslog-ng をインストールするには、true に設定します。 | ||||||
| 記帳 | Cloud-Native Routerコンテナ・イメージのDockerレジストリを定義します。デフォルト値は enterprise-hub.juniper.net です。tarball で提供されるイメージは、デフォルトのレジストリ名でタグ付けされます。コンテナー イメージをプライベート レジストリにホストする場合は、既定値をレジストリ URL に置き換えます。 |
||||||
| リポジトリ | (オプション)Cloud-Native Routerコンテナ・イメージのリポジトリ・パスを定義します。これは、commonセクションのrepositoryパスより優先されるグローバルキーです。デフォルトはjcnr-container-prod/です。 |
||||||
| imagePullSecret (英語) | (オプション)Docker レジストリー認証資格情報を定義します。資格情報は、Juniper Networks enterprise-hub.juniper.net レジストリまたはプライベートレジストリのいずれかに構成できます。 | ||||||
| registryCredentials | Docker レジストリ資格情報の Base64 表現。詳細は、 リポジトリ資格証明の構成 を参照してください。 | ||||||
| secretName (シークレット名) | 作成されるシークレットオブジェクトの名前。 | ||||||
| コモン | さまざまなCloud-Native Routerコンテナイメージのリポジトリパスとタグを定義します。プライベートレジストリを使用しない限り、defaultを使用します。 | ||||||
| リポジトリ | リポジトリ パスを定義します。デフォルト値は jcnr-container-prod/ です。グローバルリポジトリキーが定義されている場合、優先されます。 |
||||||
| タグ | イメージ タグを定義します。デフォルト値は、Cloud-Native Routerのリリースバージョンに適したタグ番号に設定されています。 | ||||||
| readinessチェック | インストール中にCloud-Native Router Readinessプリフライトおよびポストフライトチェックを有効にするには、trueに設定します。これをコメントアウトするか、falseに設定して、Cloud-Native Routerの準備状況のプリフライトチェックとポストフライトチェックを無効にします。 プリフライト チェックでは、インフラストラクチャが JCNR をサポートできることを確認します。プリフライトチェックは、Cloud-Native Routerをインストールする前に実行されます。 フライト後のチェックでは、Cloud-Native Routerのインストールが正しく機能していることを確認します。ポストフライト・チェックは、Cloud-Native Routerのインストール後に実行されます。 |
||||||
| レプリカ | (オプション)cRPDのレプリカの数を示します。既定値は 1 です。このキーの値は、マルチノードクラスターに対して指定する必要があります。この値は、JCNR を実行しているノードの数と等しくなります。 | ||||||
| noLocalSwitching | (オプション)ブリッジ ドメイン内のインターフェイスによるイーサネット フレーム コピーの送受信を防ぎます。VLAN ID に属するインターフェイスが互いにフレームを送信しないようにするために、1 つ以上の VLAN ID をカンマで区切って入力します。このキーは、L2 および L2-L3 展開に固有です。このキーを有効にすると、すべてのアクセス インターフェイスで機能が提供されます。トランク インターフェイスでこの機能を有効にするには、fabricInterface で no-local-switching を設定します。詳細については、「ローカル スイッチングの防止」を参照してください。 |
||||||
| iamロール | 該当なし。 | ||||||
| ファブリックインターフェイス | 複数のインターフェイスからトラフィックを受信する集約されたインターフェイス。ファブリックインターフェイスは常に物理インターフェイスです。それらは、物理機能 (PF) または仮想機能 (VF) のいずれかです。これらのインターフェイスのスループット要件はより高いため、複数のハードウェア キューが割り当てられます。各ハードウェア キューには、専用の CPU コアが割り当てられます。詳細については、 Cloud-Native Routerインターフェイスの概要 を参照してください。 このフィールドを使用して、DPDK にバインドするファブリック インターフェイスの一覧を提供します。インターフェイス名の代わりにサブネットを指定することもできます。インターフェイス名とサブネットの両方が指定されている場合、インターフェイス名がサブネット/ゲートウェイの組み合わせよりも優先されます。サブネット/ゲートウェイの組み合わせは、マルチノード クラスタでインターフェイス名が異なる場合に便利です。
手記:
例えば: # L2 only
- eth1:
ddp: "auto"
interface_mode: trunk
vlan-id-list: [100, 200, 300, 700-705]
storm-control-profile: rate_limit_pf1
native-vlan-id: 100
no-local-switching: true # L3 only
- eth1:
ddp: "off" # L2L3
- eth1:
ddp: "auto"
- eth2:
ddp: "auto"
interface_mode: trunk
vlan-id-list: [100, 200, 300, 700-705]
storm-control-profile: rate_limit_pf1
native-vlan-id: 100
no-local-switching: true |
||||||
| サブネット | インターフェイス名を入力する代替モード。例えば: - subnet: 10.40.1.0/24 gateway: 10.40.1.1 ddp: "off"
|
||||||
| DDPの | (オプション)インターフェイスレベルのDDP(Dynamic Device Personalization)設定を示します。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]
storm-control-profile: rate_limit_pf1
native-vlan-id: 100 詳細については、「 ネイティブ VLAN 」を参照してください。 |
||||||
| no-local-switching | 設定時にインターフェイス同士が直接通信することを防ぎます。使用できる値は true または false です。詳細については、「 ローカル スイッチングの防止 」を参照してください。 | ||||||
| qosSchedulerProfileName (qosSchedulerプロファイル名) | このインターフェイスに適用可能な QoS スケジューラ プロファイルを指定します。「 プロファイルを指定しない場合、このインターフェイスの QoS スケジューラは無効になり、パケットはトラフィック クラスに関係なくスケジューリングされます。 |
||||||
| fabricワークロードインターフェイス | (オプション)さまざまなワークロードが接続されるインターフェイスを定義します。インターフェイスには、ソフトウェアベースまたはハードウェアベースのものがあります。 | ||||||
| log_level | ログの重大度を定義します。使用可能な値オプションは、DEBUG、INFO、WARN、および ERR です。
手記:
ジュニパーネットワークスのサポートから変更するように指示されない限り、デフォルトのINFOに設定したままにしておきます。 |
||||||
| log_path | 定義されたディレクトリには、 contrail-vrouter-agent.log、 contrail-vrouter-dpdk.logなど、JCNR関連のさまざまな記述ログが格納されます。デフォルトは /var/log/jcnr/ です。 |
||||||
| syslog_notifications | 生成された |
||||||
| コアパターン | コア・ファイルの
手記:
JCNRを展開する前に、ホストに |
||||||
| coreFileパス | coreファイルへのパスを示します。デフォルトは /var/crash です。 |
||||||
| nodeAffinity | (オプション)ノードのラベルを定義して、vRouter Pod を配置する場所を決定します。 デフォルトでは、vRouter Pod はクラスタのすべてのノードにデプロイされます。 以下の例では、ノードアフィニティラベルは 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
手記:
このキーはグローバル設定です。 |
||||||
| 鍵 | ノード アフィニティを適用するために一致する必要があるノード ラベルを表すキーと値のペア。 | ||||||
| 演算子 | ノードラベルと、ポッド仕様の matchExpression パラメーターの値のセットとの関係を定義します。この値には、In、NotIn、Exists、DoesNotExist、Lt、または Gt を指定できます。 | ||||||
| 容認 | (オプション)JCNR Pod を特定のテイントを持つノードに配置できるようにする容認を定義します。 次の例では、容認は tolerations:
- key: "jcnr"
operator: "Equal"
value: "yes"
effect: "NoSchedule"
手記:
これはグローバル設定です。 |
||||||
| 鍵 | 容認を表すキーと値のペアのキー部分。 | ||||||
| 演算子 | 容認とテイントの一致条件を定義します。有効な値は Exists と Equal です。 | ||||||
| 価値 | 容認を表すキーと値のペアの値部分。フィールドは、演算子が Equal の場合にのみ存在します。 | ||||||
| 影響 | 容認がテイントと一致しない場合の効果を定義します。有効な値は、NoExecute、NoSchedule、および PreferNoSchedule です。 | ||||||
| cni_bin_dir | Red Hat OpenShift の場合は、このフィールドを空のままにしないでください。/ var/lib/cni/bin に設定します。これは、すべての OCP デプロイメントのデフォルトパスです。 | ||||||
| grpcTelemetryPort | (オプション)このパラメーターの値を入力して、cRPD テレメトリ gRPC サーバーのデフォルト ポート 50053 を上書きします。 |
||||||
| grpcVrouterPort | (オプション)既定値は 50052 です。上書きするように設定します。 | ||||||
| vRouterDeployerPort | (オプション)デフォルトは 8081 です。上書きするように設定します。 | ||||||
| jcnr-vrouter | |||||||
| cpu_core_mask | 存在する場合は、静的 CPU 割り当てを使用してコアを転送プレーンに割り当てることを示します。 この値は、転送プレーンに静的に割り当てる分離された CPU コアのコンマ区切りリストである必要があります (例: Kubernetes CPU Manager を使用してコアを転送プレーンに割り当てる場合は、これをコメントアウトします。
手記:
静的 CPU 割り当てと Kubernetes CPU Manager を同時に使用することはできません。Cloud-Native Router 準備状況プリフライト チェックが有効になっている場合、両方を指定するとインストールは失敗します。 |
||||||
| 保証型VrouterCPU | 存在する場合は、Kubernetes CPU マネージャーを使用して CPU コアを転送プレーンに割り当てることを示します。 この値は、Kubernetes CPU Manager が転送プレーンに割り当てる保証された CPU コアの数である必要があります。この値は、転送コアの数より少なくとも 1 つ多い値に設定する必要があります。 静的 CPU 割り当てを使用してコアを転送プレーンに割り当てる場合は、これをコメント アウトします。
手記:
静的 CPU 割り当てと Kubernetes CPU Manager を同時に使用することはできません。両方を指定すると、インストールは失敗します。 |
||||||
| dpdkCtrlスレッドマスクdpdkCtrlThreadMask | 静的 CPU 割り当てを使用する場合に、vRouter DPDK 制御スレッドに割り当てる CPU コアを指定します。このリストは、
Kubernetes CPU Manager を使用してコアを転送プレーンに割り当てる場合は、これをコメントアウトします。 |
||||||
| serviceCoreMask (サービスコアマスク) | 静的CPU割り当てを使用する場合に、vRouter DPDKサービススレッドに割り当てるCPUコアを指定します。このリストは、
Kubernetes CPU Manager を使用してコアを転送プレーンに割り当てる場合は、これをコメントアウトします。 |
||||||
| numServiceCtrlスレッドCPU | Kubernetes CPU Manager使用時に、vRouter DPDKサービス/制御トラフィックに割り当てるCPUコア数を指定します。 この数は、 静的 CPU 割り当てを使用してコアを転送プレーンに割り当てる場合は、これをコメント アウトします。 |
||||||
| numberOfSchedulerLcores | Kubernetes CPU Manager で QoS スケジューラ専用にする CPU コアの数 (最大 4)。静的 CPU 割り当てを使用してコアを転送プレーンに割り当てる場合は、これをコメント アウトします。 | ||||||
| インターフェイスの復元 | vRouter Podがクラッシュまたは再起動した場合、またはCloud-Native Routerがアンインストールされた場合にインターフェイスを元の状態に戻すには、trueに設定します。 | ||||||
| bondInterfaceConfigs (ボンドインターフェイス設定) | (オプション)L2 または L2-L3 展開でのみボンディングインターフェイス設定を有効にします。 | ||||||
| 名前 | ボンディング・インターフェースの名前。 | ||||||
| モード | 1 (アクティブ バックアップ) に設定します。 | ||||||
| スレーブインターフェイス | ボンディングするファブリックインターフェイスのリスト。 | ||||||
| プライマリインターフェイス | (オプション)ボンディングのプライマリインターフェイス。 |
||||||
| slaveNetwork詳細 |
該当なし。 | ||||||
| MTU | すべての物理インターフェイス(VFおよびPF)のMTU(最大伝送単位)値。デフォルトは 9000 です。 | ||||||
| qosSchedulerプロファイル | fabricInterface セクションから参照される QoS スケジューラ プロファイルを定義します。 |
||||||
| sched_profile_1 | QoS スケジューラ プロファイルの名前。 | ||||||
|
|||||||
| stormControlProfiles | ファブリックインターフェイス上のBUMトラフィックのレート制限プロファイルをバイト/秒で設定します。詳細は /Content/l2-bum-rate-limiting_xi931744_1_1.dita を参照してください。 | ||||||
| dpdkコマンド追加引数 | 追加の DPDK コマンド ライン パラメーターを渡します。この dpdkCommandAdditionalArgs: "--yield_option 0 --dpdk_txd_sz 2048 --dpdk_rxd_sz 2048 --vr_mempool_sz 131072"
手記:
OpenShiftノードでヒュージ・ページを構成する方法については、「OpenShiftデプロイメントのシステム要件」の表2を、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によって取得され、挿入されます。 |
||||||
| vrouter_dpdk_uio_driver | uio ドライバは vfio-pciです。 |
||||||
| agentModeType (エージェントモードタイプ) | dpdk に設定します。 |
||||||
| fabricRpfCheckDisable | false に設定すると、すべての Cloud-Native Router ファブリックインターフェイスで RPF チェックが有効になります。デフォルトでは、RPF チェックは無効になっています。 | ||||||
| テレメトリー | (オプション)cRPDテレメトリ設定を行います。テレメトリの詳細については、「 テレメトリ機能 」を参照してください。 |
||||||
| 無効にする | cRPD テレメトリを無効にするには、true に設定します。デフォルトは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 CLIおよびNETCONFの設定は、ノードの再起動、cRPDポッドの再起動、Cloud-Native Routerのアップグレードまで維持されます。既定値は false です。 | ||||||
| terminationGracePeriodSeconds (終了猶予期間秒) |
アンインストール中に vrouter がインターフェイスのクリーンアップとバインド解除を行うタイムアウトを指定します。デフォルトでは、タイムアウトは 60 秒です。JCNR が正常にアンインストールされない大規模なインストールでは、このタイムアウトを延長します。 | ||||||
| interfaceBoundType (インターフェイス バウンド タイプ) | 該当なし。 | ||||||
| ネットワーク詳細 | 該当なし。 | ||||||
| ネットワークリソース | 該当なし。 | ||||||
| Contrailツール | |||||||
| 取り付ける | contrail-tools(デバッグに使用)をインストールするには、true に設定します。 | ||||||