Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ベアメタルサーバーのJCNR Helmチャートのカスタマイズ

概要 このトピックでは、ベアメタルサーバー上のJuniper Cloud-Native Routerで利用可能な導入構成について説明します。

ベアメタルサーバー上のL2、L3、またはL2-L3モードでJuniper Cloud-Native Routerを導入して運用できます。配置モードを設定するには、配置前にファイル内の values.yaml 適切な属性を編集します。

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

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

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

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

Helm チャートの属性と説明

ファイルを使用して Helm チャートをカスタマイズします Juniper_Cloud_Native_Router_release-number/helmchart/values.yaml 。helm チャートの構成キーを次の表に示します。
キー
表 1: Helm チャートの属性と説明
追加キー構成 の説明
レジストリ   vRouter、cRPD、jcnr-cniコンテナイメージのDockerレジストリを定義します。デフォルト値 enterprise-hub.juniper.netは です。tarball で提供されるイメージは、既定のレジストリ名でタグ付けされます。コンテナー イメージをプライベート レジストリにホストする場合は、既定値をレジストリ URL に置き換えます。
リポジトリ   (オプション)vRouter、cRPD、jcnr-cniコンテナイメージのリポジトリパスを定義します。これはグローバルキーであり、「共通」セクションの下の「リポジトリ」パスよりも優先されます。デフォルト値 jcnr-container-prod/は です。
imagePullSecret   (オプション)レジストリ認証資格情報を定義します。資格情報は、ジュニパーリポジトリまたはプライベートレジストリのいずれかに設定できます。
  レジストリ資格情報 Docker レジストリの資格情報の Base64 表現。詳細については、「 リポジトリ資格情報の構成」 トピックを参照してください。
  シークレット名 作成されるシークレット オブジェクトの名前。
共通   vRouter、cRPD、jcnr-cniコンテナイメージの返信パスとタグを定義します。プライベート・レジストリーを使用しない限り、デフォルトを使用します。
  リポジトリ リポジトリ パスを定義します。デフォルト値 atom-docker/cn2/bazel-build/dev/は です。定義されている場合は、グローバルリポジトリキーが優先されます。
  タグ イメージ タグを定義します。デフォルト値は、JCNR リリース・バージョンの適切なタグ番号に設定されます。
レプリカ (オプション)cRPDのレプリカの数を示します。値が指定されていない場合は、デフォルト値の 1 が考慮されます。このキーの値は、マルチノードクラスターに対して指定する必要があります。この値は、JCNR をデプロイする必要があるノードの数と等しくなければなりません。
ストレージクラス クラウド以外の展開には適用されません。
AWSリージョン   EKS 以外の展開には適用されません。
いいえローカルスイッチング (オプション)ブリッジ ドメイン内のインターフェイスがイーサネット フレーム コピーを送受信できないようにします。VLAN ID に属するインターフェイスが相互にフレームを送信しないように、1 つ以上のカンマ区切り VLAN ID を入力します。このキーは、L2 および L2-L3 導入に固有のものです。このキーを有効にすると、すべてのアクセス インターフェイスで機能が提供されます。トランク インターフェイスで機能を有効にするには、ファブリック インターフェイス キーで 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
  # 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"    

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

  Ddp

(オプション)インターフェイスレベルの動的デバイスパーソナライゼーション(DDP)設定を示します。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 ステートメントが設定されている場合、インターフェイスが互いに直接通信することを防止します。使用できる値は真または偽です。
ファブリックワークロードインターフェイス (オプション)異なるワークロードを接続するインターフェイスを定義します。ソフトウェアベースまたはハードウェアベースのインターフェイスにすることができます。
log_level ログの重大度を定義します。使用可能な値のオプションは、DEBUG、INFO、WARN、ERR です。
メモ:

log_levelは、ジュニパーサポートから変更の指示がない限り、デフォルトのINFOのままにしておきます。

log_path

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

syslog_notifications

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

ノードアフィニティ

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

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

次の例では、ノード アフィニティ ラベルは "key1=jcnr" として定義されています。このラベルは、JCNR をデプロイする必要がある各ノードに適用する必要があります。

nodeAffinity:
- key: key1
operator: In
values:
- jcnr
メモ:

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

キー ノード アフィニティを適用するために一致する必要があるノード ラベルを表すキーと値のペア。
演算子 ノード ラベルとポッド仕様の matchExpression パラメーターの値のセットとの関係を定義します。この値は、In、NotIn、Exists、DoesNotExist、Lt、または gt にすることができます。
cni_bin_dir (オプション)デフォルトのパスは /opt/cni/bin です。デフォルトの cni パスをディストリビューション内のパスで上書きできます (例: /var/opt/cni/bin)。
grpcTelemetryPort

(オプション)このパラメーターの値を入力して、cRPD テレメトリ gRPC サーバーの既定のポートである 50051 をオーバーライドします。

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

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

ストームコントロールプロファイル ファブリックインターフェイス上のBUMトラフィックのレート制限プロファイルをバイト/秒で設定します。
Ddp

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

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

メモ:

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

qosEnable

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

メモ:

QoS はインテル X710 NIC ではサポートされていません。

コアパターン

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

メモ:

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

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

Helm チャートのサンプル

L2のみの展開のHelmチャート

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

L3のみの展開のHelmチャート

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

L2-L3導入のHelmチャート

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