Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ベアメタルサーバー用のCloud-Native Router Helmチャートのカスタマイズ

ベアメタルサーバー上のジュニパークラウドネイティブルーターで使用できる導入構成については、このトピックをお読みください。

ベアメタルサーバー上で、L2、L3、またはL2-L3モードでジュニパークラウドネイティブルーターを導入して運用できます。導入前に values.yaml ファイル内の適切な属性を編集して、導入モードを設定します。

注:
  • values.yamlファイルのfabricInterfaceキーで:

    • すべてのインターフェイスに interface_mode キーが設定されている場合、導入モードはL2になります。

    • 1つ以上のインターフェイスに interface_mode キーが設定されていて、残りのインターフェイスに interface_mode キーが設定されている場合、導入モードはL2-L3になります。

    • どのインターフェイスにも interface_mode キーが設定されていない場合、導入モードはL3になります。

ベア・メタル・デプロイメントのHelmチャートの説明

ジュニパー_Cloud_Native_Router_<release>/helmchart/jcnr/values.yamlファイルを使用して、Helmチャートをカスタマイズします。Cloud-Native RouterのデフォルトHelmチャートにデフォルト値.yamlのコピーを提供します。

表 1 に、ベアメタルデプロイメント用の values.yaml の設定可能な属性の説明を示します。

表1:ベアメタル導入時のHelmチャートの説明
カギ 説明
グローバル  
  Syslogのインストール trueに設定してsyslog-ngをインストールします。
  jcnrDeploymentMode すべてのCloud-Native Routerコンポーネントを1つのポッドに展開できるようにします。「 Podネットワーク名前空間に単一のポッドとしてクラウドネイティブルーターをデプロイする」を参照してください。
  レジストリ   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にバインドされるファブリックインターフェイスのリストを提供するために使用します。インターフェイス名の代わりにサブネットを指定することもできます。インターフェイス名とサブネットの両方が指定されている場合、インターフェイス名がサブネット/ゲートウェイの組み合わせよりも優先されます。サブネットとゲートウェイの組み合わせは、マルチノードクラスターでインターフェイス名が異なる場合に便利です。

注:
  • すべてのインターフェイスに interface_mode キーが設定されている場合、導入モードはL2になります。

  • 1つ以上のインターフェイスに interface_mode キーが設定されていて、残りのインターフェイスに interface_mode キーが設定されている場合、導入モードはL2-L3になります。

  • どのインターフェイスにも interface_mode キーが設定されていない場合、導入モードはL3です。

次に例を示します。

  # 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"
      qosSchedulerProfileName: "sched_profile_1"
 # L2L3
  - eth1:
      ddp: "auto"
      qosSchedulerProfileName: "sched_profile_1"               
  - 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"    

subnetオプションは、L3インターフェイスにのみ適用できます。入力のsubnetモードでは、各サブネットでインターフェイスが自動検出されます。サブネット/ゲートウェイまたはインターフェイス名を指定します。両方を設定しないでください。サブネット/ゲートウェイ形式の入力は、マルチノードクラスターでインターフェイス名が異なる環境で特に役立ちます。

    DDP

(オプション)インターフェイスレベルの動的デバイスパーソナライゼーション(DDP)設定を示します。DDPは、GTPU、SCTPなどのトラフィックに対してNICでデータパス最適化を提供します。ボンディングインターフェイスの場合、DDP設定を有効にするには、すべてのスレーブインターフェイスNICがDDPをサポートしている必要があります。詳細については、「 個々のインターフェイスでの動的デバイスパーソナライゼーション(DDP)の有効化 」を参照してください。

オプションには、自動、オン、オフなどがあります。デフォルトはオフです。

注:

インターフェイスレベルの ddp は、グローバル ddp 設定よりも優先されます。

    interface_mode

L2インターフェイス用に trunk に設定し、L3インターフェイス用には設定 しません 。例えば、

interface_mode: trunk
    vlan-id-list

インターフェイスに関連付けられたVLAN IDのリストを指定します。

       
    ネイティブvlan-id

vlan-id-list内の任意のVLAN IDでnative-vlan-idを設定し、ファブリックトランクモードインターフェイスの物理インターフェイスで受信したタグなしデータパケットに関連付けます。次に例を示します。

fabricInterface: 
  - bond0: 
      interface_mode: trunk 
      vlan-id-list: [100, 200, 300] 
      native-vlan-id: 100  

詳細については 、「ネイティブVLAN」 を参照してください。

       
    qosSchedulerプロファイル名

