8.3. 네트워크 인터페이스 템플릿

Overcloud 네트워크 설정에는 네트워크 인터페이스 템플릿 집합이 필요합니다. 이러한 템플릿은 YAML 형식의 표준 heat 템플릿입니다. 각 역할에는 director가 해당 역할 내의 각 노드를 올바르게 구성할 수 있도록 NIC 템플릿이 필요합니다.

모든 NIC 템플릿에는 표준 heat 템플릿과 동일한 섹션이 포함됩니다.

heat_template_version
사용할 구문 버전입니다.
description
템플릿의 문자열 설명입니다.
parameters
템플릿에 포함할 네트워크 매개 변수입니다.
resources
매개 변수에 정의된 매개 변수를 사용하여 네트워크 구성 스크립트에 적용합니다.
출력
구성에 사용되는 최종 스크립트를 렌더링합니다.

/usr/share/openstack-tripleo-heat-templates/network/config 의 기본 NIC 템플릿은 Jinja2 구문을 사용하여 템플릿을 렌더링합니다. 예를 들어 single-nic-vlans 구성의 다음 코드 조각은 각 네트워크에 대해 일련의 VLAN을 렌더링합니다.

{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
- type: vlan
  vlan_id:
    get_param: {{network.name}}NetworkVlanID
  addresses:
  - ip_netmask:
      get_param: {{network.name}}IpSubnet
{%- if network.name in role.default_route_networks %}

기본 컴퓨팅 노드의 경우 스토리지, 내부 API 및 테넌트 네트워크에 대한 네트워크 정보만 렌더링합니다.

- type: vlan
  vlan_id:
    get_param: StorageNetworkVlanID
  device: bridge_name
  addresses:
  - ip_netmask:
      get_param: StorageIpSubnet
- type: vlan
  vlan_id:
    get_param: InternalApiNetworkVlanID
  device: bridge_name
  addresses:
  - ip_netmask:
      get_param: InternalApiIpSubnet
- type: vlan
  vlan_id:
    get_param: TenantNetworkVlanID
  device: bridge_name
  addresses:
  - ip_netmask:
      get_param: TenantIpSubnet

10장. 사용자 정의 네트워크 인터페이스 템플릿 기본 Jinja2 기반 템플릿을 표준 YAML 버전으로 렌더링하는 방법을 살펴봅니다. 사용자 지정의 기준으로 사용할 수 있습니다.