Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OpenShiftデプロイメント用のCloud-Native Router Helmチャートのカスタマイズ

このトピックでは、Juniper Cloud-Native Routerで利用可能な導入構成について説明します。

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 チャートの構成キーを以下の表に示します。

表 1: Helm チャートの属性と説明
キー 追加のキー 構成の説明
記帳   vRouter、cRPD、およびjcnr-cniコンテナイメージがホストされるDockerレジストリを定義します。デフォルト値は enterprise-hub.juniper.net です。
リポジトリ   (オプション)vRouter、cRPD、およびjcnr-cniコンテナイメージのリポジトリパスを定義します。これはグローバルキーであり、「common」セクションの「repository」パスよりも優先されます。
imagePullSecret (英語)   (オプション)レジストリ認証資格情報を定義します。認証情報は、ジュニパーリポジトリまたはプライベートレジストリのいずれかに設定できます。
  registryCredentials Docker レジストリ資格情報の Base64 表現。詳細は、「 リポジトリ資格証明の構成 」トピックを参照してください。
  secretName (シークレット名) 作成されるシークレットオブジェクトの名前。
コモン   vRouter、cRPD、およびjcnr-cniコンテナイメージの応答パスとタグを定義します。プライベートレジストリを使用しない限り、defaultを使用します。
  リポジトリ リポジトリ パスを定義します。デフォルト値は atom-docker/cn2/bazel-build/dev/ です。グローバルリポジトリキーが定義されている場合、優先されます。
  タグ イメージ タグを定義します。デフォルト値は、Cloud-Native Routerのリリースバージョンに適したタグ番号に設定されています。
レプリカ (オプション)cRPDのレプリカの数を示します。値を指定しない場合は、デフォルト値の 1 が考慮されます。このキーの値は、マルチノードクラスターに対して指定する必要があります。
storageClass

OCP 展開には適用されません。

awsリージョン   OCP 展開には適用されません。
noLocalSwitching (オプション)ブリッジ ドメイン内のインターフェイスによるイーサネット フレーム コピーの送受信を防ぎます。VLAN ID に属するインターフェイスが互いにフレームを送信しないようにするために、1 つ以上の VLAN ID をカンマで区切って入力します。このキーは、L2 および L2-L3 展開に固有です。このキーを有効にすると、すべてのアクセス インターフェイスで機能が提供されます。トランク インターフェイスで機能を有効にするには、fabricInterface キーで no-local-switching キーを設定します。
ファブリックインターフェイス  

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]
      storm-control-profile: rate_limit_pf1
      native-vlan-id: 100
      no-local-switching: true
  - bond0:
      ddp: "auto" # auto/on/off  
      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"                 
  - eth2:
      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"    

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

  DDPの

(オプション)インターフェイスレベルのDDP(Dynamic Device Personalization)設定を示します。DDPは、GTPU、SCTPなどのトラフィックに対してNICでデータパス最適化を提供します。ボンディングインターフェイスの場合、DDP設定を有効にするには、すべてのスレーブインターフェイスNICがDDPをサポートしている必要があります。

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

手記:

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

  interface_mode

L2インターフェイスには trunk に設定し、L3インターフェイスには設定 しないでください 。例えば

interface_mode: trunk
  vlan-id-list

インターフェイスに関連付けられているVLAN IDのリストを提供します。

  ストーム制御プロファイル

storm-control-profileを使用して、インターフェイスに適切なストーム制御プロファイルを関連付けます。プロファイルは jcnr-vrouter.stormControlProfiles で定義されます。

  ネイティブVLAN ID

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

fabricInterface: 
  - bond0: 
      interface_mode: trunk 
      vlan-id-list: [100, 200, 300] 
      storm-control-profile: rate_limit_pf1 
      native-vlan-id: 100  
  no-local-switching no-local-switching ステートメントが設定されている場合、インターフェイスが相互に直接通信することを防ぎます。使用できる値は true または false です。
fabricワークロードインターフェイス (オプション)さまざまなワークロードが接続されるインターフェイスを定義します。インターフェイスには、ソフトウェアベースまたはハードウェアベースのものがあります。
log_level ログの重大度を定義します。使用可能な値オプションは、DEBUG、INFO、WARN、および ERR です。
手記:

