Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

EKS導入のためのCloud-Native Router Helm Chartのカスタマイズ

このトピックでは、Amazon EKSに導入する際にJuniper Cloud-Native Routerで利用できる導入設定について説明します。

Juniper Cloud-Native RouterをL3モードでAmazon EKSにデプロイして運用できます。展開モードを設定するには、展開前に values.yaml ファイル内の適切な属性を編集します。

Helm チャートの属性と説明

Juniper_Cloud_Native_Router_release-number/helmchart/values.yaml ファイルを使用して Helm チャートをカスタマイズします。Helm チャートの構成キーを以下の表に示します。
表 1: Helm チャートの属性と説明
キー 追加のキー 構成の説明
記帳   vRouter、cRPD、およびjcnr-cniコンテナイメージのDockerレジストリを定義します。

デフォルト値は次のように設定されています。

  • ジュニパーサポートサイトからダウンロードしたJuniper Enterprise Hub for Helmチャート。

  • AWS Marketplace からダウンロードした Helm チャートの Amazon Elastic Container Registry (ECR)。

リポジトリ   vRouter、cRPD、およびjcnr-cniコンテナイメージのリポジトリパスを定義します。これはグローバルキーであり、「common」セクションの「repository」パスよりも優先されます。デフォルト値は次のとおりです。
  • jcnr-container-prod/ ジュニパーサポートパッケージの

  • juniper-networks AWS Marketplace サブスクリプションの場合。

imagePullSecret (英語)   レジストリ認証資格情報を定義します。詳細は、「 リポジトリ資格証明の構成 」トピックを参照してください。
  registryCredentials Docker レジストリ資格情報の Base64 表現。
  secretName (シークレット名) 作成されるシークレットオブジェクトの名前。
コモン   vRouter、cRPD、およびjcnr-cniコンテナイメージのリポジトリパスとタグを定義します。デフォルトを使用します。
  リポジトリ リポジトリ パスを定義します。グローバルリポジトリキーが定義されている場合、優先されます。

デフォルト値は次のように設定されています。

  • atom-docker/cn2/bazel-build/dev/ ジュニパーサポートパッケージの

  • juniper-networks AWS Marketplace サブスクリプションの場合。

  タグ イメージ タグを定義します。デフォルト値は、Cloud-Native Routerのリリースバージョンに適したタグ番号に設定されています。
レプリカ (オプション)マルチノードクラスタ内のワーカーノードにデプロイされたcRPDレプリカの数を示します。値を指定しない場合は、デフォルト値の 1 が考慮されます。このキーの値は、マルチノードクラスタに対して指定する必要があり、Cloud-Native Routerを導入する必要があるノード数と一致する必要があります。
storageClass

cRPDのストレージクラスの名前を示します。EKS デプロイの gp2 として指定する必要があります。

awsリージョン   EKS デプロイの AWS リージョンを定義します。
noLocalSwitching EKS導入には適用されません。
ファブリックインターフェイス  

DPDK にバインドするインターフェイスの一覧を指定します。インターフェイス名の代わりにサブネットを指定することもできます。インターフェイス名とサブネットの両方が指定されている場合、インターフェイス名がサブネット/ゲートウェイの組み合わせよりも優先されます。サブネット/ゲートウェイの組み合わせは、マルチノード クラスタでインターフェイス名が異なる場合に便利です。

手記:Amazon EKS のファブリックインターフェイスを設定するには、[L3 のみ] セクションを使用します。L2のみおよびL2-L3セクションは、EKS展開には適用されません。

例えば:

  # L3  only
  - eth1:
      ddp: "off"                 
  - eth2:
      ddp: "off"                
  サブネット インターフェイス名を入力する代替モード。例えば:
- subnet: 10.40.1.0/24 
  gateway: 10.40.1.1 
  ddp: "off"    

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

  DDPの

EKS導入には適用されません。

  interface_mode EKS導入には適用されません。
  vlan-id-list

EKS導入には適用されません。

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

EKS導入には適用されません。

  ネイティブVLAN ID EKS導入には適用されません。
  no-local-switching EKS導入には適用されません。
fabricワークロードインターフェイス EKS導入には適用されません。
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 を配置する場所を決定します。デフォルトでは、vRouter Pod はクラスタのすべてのワーカーノードにデプロイされます。

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

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 Pod がクラッシュまたは再起動した場合にインターフェイスを元の状態に戻すことをお勧めします。
bondInterfaceConfigs (ボンドインターフェイス設定) EKS導入には適用されません。
MTU すべての物理インターフェイス(VFおよびPF)のMTU(最大伝送単位)値。デフォルト値は 9000 です。
cpu_core_mask

vRouter フォワード コア マスクを示します。qos が有効になっている場合は、4 つの CPU コアを割り当てる必要があります。EC2 インスタンスのホスト OS で使用されていないコアを使用します。

stormControlProfiles EKS導入には適用されません。
DDPの EKS導入には適用されません。
qos有効化

EKS デプロイの場合は false に設定します。

コアパターン

コア ファイルの生成方法を示すコア パターンを示します。この設定を空白のままにすると、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です。
手記:

Amazon EKS の場合は、helmchart/charts/jcnr-vrouter/values.yaml ファイルの dpdkCommandAdditionalArgs キーをさらに更新し、tx 記述子と rx 記述子を 256 に設定する必要があります。例えば:

サンプル Helm チャート

EKS Cloud-Native RouterのHelmチャートのサンプルを以下に示します。

Amazon EKS導入用Helmチャート(ジュニパーサポートサイト経由のサブスクリプション)

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

EKS デプロイの Helm チャート (AWS Marketplace 経由のサブスクリプション)

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