このインターフェイスに適用可能な QoS スケジューラ プロファイルを指定します。 qosSchedulerProfiles セクションを参照してください。

プロファイルを指定しない場合、このインターフェイスの QoS スケジューラは無効になり、パケットはトラフィック クラスに関係なくスケジューリングされます。

  fabricWorkloadインタフェース (オプション)

このインターフェイスタイプをオーバーレイ管理インターフェイスに使用します。

  log_level ログの重大度を定義します。使用可能な値オプションは、DEBUG、INFO、WARN、ERR です。
注:

ジュニパーネットワークスのサポートから変更の指示がない限り、デフォルトのINFOに設定したままにしてください。

  log_path

定義されたディレクトリには、 contrail-vrouter-agent.logcontrail-vrouter-dpdk.logなど、さまざまなJCNR関連の記述ログが格納されます。デフォルトは /var/log/jcnr/ です。

  syslog_notifications

生成された通知をJSON形式で保存するファイルへの絶対パス syslog-ng 示します。デフォルトは /var/log/jcnr/jcnr_notifications.json です。

  コアパターン

コアファイルの core_pattern を示します。空白のままにすると、Cloud-Native Routerポッドはホスト上のデフォルトパターンを上書きしません。

注:

JCNRを展開する前に、ホストに core_pattern を設定します。 /etc/sysctl.conf で値を変更できます。例えば、 kernel.core_pattern=/var/crash/core_%e_%p_%i_%s_%h_%t.gz

  コアファイルパス coreファイルへのパスを示します。デフォルトは /var/crash です。
  ノードアフィニティ

(オプション)ノードのラベルを定義して、vRouterポッドの配置場所を決定します。

デフォルトでは、vRouterポッドはクラスターのすべてのノードにデプロイされます。

以下の例では、ノード アフィニティ ラベルは key1=jcnr として定義されています。このラベルは、Cloud-Native Routerを導入するすべてのノードに適用する必要があります。

nodeAffinity:
- key: key1
operator: In
values:
- jcnr
注:

これはグローバルな設定です。

    キー ノードアフィニティを適用するために一致させる必要があるノードラベルを表すキーと値のペア。
    運用担当者 ノードラベルと、Pod仕様のmatchExpressionパラメーター内の値セットとの関係を定義します。この値は、In、NotIn、Exists、DoesNotExist、lt、または gt です。
  許容誤差

(オプション)JCNR ポッドを特定のテイントを持つノードに配置できる容認を定義します。

以下の例では、公差は jcnr=yesとして定義されています。つまり、ノードが jcnr=yes で汚染されている場合、またはまったく汚染されていない場合、そのノードでJCNRポッドをスケジュールできます。ノードが別のキーと値のペアで汚染されている場合、JCNR ポッドをそのノードでスケジュールすることはできません(効果によって異なります)。

tolerations:
  - key: "jcnr"
    operator: "Equal"
    value: "yes"
    effect: "NoSchedule"
注:

これはグローバルな設定です。

    キー 許容値を表すキーと値のペアのキー部分。
    運用担当者 許容範囲とテイントの一致条件を定義します。有効な値は、存在と等しいです。
    許容値を表すキーと値のペアの値部分。フィールドは、運用担当者が「等しい」の場合にのみ存在します。
    効果 許容範囲がテイントに一致しない場合の影響を定義します。有効な値は、NoExecute、NoSchedule、PreferNoSchedule です。
  cni_bin_dir (オプション)デフォルトのパスは /opt/cni/binです。デフォルトのパスをディストリビューション内のパス( 例:/var/opt/cni/bin)で上書きできます。
  grpcTelemetryPort

(オプション)このパラメーターの値を入力して、cRPDテレメトリgRPCサーバーのデフォルトポート50053を上書きします。

  grpcVrouterポート (オプション)デフォルトは50052です。上書きするように設定します。
  vRouterDeployerPort (オプション)デフォルトは 8081 です。上書きするように設定します。
JCNR-vRouter  
  cpu_core_mask

存在する場合、これは静的なCPU割り当てを使用して、転送プレーンにコアを割り当てることを示しています。

この値は、転送プレーンに静的に割り当てる分離されたCPUコアのカンマ区切りのリストである必要があります(例: cpu_core_mask: "2,3,22,23")。ホストOSで使用されていないコアを使用します。

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コアを指定します。このリストは、 cpu_core_mask に記載されているコアとは異なり、 serviceCoreMaskのリストと同じにすることができます。