ジュニパーサポートから変更するように指示されない限り、log_levelはデフォルトのINFOに設定したままにします。

log_path

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

syslog_notifications

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

nodeAffinity

(オプション)ノードのラベルを定義して、vRouter と Pod を配置する場所を決定します。例えば:

  nodeAffinity:
  - key: node-role.kubernetes.io/worker
    operator: Exists
  - key: node-role.kubernetes.io/master
    operator: DoesNotExist
手記:

このキーはグローバル設定です。

OCP設定では、ワーカー・ノードでのみCloud-Native Routerを起動するようにノード・アフィニティを設定する必要があります。

ノード アフィニティを適用するために一致する必要があるノード ラベルを表すキーと値のペア。
演算子 ノードラベルと、ポッド仕様の matchExpression パラメーターの値のセットとの関係を定義します。この値には、In、NotIn、Exists、DoesNotExist、Lt、または Gt を指定できます。
cni_bin_dir (オプション)デフォルトのパスは /opt/cni/bin です。デフォルトのcniパスを任意のパス(/var/opt/cni/binなど)で上書きできます。Red Hat OpenShiftの場合、デフォルトのCNIパスは/var/lib/cni/binに設定する必要があります。これはOCPデプロイメントのデフォルトパスです。パス変数 (cni_bin_dir) を空のままにすることは、OCP では実行可能なオプションではありません。
grpcTelemetryPort

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

grpcVrouterPort (オプション)このパラメータの値を入力して、vRouter gRPCサーバーのデフォルトポート50052を上書きします。
vRouterDeployerPort   (オプション)デフォルト値は 8081 です。デフォルトポートが利用できない場合に上書きするように設定します。
インターフェイスの復元 このキーの値を true に設定すると、vRouter Pod がクラッシュまたは再起動した場合にインターフェイスが元の状態に復元されます。
bondInterfaceConfigs (ボンドインターフェイス設定) (オプション)L2 または L2-L3 展開でのみボンディングインターフェイス設定を有効にします。
名前 ボンディング・インターフェースの名前。
モード デフォルト値は 1 (Active_Backup) です
スレーブインターフェイス 集約するファブリックインターフェイス。
MTU すべての物理インターフェイス(VFおよびPF)のMTU(最大伝送単位)値。
cpu_core_mask

vRouter フォワード コア マスクを示します。qos が有効になっている場合は、4 つの CPU コア (プライマリと兄弟) を割り当てる必要があります。

stormControlProfiles ファブリックインターフェイス上のBUMトラフィックのレート制限プロファイルをバイト/秒で設定します。
  rate_limit_pf1  
  帯域幅  
  レベル  
DDPの

(オプション)グローバルな動的デバイス個人用設定 (DDP) 構成を示します。DDPは、GTPU、SCTPなどのトラフィックに対してNICでデータパス最適化を提供します。ボンディングインターフェイスの場合、DDP設定を有効にするには、すべてのスレーブインターフェイスNICがDDPをサポートしている必要があります。

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

手記:

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

qos有効化

QoS を有効または無効にするには、true または false に設定します。

手記:

QoS は Intel X710 NIC ではサポートされていません。

コアパターン

コア ファイルの生成方法を示すコア パターンを示します。この設定を空白のままにすると、Cloud-Native Routerポッドはデフォルトパターンを上書きしません。

手記:

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

coreFileパス コア・ファイルのパスを示します。値を空白のままにすると、vRouter は /var/crashes をデフォルト値と見なします。
vrouter_dpdk_uio_driver uio ドライバは vfio-pciです。

サンプル Helm チャート

Red Hat OpenShift での L2 のみのデプロイメントの Helm チャート

動作中の L2 のみの Helm チャートのサンプルを以下に示します。設定されたセクションは 太字で強調表示されます。

Red Hat OpenShift での L3 のみのデプロイメントの Helm チャート

動作中の L3 のみの Helm チャートのサンプルを以下に示します。設定されたセクションは 太字で強調表示されます。

Red Hat OpenShift での L2-L3 デプロイメントの Helm チャート

動作中の L2-L3 Helm チャートのサンプルを以下に示します。設定されたセクションは 太字で強調表示されます。