オーバークラウドの設定
概要 このトピックに沿って、RHOSP 16 を使用した Contrail Networking 導入用のオーバークラウドを設定します。
このトピックに沿って、RHOSP 16 を使用した Contrail Networking 導入用のオーバークラウドを設定します。
Contrail Networkingは、Contrail Networkingリリース21.4で、Red Hat Virtualization(RHV)を使用してホストで動作するように拡張されました。この機能拡張以前は、Contrail Networkingは、KVM(カーネルベースの仮想マシン)を使用するホストがある環境でのみサポートされていました。
これらの手順は、特に明記されていない限り、両方の環境に適用されます。実行中の仮想化エンジンがこの手順に影響を与える場合は、RHV または KVM を使用する環境で実行する手順が記載されています。
オーバークラウドの設定
アンダークラウドでこの手順の例を使用して、オーバークラウドの設定を行います。
テンプレートを使用したContrailサービスのカスタマイズ(contrail-services.yaml)
このセクションでは、 contrail-services.yaml ファイルを変更することで、ご使用のネットワークに合わせて Contrail サービスをカスタマイズする方法について説明します。
-
APPLY_DEFAULTS 設定のカスタマイズ - Contrail を初めて展開するときは、[ContrailSettings]/グローバル Contrail [設定] セクションの APPLY_DEFAULTS[パラメーター] の既定値を [True] に設定する必要があります。
APPLY_DEFAULTS=True/False (default: True)
グローバル設定と特定のロール(DPDKノードなど)を参照する複数のContrailSettingsセクションがあります。これにより、テンプレート内に存在するプロビジョニング パラメーターで、構成プロビジョニング コンテナーが再起動されるたびに day0 構成を使用できるようになります。したがって、プロビジョニングパラメータはテンプレート駆動型であり、Contrail設定の変更はTripleOテンプレートを使用して行う必要があります。
Contrail Networkingでは、VXLANネットワークIDモード、リンクローカル設定、IBGP自動メッシュ設定、4byte_AS有効化、BGPグローバルASNの変更など、一部のグローバル設定パラメータをWebユーザーインターフェイスから設定できます。Web ユーザーインターフェイスを使用してクラスターを管理する場合は、Contrail 設定セクションで APPLY_DEFAULTS=False を設定し、openstack オーバークラウドデプロイを実行してクラスターを再度デプロイする必要があります。Web ユーザーインターフェイスを使用して Contrail グローバル設定パラメータを変更した場合、設定プロビジョナコンテナが再起動されると、これらのグローバル設定パラメータが上書きされる可能性があるため、この追加の手順が必要です。これらの値が上書きされないようにするには、APPLY_DEFAULTS '誤り'そして Openstack overcloud deploy コマンドを実行して Contrail を再度デプロイします。その結果、プロビジョニングが再度実行されないため、グローバル設定パラメータは変更されません。
たとえば、TripleO テンプレートを使用して APPLY_DEFAULTS=False を設定した場合は、Contrail クラスターを展開し、[VxLAN Identifier Mode] を ['ユーザー設定'Webユーザー インターフェイスから、構成プロビジョナ コンテナを再起動すると、VxLAN 識別子モードは 'ユーザー設定'構成プロビジョナーコンテナの再起動後。逆に、APPLY_DEFAULTSがTrueに設定されている場合、構成プロビジョナコンテナの再起動後、VxLAN識別子モードはデフォルト値の[自動]に変更されます。
たとえば、TripleO テンプレートを使用して APPLY_DEFAULTS=False を設定した場合は、Contrail クラスターを展開し、[VxLAN Identifier Mode] を ['ユーザー設定'Webユーザー インターフェイスから、構成プロビジョナ コンテナを再起動すると、VxLAN 識別子モードは 'ユーザー設定'構成プロビジョナーコンテナの再起動後。逆に、APPLY_DEFAULTSがTrueに設定されている場合、構成プロビジョナコンテナの再起動後、VxLAN識別子モードはデフォルト値の[自動]に変更されます。
例:
parameter_defaults: ContrailSettings: APPLY_DEFAULTS: true VROUTER_GATEWAY: 10.0.0.1 # KEY1: value1 # KEY2: value2 VXLAN_VN_ID_MODE: "configured" ENCAP_PRIORITY: "VXLAN,MPLSoUDP,MPLSoGRE" ContrailControllerParameters: AAAMode: rbac
Contrailサービスのカスタマイズ
vi ~/tripleo-heat-templates/environments/contrail-services.yaml parameter_defaults: ContrailSettings: VROUTER_GATEWAY: 10.0.0.1 # KEY1: value1 # KEY2: value2 VXLAN_VN_ID_MODE: "configured" ENCAP_PRIORITY: "VXLAN,MPLSoUDP,MPLSoGRE" ContrailControllerParameters: AAAMode: rbac
Contrail のレジストリ設定
vi ~/tripleo-heat-templates/environments/contrail-services.yaml
さまざまなレジストリのデフォルト値の例を次に示します。
公開ジュニパーレジストリ
parameter_defaults: ContrailRegistry: hub.juniper.net/contrail ContrailRegistryUser: <USER> ContrailRegistryPassword: <PASSWORD>
安全でないレジストリ
parameter_defaults: ContrailRegistryInsecure: true DockerInsecureRegistryAddress: 10.87.64.32:5000,192.168.24.1:8787 ContrailRegistry: 10.87.64.32:5000
プライベートセキュアレジストリ
parameter_defaults: ContrailRegistryCertUrl: http://device.example.net/pub/device.example.net.crt ContrailRegistry: device.example.net:5443
Contrailコンテナの画像設定
parameter_defaults: ContrailImageTag: queens-5.0-104-rhel-queens
テンプレートを使用したContrailネットワークのカスタマイズ
- 概要
- ロールの構成 (roles_data_contrail_aio.yaml)
- Network Parameter Configuration (contrail-net.yaml)
- ネットワーク インターフェイスの設定 (*-NIC-*.yaml)
- 高度な vRouter カーネル モード構成
- 高度な vRouter DPDK モード設定
- 高度な vRouter SRIOV + カーネル モード構成
- 高度なvRouter SRIOV + DPDKモード設定
概要
ネットワークをカスタマイズするには、別のネットワークを定義し、オーバークラウドノードのNICレイアウトを設定します。TripleOは、ネットワークをカスタマイズする柔軟な方法をサポートしています。
次のネットワークのカスタマイズの例では、ネットワークを次のように使用します。
ネットワーク |
VLAN |
オーバークラウドノード |
---|---|---|
プロビジョニング |
- |
すべての |
internal_api |
710 |
すべての |
external_api |
720 |
OpenStack CTRL |
貯蔵 |
740 |
OpenStack CTRL, 計算 |
storage_mgmt |
750 |
OpenStack CTRL |
テナント |
- |
Contrail CTRL, 計算 |
ロールの構成 (roles_data_contrail_aio.yaml)
ネットワークは、roles_data ファイル内のロールごとにアクティブ化する必要があります。
vi ~/tripleo-heat-templates/roles_data_contrail_aio.yaml
OpenStack Controller
############################################################################### # Role: Controller # ############################################################################### - name: Controller description: | Controller role that has all the controler services loaded and handles Database, Messaging and Network functions. CountDefault: 1 tags: - primary - controller networks: - External - InternalApi - Storage - StorageMgmt
コンピューティング ノード
############################################################################### # Role: Compute # ############################################################################### - name: Compute description: | Basic Compute Node role CountDefault: 1 networks: - InternalApi - Tenant - Storage
Contrail Controller
############################################################################### # Role: ContrailController # ############################################################################### - name: ContrailController description: | ContrailController role that has all the Contrail controler services loaded and handles config, control and webui functions CountDefault: 1 tags: - primary - contrailcontroller networks: - InternalApi - Tenant
DPDKの計算
############################################################################### # Role: ContrailDpdk # ############################################################################### - name: ContrailDpdk description: | Contrail Dpdk Node role CountDefault: 0 tags: - contraildpdk networks: - InternalApi - Tenant - Storage
Compute SRIOV
############################################################################### # Role: ContrailSriov ############################################################################### - name: ContrailSriov description: | Contrail Sriov Node role CountDefault: 0 tags: - contrailsriov networks: - InternalApi - Tenant - Storage
CSNの計算
############################################################################### # Role: ContrailTsn ############################################################################### - name: ContrailTsn description: | Contrail Tsn Node role CountDefault: 0 tags: - contrailtsn networks: - InternalApi - Tenant - Storage
Network Parameter Configuration (contrail-net.yaml)
cat ~/tripleo-heat-templates/environments/contrail/contrail-net.yaml resource_registry: OS::TripleO::Controller::Net::SoftwareConfig: ../../network/config/contrail/controller-nic-config.yaml OS::TripleO::ContrailController::Net::SoftwareConfig: ../../network/config/contrail/contrail-controller-nic-config.yaml OS::TripleO::ContrailControlOnly::Net::SoftwareConfig: ../../network/config/contrail/contrail-controller-nic-config.yaml OS::TripleO::Compute::Net::SoftwareConfig: ../../network/config/contrail/compute-nic-config.yaml OS::TripleO::ContrailDpdk::Net::SoftwareConfig: ../../network/config/contrail/contrail-dpdk-nic-config.yaml OS::TripleO::ContrailSriov::Net::SoftwareConfig: ../../network/config/contrail/contrail-sriov-nic-config.yaml OS::TripleO::ContrailTsn::Net::SoftwareConfig: ../../network/config/contrail/contrail-tsn-nic-config.yaml parameter_defaults: # Customize all these values to match the local environment TenantNetCidr: 10.0.0.0/24 InternalApiNetCidr: 10.1.0.0/24 ExternalNetCidr: 10.2.0.0/24 StorageNetCidr: 10.3.0.0/24 StorageMgmtNetCidr: 10.4.0.0/24 # CIDR subnet mask length for provisioning network ControlPlaneSubnetCidr: '24' # Allocation pools TenantAllocationPools: [{'start': '10.0.0.10', 'end': '10.0.0.200'}] InternalApiAllocationPools: [{'start': '10.1.0.10', 'end': '10.1.0.200'}] ExternalAllocationPools: [{'start': '10.2.0.10', 'end': '10.2.0.200'}] StorageAllocationPools: [{'start': '10.3.0.10', 'end': '10.3.0.200'}] StorageMgmtAllocationPools: [{'start': '10.4.0.10', 'end': '10.4.0.200'}] # Routes ControlPlaneDefaultRoute: 192.168.24.1 InternalApiDefaultRoute: 10.1.0.1 ExternalInterfaceDefaultRoute: 10.2.0.1 # Vlans InternalApiNetworkVlanID: 710 ExternalNetworkVlanID: 720 StorageNetworkVlanID: 730 StorageMgmtNetworkVlanID: 740 TenantNetworkVlanID: 3211 # Services EC2MetadataIp: 192.168.24.1 # Generally the IP of the undercloud DnsServers: ["172.x.x.x"] NtpServer: 10.0.0.1
ネットワーク インターフェイスの設定 (*-NIC-*.yaml)
NIC 構成ファイルは、ロールごとに次のディレクトリに存在します。
cd ~/tripleo-heat-templates/network/config/contrail
OpenStack Controller
heat_template_version: rocky description: > Software Config to drive os-net-config to configure multiple interfaces for the compute role. This is an example for a Nova compute node using Contrail vrouter and the vhost0 interface. parameters: ControlPlaneIp: default: '' description: IP address/subnet on the ctlplane network type: string ExternalIpSubnet: default: '' description: IP address/subnet on the external network type: string InternalApiIpSubnet: default: '' description: IP address/subnet on the internal_api network type: string InternalApiDefaultRoute: # Not used by default in this template default: '10.0.0.1' description: The default route of the internal api network. type: string StorageIpSubnet: default: '' description: IP address/subnet on the storage network type: string StorageMgmtIpSubnet: default: '' description: IP address/subnet on the storage_mgmt network type: string TenantIpSubnet: default: '' description: IP address/subnet on the tenant network type: string ManagementIpSubnet: # Only populated when including environments/network-management.yaml default: '' description: IP address/subnet on the management network type: string ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. type: number InternalApiNetworkVlanID: default: 20 description: Vlan ID for the internal_api network traffic. type: number StorageNetworkVlanID: default: 30 description: Vlan ID for the storage network traffic. type: number StorageMgmtNetworkVlanID: default: 40 description: Vlan ID for the storage mgmt network traffic. type: number TenantNetworkVlanID: default: 50 description: Vlan ID for the tenant network traffic. type: number ManagementNetworkVlanID: default: 60 description: Vlan ID for the management network traffic. type: number ControlPlaneSubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. type: string ControlPlaneDefaultRoute: # Override this via parameter_defaults description: The default route of the control plane network. type: string ExternalInterfaceDefaultRoute: # Not used by default in this template default: '10.0.0.1' description: The default route of the external network. type: string ManagementInterfaceDefaultRoute: # Commented out by default in this template default: unset description: The default route of the management network. type: string DnsServers: # Override this via parameter_defaults default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: ../../scripts/run-os-net-config.sh params: $network_config: network_config: - type: interface name: nic1 use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - '/' - - get_param: ControlPlaneIp - get_param: ControlPlaneSubnetCidr routes: - ip_netmask: 169.x.x.x/32 next_hop: get_param: EC2MetadataIp - default: true next_hop: get_param: ControlPlaneDefaultRoute - type: vlan vlan_id: get_param: InternalApiNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: InternalApiIpSubnet - type: vlan vlan_id: get_param: ExternalNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: ExternalIpSubnet - type: vlan vlan_id: get_param: StorageNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: StorageIpSubnet - type: vlan vlan_id: get_param: StorageMgmtNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: StorageMgmtIpSubnet outputs: OS::stack_id: description: The OsNetConfigImpl resource. value: get_resource: OsNetConfigImpl
Contrail Controller
heat_template_version: rocky description: > Software Config to drive os-net-config to configure multiple interfaces for the compute role. This is an example for a Nova compute node using Contrail vrouter and the vhost0 interface. parameters: ControlPlaneIp: default: '' description: IP address/subnet on the ctlplane network type: string ExternalIpSubnet: default: '' description: IP address/subnet on the external network type: string InternalApiIpSubnet: default: '' description: IP address/subnet on the internal_api network type: string InternalApiDefaultRoute: # Not used by default in this template default: '10.0.0.1' description: The default route of the internal api network. type: string StorageIpSubnet: default: '' description: IP address/subnet on the storage network type: string StorageMgmtIpSubnet: default: '' description: IP address/subnet on the storage_mgmt network type: string TenantIpSubnet: default: '' description: IP address/subnet on the tenant network type: string ManagementIpSubnet: # Only populated when including environments/network-management.yaml default: '' description: IP address/subnet on the management network type: string ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. type: number InternalApiNetworkVlanID: default: 20 description: Vlan ID for the internal_api network traffic. type: number StorageNetworkVlanID: default: 30 description: Vlan ID for the storage network traffic. type: number StorageMgmtNetworkVlanID: default: 40 description: Vlan ID for the storage mgmt network traffic. type: number TenantNetworkVlanID: default: 50 description: Vlan ID for the tenant network traffic. type: number ManagementNetworkVlanID: default: 60 description: Vlan ID for the management network traffic. type: number ControlPlaneSubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. type: string ControlPlaneDefaultRoute: # Override this via parameter_defaults description: The default route of the control plane network. type: string ExternalInterfaceDefaultRoute: # Not used by default in this template default: '10.0.0.1' description: The default route of the external network. type: string ManagementInterfaceDefaultRoute: # Commented out by default in this template default: unset description: The default route of the management network. type: string DnsServers: # Override this via parameter_defaults default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: ../../scripts/run-os-net-config.sh params: $network_config: network_config: - type: interface name: nic1 use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - '/' - - get_param: ControlPlaneIp - get_param: ControlPlaneSubnetCidr routes: - ip_netmask: 169.x.x.x/32 next_hop: get_param: EC2MetadataIp - default: true next_hop: get_param: ControlPlaneDefaultRoute - type: vlan vlan_id: get_param: InternalApiNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: InternalApiIpSubnet - type: interface name: nic2 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet outputs: OS::stack_id: description: The OsNetConfigImpl resource. value: get_resource: OsNetConfigImpl
コンピューティング ノード
heat_template_version: rocky description: > Software Config to drive os-net-config to configure multiple interfaces for the compute role. This is an example for a Nova compute node using Contrail vrouter and the vhost0 interface. parameters: ControlPlaneIp: default: '' description: IP address/subnet on the ctlplane network type: string ExternalIpSubnet: default: '' description: IP address/subnet on the external network type: string InternalApiIpSubnet: default: '' description: IP address/subnet on the internal_api network type: string InternalApiDefaultRoute: # Not used by default in this template default: '10.0.0.1' description: The default route of the internal api network. type: string StorageIpSubnet: default: '' description: IP address/subnet on the storage network type: string StorageMgmtIpSubnet: default: '' description: IP address/subnet on the storage_mgmt network type: string TenantIpSubnet: default: '' description: IP address/subnet on the tenant network type: string ManagementIpSubnet: # Only populated when including environments/network-management.yaml default: '' description: IP address/subnet on the management network type: string ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. type: number InternalApiNetworkVlanID: default: 20 description: Vlan ID for the internal_api network traffic. type: number StorageNetworkVlanID: default: 30 description: Vlan ID for the storage network traffic. type: number StorageMgmtNetworkVlanID: default: 40 description: Vlan ID for the storage mgmt network traffic. type: number TenantNetworkVlanID: default: 50 description: Vlan ID for the tenant network traffic. type: number ManagementNetworkVlanID: default: 60 description: Vlan ID for the management network traffic. type: number ControlPlaneSubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. type: string ControlPlaneDefaultRoute: # Override this via parameter_defaults description: The default route of the control plane network. type: string ExternalInterfaceDefaultRoute: # Not used by default in this template default: '10.0.0.1' description: The default route of the external network. type: string ManagementInterfaceDefaultRoute: # Commented out by default in this template default: unset description: The default route of the management network. type: string DnsServers: # Override this via parameter_defaults default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: ../../scripts/run-os-net-config.sh params: $network_config: network_config: - type: interface name: nic1 use_dhcp: false dns_servers: get_param: DnsServers addresses: - ip_netmask: list_join: - '/' - - get_param: ControlPlaneIp - get_param: ControlPlaneSubnetCidr routes: - ip_netmask: 169.x.x.x/32 next_hop: get_param: EC2MetadataIp - default: true next_hop: get_param: ControlPlaneDefaultRoute - type: vlan vlan_id: get_param: InternalApiNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: InternalApiIpSubnet - type: vlan vlan_id: get_param: StorageNetworkVlanID device: nic1 addresses: - ip_netmask: get_param: StorageIpSubnet - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: nic2 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet outputs: OS::stack_id: description: The OsNetConfigImpl resource. value: get_resource: OsNetConfigImpl
高度な vRouter カーネル モード構成
標準の NIC 構成に加えて、vRouter カーネル モードでは VLAN、ボンド、およびボンド + VLAN モードがサポートされます。以下の構成スニペットは、各モードの NIC テンプレート構成の関連セクションのみを示しています。
VLAN
- type: vlan vlan_id: get_param: TenantNetworkVlanID device: nic2 - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: str_replace: template: vlanVLANID params: VLANID: {get_param: TenantNetworkVlanID} use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
債券
- type: linux_bond name: bond0 bonding_options: "mode=4 xmit_hash_policy=layer2+3" use_dhcp: false members: - type: interface name: nic2 - type: interface name: nic3 - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: bond0 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
ボンド + VLAN
- type: linux_bond name: bond0 bonding_options: "mode=4 xmit_hash_policy=layer2+3" use_dhcp: false members: - type: interface name: nic2 - type: interface name: nic3 - type: vlan vlan_id: get_param: TenantNetworkVlanID device: bond0 - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: str_replace: template: vlanVLANID params: VLANID: {get_param: TenantNetworkVlanID} use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
高度な vRouter DPDK モード設定
標準のNIC設定に加えて、vRouter DPDKモードは、標準、VLAN、ボンド、およびボンド+ VLANモードをサポートします。
ネットワーク環境の設定:
vi ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml
巨大ページ数を有効にします。
# For Intel CPU ContrailDpdkParameters: KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024" ExtraSysctlSettings: # must be equal to value from kernel args: hugepages=4 vm.nr_hugepages: value: 4 vm.max_map_count: value: 128960
vRouter DPDK モードについては、次の NIC テンプレート設定を参照してください。以下の構成スニペットは、各モードの NIC 構成の関連セクションのみを示しています。
標準
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 members: - type: interface name: nic2 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
VLAN
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 vlan_id: get_param: TenantNetworkVlanID members: - type: interface name: nic2 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
債券
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 bond_mode: 4 bond_policy: layer2+3 members: - type: interface name: nic2 use_dhcp: false - type: interface name: nic3 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
ボンド + VLAN
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 vlan_id: get_param: TenantNetworkVlanID bond_mode: 4 bond_policy: layer2+3 members: - type: interface name: nic2 use_dhcp: false - type: interface name: nic3 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
高度な vRouter SRIOV + カーネル モード構成
vRouter SRIOV + カーネル モードは、次の組み合わせで使用できます。
標準
VLAN
債券
ボンド + VLAN
ネットワーク環境の構成:
vi ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml
巨大ページ数を有効にします。
ContrailSriovParameters: KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024" ExtraSysctlSettings: # must be equal to value from 1G kernel args: hugepages=4 vm.nr_hugepages: value: 4
SRIOV PF/VF設定:
NovaPCIPassthrough: - devname: "ens2f1" physical_network: "sriov1" ContrailSriovNumVFs: ["ens2f1:7"]
SRIOV NIC は、NIC テンプレートでは構成されません。ただし、vRouter NIC は引き続き構成する必要があります。vRouter カーネルモードについては、次の NIC テンプレート設定を参照してください。以下の構成スニペットは、各モードの NIC 構成の関連セクションのみを示しています。
VLAN
- type: vlan vlan_id: get_param: TenantNetworkVlanID device: nic2 - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: str_replace: template: vlanVLANID params: VLANID: {get_param: TenantNetworkVlanID} use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
債券
- type: linux_bond name: bond0 bonding_options: "mode=4 xmit_hash_policy=layer2+3" use_dhcp: false members: - type: interface name: nic2 - type: interface name: nic3 - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: bond0 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
ボンド + VLAN
- type: linux_bond name: bond0 bonding_options: "mode=4 xmit_hash_policy=layer2+3" use_dhcp: false members: - type: interface name: nic2 - type: interface name: nic3 - type: vlan vlan_id: get_param: TenantNetworkVlanID device: bond0 - type: contrail_vrouter name: vhost0 use_dhcp: false members: - type: interface name: str_replace: template: vlanVLANID params: VLANID: {get_param: TenantNetworkVlanID} use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
高度なvRouter SRIOV + DPDKモード設定
vRouter SRIOV + DPDKは、以下の組み合わせで使用できます。
標準
VLAN
債券
ボンド + VLAN
ネットワーク環境の構成:
vi ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml
巨大ページ数を有効にする
ContrailSriovParameters: KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024" ExtraSysctlSettings: # must be equal to value from 1G kernel args: hugepages=4 vm.nr_hugepages: value: 4
SRIOV PF/VF設定
NovaPCIPassthrough: - devname: "ens2f1" physical_network: "sriov1" ContrailSriovNumVFs: ["ens2f1:7"]
SRIOV NIC は、NIC テンプレートでは構成されません。ただし、vRouter NIC は引き続き構成する必要があります。vRouter DPDK モードについては、次の NIC テンプレート設定を参照してください。以下の構成スニペットは、各モードの NIC 構成の関連セクションのみを示しています。
標準
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 members: - type: interface name: nic2 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
VLAN
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 vlan_id: get_param: TenantNetworkVlanID members: - type: interface name: nic2 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
債券
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 bond_mode: 4 bond_policy: layer2+3 members: - type: interface name: nic2 use_dhcp: false - type: interface name: nic3 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet
ボンド + VLAN
- type: contrail_vrouter_dpdk name: vhost0 use_dhcp: false driver: uio_pci_generic cpu_list: 0x01 vlan_id: get_param: TenantNetworkVlanID bond_mode: 4 bond_policy: layer2+3 members: - type: interface name: nic2 use_dhcp: false - type: interface name: nic3 use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet