注:
このドキュメントで説明されているNetronome SmartNIC vRouterテクノロジーは、評価目的でのみ使用できます。本番ネットワークへの導入を想定したものではありません。
Contrailは、Red Hat OpenStack Platform Director(RHOSPd)13環境でContrail Networkingを導入する際に、Netronome Agilio CX SmartNICをサポートします。
この機能により、サービス プロバイダは、vRouter の PPS(パケット数/秒)を含む転送パフォーマンスを向上させることができます。これにより、サーバーのCPU使用率が最適化され、サーバーごとにより多くの仮想ネットワーク機能(VNF)を展開できます。
利点:
このトピックの目的は、高速 vRouter コンピューティングノードを展開するための手順を提供することです。
始める前に:
-
コンピューティングノードにNetronome Agilio CX SmartNICを装備します。
詳細は 、Agilio CX SmartNICsを参照してください。
-
Agilio heat-templateプラグインを取得します。
https://help.netronome.com のNetronomeサポートサイトに登録し、Docker Hubの資格情報を提供します。
Netronome は、コンピューティング ノードに SmartNIC vRouter を展開するための TripleO テンプレートを提供します。また、Netronome は Docker Hub レジストリへのアクセスを承認します。
詳細については、 Netronome Agilio vRouter 19xx 導入ガイドを参照してください。
-
次のバージョンタグに注意してください。
AGILIO_TAG="2.38-rhel-queens FORWARDER_TAG="2.38-rhel-queens
手順:
注:
複数のアンダークラウドノードが展開されている場合は、同じノードで以下の手順を実行する必要があります。
- Agilioプラグインを設定します。
- Agilio プラグイン アーカイブを抽出し、agilio-plugin フォルダーを tripleo-heat-templates ディレクトリにコピーします。
[stack@queensa ~]$ tar -xzvf rhosp-contrail-agilio-heat-plugin-5-34.tgz agilio-plugin/ agilio-plugin/agilio-vrouter.yaml agilio-plugin/agilio_upgrade.sh agilio-plugin/deploy_rhosp.sh agilio-plugin/nfp_udev.sh agilio-plugin/agilio-env.yaml agilio-plugin/version agilio-plugin/README.md [stack@queensa ~]$ cp -r agilio-plugin/ tripleo-heat-templates/
- アンダークラウドノードの agilio-plugin ディレクトリに移動します。
[tripleo-heat-templates]$ cd agilio-plugin/
- agilio-env.yamlファイルを環境に合わせて変更します。
注:
virtio-forwarder用に少なくとも1375 * 2 MBの巨大ページを確保してください。
サンプル agilio-env.yaml ファイル:
resource_registry:
OS::TripleO::NodeExtraConfigPost: agilio-vrouter.yaml
parameter_defaults:
# Hugepages
ContrailVrouterHugepages2MB: "8192"
# IOMMU
ComputeParameters:
KernelArgs: "intel_iommu=on iommu=pt isolcpus=1,2 "
ComputeCount: 3
# Aditional config
ControlPlaneDefaultRoute: 10.0.x.1
EC2MetadataIp: 10.0.x.1 # Generally the IP of the Undercloud
DnsServers: ["8.8.8.8","192.168.3.3"]
NtpServer: ntp.is.co.za
ContrailRegistryInsecure: true
DockerInsecureRegistryAddress: 172.x.x.150:6666,10.0.x.1:8787
ContrailRegistry: 172.x.x.150:6666
ContrailImageTag: <container_tag>-rhel-queens
# Fix DB Diskspace too low issue
ContrailAnalyticsDBMinDiskGB: 40
- Docker Hubの資格情報をtripleo-heat-templates/agilio-plugin/agililo_upgrade.shファイルに追加して、AGILIO_REPO="docker.io/netronomesystems/"リポジトリからコンテナを取得します。
#GENERAL DOCKER CONFIG DOCKER_USR=****** #ENTER_DOCKER_USERNAME_HERE DOCKER_PASS=****** #ENTER_DOCKER_PASSWORD_HERE
[root@overcloud-novacompute-2 heat-admin]# docker ps -a | grep virtio_for 7d5af8a2591d docker.io/netronomesystems/virtio-forwarder:2.38-rhel-queens "./entrypoint.sh" 30 seconds ago Up 15 seconds virtio_forwarder
[root@overcloud-novacompute-2 heat-admin]# docker ps -a | grep agilio c7c611b5168b docker.io/netronomesystems/agilio-vrouter:2.38-rhel-queens "./entrypoint.sh" 46 seconds ago Up 38 seconds agilio_vrouter
- 導入用に Contrail Networking クラスターの準備をします。
導入については、以下のトピックを参照してください。
- 以下のいずれかの方法でクラスターを展開します。
-
オーバークラウドのインストールトピックで説明したように、オーバークラウドのインストール手順にagilio-env.yamlを追加します。
openstack overcloud deploy --templates ~/tripleo-heat-templates -e ~/overcloud_images.yaml -e ~/tripleo-heat-templates/environments/network-isolation.yaml -e ~/tripleo-heat-templates/environments/contrail/contrail-plugins.yaml -e ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml -e ~/tripleo-heat-templates/environments/contrail/contrail-net.yaml -e ~/tripleo-heat-templates/agilio-plugin/agilio-env.yaml --roles-file ~/tripleo-heat-templates/roles_data_contrail_aio.yaml
または
-
次のコマンドを実行します。
deploy_rhosp.sh
-e ~/tripleo-heat-templates/agilio-plugin/agilio-env.yaml