Kubernetes CPUマネージャーを使用してコアを転送プレーンに割り当てる場合は、コメントアウトしてください。

  serviceCoreMask

静的CPU割り当てを使用する場合に、vRouter DPDKサービススレッドに割り当てるCPUコアを指定します。このリストは、 cpu_core_mask に記載されているコアとは異なり、 dpdkCtrlThreadMaskのリストと同じにすることができます。

Kubernetes CPUマネージャーを使用してコアを転送プレーンに割り当てる場合は、コメントアウトしてください。

  numServiceCtrlThreadCPU

Kubernetes CPUマネージャーを使用するときに、vRouter DPDKサービス/制御トラフィックに割り当てるCPUコア数を指定します。

この数は、 guaranteedVrouterCpus コアの数よりも小さくする必要があります。残りの guaranteedVrouterCpus コアは転送用に割り当てられます。

静的な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 スケジューラ プロファイルの名前。
     
cpu スケジューラ専用のCPUコアを指定します。 cpu_core_mask が指定されている場合、これは一意の追加コアである必要があります。
bandwidth 帯域幅をGbps単位で指定します。
  dpdkCommandAdditionalArgs

追加のDPDKコマンドラインパラメーターを渡します。この --yield_option 0 はデフォルトで設定されており、DPDK転送コアが割り当てられたCPUコアを生成しないことを意味します。追加できるその他の一般的なパラメーターには、 tx 記述子と rx 記述子と mempoolがあります。次に例を示します。

dpdkCommandAdditionalArgs: "--yield_option 0 --dpdk_txd_sz 2048 --dpdk_rxd_sz 2048 --vr_mempool_sz 131072"
注:

tx記述子とrx記述子の数、およびmempoolサイズを変更すると、必要なヒュージページの数に影響します。これらのパラメーターを明示的に変更する場合は、ヒュージページの数を10(x 1 GB)に設定します。

ヒュージページの設定方法については、 ヒュージページの設定 を参照してください。

  DDP

(オプション)グローバルな動的デバイスパーソナライゼーション(DDP)設定を示します。DDPは、GTPU、SCTPなどのトラフィックに対してNICでデータパス最適化を提供します。ボンディングインターフェイスの場合、DDP設定を有効にするには、すべてのスレーブインターフェイスNICがDDPをサポートしている必要があります。詳細については、「 個々のインターフェイスでの動的デバイスパーソナライゼーション(DDP)の有効化 」を参照してください。

オプションには、自動、オン、オフなどがあります。デフォルトはオフです。

注:

インターフェイスレベルの 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またはxdpです。DPDKデータパスを表示するには、dpdkに設定します。eBPF を使用するには xdp に設定します。デフォルトはdpdkです。

注:xdpは、ベアメタル導入でのみサポートされています。詳細については、「 ジュニパークラウドネイティブルーターvRouterのデータパス 」を参照してください。

  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設定を構成します。

enable true に設定すると、cRPD テレメトリ エクスポーターが gNMI リクエストに応答できるようになります。

vRouter  
    テレメトリ

(オプション)vRouterのテレメトリ設定を構成します。テレメトリの詳細については、「 テレメトリ機能」 を参照してください。

metricsPort vRouterテレメトリエクスポーターがPrometheusクエリーをリッスンするポートを指定します。デフォルトは 8070 です。

logLevel warn、warning、info、debug、trace、verbose のいずれかです。デフォルトはinfoです。

gnmi (オプション)vRouter gNMI設定を構成します。

enable - vRouterテレメトリエクスポーターがgNMIリクエストに応答できるようにするには、trueに設定します。

  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モードセクション) SR-IOVまたはホストデバイスネットワーク定義名を設定します。
    名前 ネットワーク添付ファイル定義(NAD)名。
    名前空間 NADが作成される名前空間。
    タイプ ファブリックまたはワークロード。デフォルトはファブリックです。ワークロードタイプはOAMインターフェイスにのみ使用され、仮想関数(VF)である必要があります。
  networkResources(SinglePod JCNRモードセクション) SR-IOVネットワークデバイスの制限を設定します。
    制限事項 各ネットワーク接続定義に使用するSR-IOVインターフェイス数の制限を設定します。
    リクエスト 各ネットワーク接続定義に対して、要求されたSR-IOVインターフェイス数を設定します。
  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ベースのテレメトリサービスを公開するポート番号を指定します。