4.3. 리프 역할에 대한 사용자 정의 NIC 구성 생성

RHOSP(Red Hat OpenStack Platform) director에서 생성하는 각 역할에는 고유한 NIC 설정이 필요합니다. 사용자 정의 템플릿을 각 역할에 매핑하는 사용자 지정 환경 파일 및 NIC 템플릿 세트를 생성하려면 다음 단계를 완료합니다.

사전 요구 사항

  • 언더클라우드 호스트 및 stack 사용자의 자격 증명에 액세스합니다.
  • 사용자 지정 네트워크 정의 파일이 있습니다.
  • 사용자 지정 역할 데이터 파일이 있습니다.

절차

  1. 언더클라우드 호스트에 stack 사용자로 로그인합니다.
  2. stackrc 언더클라우드 인증 정보 파일을 소싱합니다.

    $ source ~/stackrc
  3. NIC 구성에 대한 사용자 지정 템플릿의 기반으로 사용할 기본 NIC 템플릿 중 하나에서 콘텐츠를 복사합니다.

    예제

    이 예에서는 single-nic-vlans NIC 템플릿이 복사되고 NIC 구성의 사용자 지정 템플릿의 기반으로 사용됩니다.

    $ cp -r /usr/share/ansible/roles/tripleo_network_config/\
    templates/single-nic-vlans/* /home/stack/templates/spine-leaf-nics/.
  4. 이전 단계에서 복사한 NIC 템플릿에서 각 NIC 구성을 편집하여 스파인-리프 토폴로지의 세부 사항을 반영합니다.

    예제

    {% set mtu_list = [ctlplane_mtu] %}
    {% for network in role_networks %}
    {{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }}
    {%- endfor %}
    {% set min_viable_mtu = mtu_list | max %}
    network_config:
    - type: ovs_bridge
      name: {{ neutron_physical_bridge_name }}
      mtu: {{ min_viable_mtu }}
      use_dhcp: false
      dns_servers: {{ ctlplane_dns_nameservers }}
      domain: {{ dns_search_domains }}
      addresses:
      - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }}
      routes: {{ ctlplane_host_routes }}
      members:
      - type: interface
        name: nic1
        mtu: {{ min_viable_mtu }}
        # force the MAC address of the bridge to this interface
        primary: true
    {% for network in role_networks %}
      - type: vlan
        mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }}
        vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }}
        addresses:
        - ip_netmask:
            {{ lookup('vars', networks_lower[network] ~ '_ip') }}/{{ lookup('vars', networks_lower[network] ~ '_cidr') }}
        routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }}
    {% endfor %}

    작은 정보

    자세한 내용은 Director 설치 및 사용 가이드의 사용자 지정 네트워크 인터페이스 템플릿을 참조하십시오.

  5. 사용자 지정 NIC 템플릿을 각 사용자 지정 역할에 매핑하는 parameter_defaults 섹션이 포함된 spine-leaf-nic-roles-map.yaml 과 같은 사용자 지정 환경 파일을 생성합니다.

    parameter_defaults:
      %%ROLE%%NetworkConfigTemplate: <path_to_ansible_jinja2_nic_config_file>

    예제

    parameter_defaults:
      Controller0NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      Controller1NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      Controller2NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      ComputeLeaf0NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      ComputeLeaf1NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      ComputeLeaf2NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      CephStorage0NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      CephStorage1NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'
      CephStorage2NetworkConfigTemplate: '/home/stack/templates/spine-leaf-nics/single-nic-vlans.j2'

다음 단계

  1. 사용자 정의 NIC 템플릿의 경로 및 파일 이름과 사용자 정의 NIC 템플릿을 각 사용자 지정 역할에 매핑하는 사용자 지정 환경 파일을 기록해 둡니다. 나중에 오버클라우드를 배포할 때 이 정보가 필요합니다.
  2. 다음 단계로 개별 네트워크를 매핑하고 컨트롤 플레인 매개변수를 설정합니다.

추가 리소스