4.5. コンピュート用のカスタム NIC 設定の作成
以下の手順では、Leaf0、Leaf1、および Leaf2 上のコンピュートノードの YAML 設定を作成します。
手順
カスタムの NIC ディレクトリーに移動します。
$ cd ~/templates/spine-leaf-nics/
-
compute0.yaml
テンプレートを編集します。 parameters
セクションのControlPlaneSubnetCidr
パラメーターおよびControlPlaneDefaultRoute
パラメーターまでスクロールします。これらのパラメーターは、以下のスニペットのようになります。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
Leaf0 に応じてこれらのパラメーターを変更します。
ControlPlane0SubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. type: string ControlPlane0DefaultRoute: # Override this via parameter_defaults description: The default route of the control plane network. type: string
parameters
セクションのEC2MetadataIp
パラメーターまでスクロールします。このパラメーターは、以下のスニペットのようになります。EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string
Leaf0 に応じてこれらのパラメーターを変更します。
Leaf0EC2MetadataIp: # 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:
スクリプトの場所を絶対パスに変更します。
resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config:
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: ControlPlane0SubnetCidr routes: - ip_netmask: 169.254.169.254/32 next_hop: get_param: Leaf0EC2MetadataIp - ip_netmask: 192.168.10.0/24 next_hop: get_param: ControlPlane0DefaultRoute
この例で使用されているパラメーターは Leaf0 固有の
ControlPlane0SubnetCidr
、Leaf0EC2MetadataIp
、およびControlPlane0DefaultRoute
です。ルートとして使用されているプロビジョニングネットワーク (192.168.10.0/24) 上の Leaf0 の CIDR の使用方法にも注目してください。members
セクションの各 VLAN には、関連する Leaf0 パラメーターが含まれている必要があります。たとえば、Storage ネットワークの VLAN 情報は、以下のスニペットのようになります。- type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet
ルーティングのパラメーターを定義するセクションを追加します。これには、supernet ルート (ここでは
StorageSupernet
) およびリーフのデフォルトルート (ここではStorage0InterfaceDefaultRoute
) が含まれます。- type: vlan vlan_id: get_param: Storage0NetworkVlanID addresses: - ip_netmask: get_param: Storage0IpSubnet routes: - ip_netmask: get_param: StorageSupernet next_hop: get_param: Storage0InterfaceDefaultRoute
Storage
、InternalApi
、およびTenant
コントローラーネットワークの VLAN 設定を追加します。- このファイルを保存します。
compute1.yaml
を編集して、同じ手順を実施します。変更の一覧は以下のとおりです。-
ControlPlaneSubnetCidr
をControlPlane1SubnetCidr
に変更します。 -
ControlPlaneDefaultRoute
をControlPlane1DefaultRoute
に変更します。 -
EC2MetadataIp
をLeaf1EC2MetadataIp
に変更します。 -
ネットワーク設定スクリプトを
../../scripts/run-os-net-config.sh
から/usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
に変更します。 - Leaf1 パラメーターを使用するように、コントロールプレーンとプロビジョニングのインターフェイスを変更します。
- Leaf1 ルートが含まれるように各 VLAN を変更します。
編集が終わったらファイルを保存してください。
-
compute2.yaml
を編集して、同じ手順を実施します。変更の一覧は以下のとおりです。-
ControlPlaneSubnetCidr
をControlPlane2SubnetCidr
に変更します。 -
ControlPlaneDefaultRoute
をControlPlane2DefaultRoute
に変更します。 -
EC2MetadataIp
をLeaf2EC2MetadataIp
に変更します。 -
ネットワーク設定スクリプトを
../../scripts/run-os-net-config.sh
から/usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
に変更します。 - Leaf2 パラメーターを使用するように、コントロールプレーンとプロビジョニングのインターフェイスを変更します。
- Leaf2 ルートが含まれるように各 VLAN を変更します。
編集が終わったらファイルを保存してください。
-