EKS Deploymentのシステム要件
最小ホストシステム要件
このセクションでは、Cloud-Native Routerをインストールするためのホスト・システム要件を示します。
コンポーネント | 値/バージョン |
---|---|
EKSの導入 | 自己管理型ノード |
ホストOS | Amazon Linux 2 (英語) |
EKSバージョン | 1.25.12 |
EC2 インスタンスタイプ | ENA アダプターを使用するすべてのインスタンスタイプ
手記:Juniper Cloud-Native Routerによって課される最小インスタンスタイプはありませんが、標準的な導入では(パフォーマンス要件に応じて)c5.4xlargeまたはm5.4xlarge以上が実行されます。
|
カーネルバージョン | テストされたカーネルバージョンは5.15.0-1040-awsです |
NIC | 弾性ネットワーク アダプター (ENA) |
Kubernetes(K8s) | 1.26.3 |
AWS CLI バージョン | 2.11.9 |
VPC CNI | v1.14.0 - eksbuild.3 |
ムルタス | 3.7.2 ( |
舵 | 3.11 |
コンテナ-RT | 封じ込め |
リソース要件
このセクションでは、Cloud-Native Routerをインストールするためのリソース要件を示します。
リソース | 値 | の使用上の注意 |
---|---|---|
データプレーンフォワーディングコア | 2 コア (2P + 2S) | |
サービス/コントロールコア | 0 | |
UIOドライバー | VFIO-PCI準拠 | 有効にするには、次の手順に従います。cat /etc/modules-load.d/vfio.conf vfio vfio-pci 安全でない IOMMU モードを有効にする echo Y > /sys/module/vfio_iommu_type1/parameter/allow_unsafe_interrupts echo Y > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode |
ヒュージページズ(1G) | 6ギ | ホストの /etc/default/grub にGRUB_CMDLINE_LINUX_DEFAULT 値を追加します。例えば:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 default_hugepagesz=1G hugepagesz=1G hugepages=8 intel_iommu=on iommu=pt" grubを更新し、ホストを再起動します。例えば:
次のコマンドを実行して、hugepage が設定されていることを確認します。
|
Cloud-Native Router Controller コア | .5 | |
Cloud-Native Router vRouter Agentコア | .5 |
その他の要件
このセクションでは、クラウドネイティブ・ルーターをインストールするための追加要件を示します。
Cloud-Native Routerリリースのその他の要件 |
---|
JCNR にアタッチされた AWS Elastic Network Interface (ENI) インターフェイスの送信元/宛先チェックを無効にします。Cloud-Native Routerはトランジットルーターであるため、受信するトラフィックの送信元でも宛先でもありません。 |
AmazonEBSCSIDriverPolicy IAM ポリシーを EKS クラスターに割り当てられたロールにアタッチします。 |
/etc/default/grub ファイルで IOMMU と IOMMU-PT を設定します。例:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 default_hugepagesz=1G hugepagesz=1G hugepages=8 intel_iommu=on iommu=pt"grubを更新し、ホストを再起動します。例えば: grub2-mkconfig -o /boot/grub2/grub.cfg |
Cloud-Native RouterをL3モードで導入する前に、追加のカーネルモジュールをホストにロードする必要があります。これらのモジュールは通常、 cat /etc/modules-load.d/crpd.conf tun fou fou6 ipip ip_tunnel ip6_tunnel mpls_gso mpls_router mpls_iptunnel vrf vxlan
手記:
L3 展開にのみ適用されます。 |
JCNRを展開する前に、ホストにcore_pattern値が設定されていることを確認します。sysctl kernel.core_pattern kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e
kernel.core_pattern=/var/crash/core_%e_%p_%i_%s_%h_%t.gz |
Amazon EKS に Cloud-Native Router をインストールする場合は、helmchart/charts/jcnr-vrouter/values.yaml ファイルの dpdkCommandAdditionalArgs キーを更新し、tx および rx 記述子を 256 に設定します。例えば:dpdkCommandAdditionalArgs: "--yield_option 0 --dpdk_txd_sz 256 --dpdk_rxd_sz 256" |
VRRP 向けクラウドネイティブルーター設定マップ
Cloud-Native RouterクラスタでVRRP(Virtual Router Redundancy Protocol)を有効化できます。
EKS導入におけるCloud-Native RouterクラスターのVRRPの動作を定義するには、Cloud-Native Router ConfigMapを作成する必要があります。AWS VPC がプレフィックスに対してネクストホップを 1 つだけサポートすることを考慮して、ConfigMap は、VRRP マスターシップ ステータスを使用して、Cloud-Native Router のルーティング テーブルから AWS の特定のルーティング テーブルにプレフィックスをコピーする方法を定義します。マニフェストの例jcnr-aws-config.yaml
、
apiVersion: v1 kind: ConfigMap metadata: name: jcnr-aws-config namespace: jcnr data: aws-rttable-map.json: | [ { "jcnr-table-name":"default-rt.inet.0", "jcnr-policy-name": "default-rt-to-aws-export", "jcnr-nexthop-interface-name":"eth4", "vpc-table-tag":"jcnr-aws-vpc-internal-table" }, { "jcnr-table-name":"default-rt.inet6.0", "jcnr-policy-name":"default-rt-to-aws-export", "jcnr-nexthop-interface-name":"eth4", "vpc-table-tag":"jcnr-aws-vpc-internal-table" } ]
次の表では、ConfigMap 要素について説明します。
要素 | の説明 |
---|---|
jcnr-table-name |
プレフィックスのコピー元となるCloud-Native Routerのルーティングテーブル。 |
jcnr-policy-name |
指定されたルーティングテーブルのプレフィックスをインポートしてAWSルーティングテーブルにコピーする、Cloud-Native Routerのルーティングポリシー。 |
jcnr-nexthop-interface-name |
Cloud-Native RouterのこのインスタンスがVRRPマスターの場合に、AWSルーティングテーブルがネクストホップとして使用するCloud-Native Routerインターフェイスの名前。 |
vpc-table-tag |
プレフィックスのコピー先となるAWSのルーティングテーブルに適用されるフリーフォームタグ。 |
Cloud-Native Routerをインストールする前に、 jcnr-aws-config.yaml
をKubernetesシステムに適用する必要があります。Cloud-Native Router CNIデプロイヤは、ConfigMapに基づいてcRPD設定をレンダリングします。
VRRP を使用しない場合は、 aws-rttable-map.json
のデータとして空のリストを指定する必要があります。
ポート要件
Juniper Cloud-Native Routerは、特定のTCPおよびUDPポートでリッスンします。このセクションでは、Cloud-Native Routerのポート要件を示します。
プロトコル | ポート | の説明 |
---|---|---|
TCPの | 8085 | vRouterイントロスペクト - vRouterに関する内部統計情報を取得するために使用します。 |
TCPの | 8070 | テレメトリ情報 - Cloud-Native Routerからのテレメトリデータを確認するために使用します。 |
TCPの | 9091 | vRouterヘルスチェック - クラウドネイティブルーターが contrail-vrouter-dpdk プロセスが実行されていることを確認など。 |
TCPの | 50052 | gRPCポート - Cloud-Native RouterはIPv4とIPv6の両方でリッスン |
TCPの | 8081 | Cloud-Native Router Deployerポート |
TCPの | 22 | cRPD SSH |
TCPの | 830 | cRPD NETCONF |
TCPの | 666 | RPDの |
TCPの | 1883 | Mosquito mqtt–パブリッシュ/サブスクライブメッセージングユーティリティ |
TCPの | 9500 | cRPD上のagentd |
TCPの | 21883 | NA-MQTTD |
TCPの | 50051 | cRPDのjsd |
TCPの | 51051 | cRPDのjsd |
UDP | 50055 | syslog-NG |
ダウンロードオプション
Cloud-Native RouterをEKSクラスターに導入するには、 ジュニパーサポートサイト からHelmチャートをダウンロードするか、 AWS Marketplaceからサブスクライブします。
https://enterprise.hub.juniper.net
ホワイトリストに登録する必要があります。
Cloud-Native Routerライセンス
Juniper Cloud-Native Router(JCNR)Release 22.2より、ジュニパーアジャイルライセンシング(JAL)モデルが有効になりました。JALは、機能がジュニパーのエンドユーザーライセンス契約に準拠して使用されることを保証します。Juniper Cloud-Native Routerソフトウェアのライセンスは、ジュニパーアカウントチームから購入できます。Cloud-Native Router Controller の CLI を使用してライセンスを適用できます。複数のCloud-Native Router導入における複数のライセンスファイルの管理について、詳しくは「 ジュニパーアジャイルライセンシングの概要」を参照してください。
Cloud-Native Routerリリース23.2以降、Cloud-Native Routerのライセンス形式が変更されました。23.2以降のリリースを導入またはアップグレードする前に、JALポータルから新しいライセンスキーをお申し込みください。