3장. RHOSP 동적 라우팅용 언더클라우드 배포


언더클라우드는 오버클라우드라는 최종 RHOSP(Red Hat OpenStack Platform) 환경의 구성, 설치, 관리를 제어하는 노드입니다. 언더클라우드는 컨테이너에서 실행되는 OVN BGP 에이전트를 포함한 OpenStack Platform 구성 요소 서비스를 사용합니다. 이러한 컨테이너화된 서비스에는 오버클라우드를 생성하고 관리하는 데 사용하는 RHOSP director라는 툴이 포함되어 있습니다.

이 섹션에 포함된 항목은 다음과 같습니다.

3.1. RHOSP 동적 라우팅을 위한 언더클라우드 설치 및 구성

RHOSP(Red Hat OpenStack Platform) director를 사용하여 RHOSP 언더클라우드에 동적 라우팅을 설치하고 구성합니다. 높은 수준의 단계는 다음과 같습니다.

  1. (선택 사항) frr-parameters.yaml 에서 언더클라우드의 BGP 구성 값을 설정합니다.
  2. undercloud.conf 에서 undercloud의 spine-leaf 네트워크 토폴로지 구성 값을 설정합니다.
  3. openstack undercloud install 명령을 실행합니다.

프로세스

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

    $ source ~/stackrc
  3. BGP를 사용하여 다른 랙 및 오버클라우드 노드에 도달하려는 경우 사용자 지정 heat 환경 파일인 /home/stack/templates/frr-parameters.yaml 에 다음 매개변수를 추가하여 언더클라우드에 FRRouting(FRR)을 설치합니다.

    참고

    이 경로를 상기하십시오. 이는 이후 단계에서 필요합니다.

    예제

    parameter_defaults:
      ContainerFrrImage: registry.redhat.io/rhosp-17.1/openstack-frr-rhel9:17.1.1
      FrrBfdEnabled: true
      FrrBgpEnabled: true
      FrrBgpAsn: 64999
      FrrBgpUplinks: ['nic2', 'nic3']
      FrrBgpUplinksScope: internal
      FrrLogLevel: debugging
      FrrBgpRouterID: 172.30.4.1
      FrrBgpIpv4SrcIp: 172.30.4.1
      FrrBgpIpv6SrcIp: fe80::5054:ff:fe74:73ce

    작은 정보

    자세한 내용은 Overcloud 매개변수 가이드의 네트워킹(neutron) 매개변수를 참조하십시오.

    FrrBfdEnabled
    true 인 경우 양방향 전달 탐지(BFD)를 활성화합니다. 기본값은 false입니다.
    FrrBgpEnabled
    true 인 경우 BGP(Border Gateway Protocol)를 활성화합니다. 기본값은 true입니다.
    FrrBgpAsn
    FRRouting 내에서 사용할 기본 ASN입니다. 기본값은 65000 입니다. FrrBgpAsn 은 사용되는 각 역할에 대해 다른 값으로 설정할 수 있습니다.
    FrrBgpUplinks
    쉼표로 구분된 uplink 네트워크 인터페이스 목록입니다. 기본값은 ['nic1', 'nic2'] 입니다.
    FrrBgpUplinksScope
    내부(iBGP) 또는 외부(eBGP) 포르투어와 피어링합니다. 기본값은 internal 입니다.
    FrrLogLevel
    값 집합을 사용하여 FRR 로그 수준을 지정합니다. 긴급 상황,경고,중요,오류,경고,알림,정보 제공 . 기본값은 informational 입니다.
    FrrBgpRouterID
    FRR에서 사용할 BGP router_id 입니다.
    FrrBgpIpv4SrcIp
    IPv4 네트워크 트래픽의 소스 IP 주소입니다.
    FrrBgpIpv6SrcIp
    IPv6 네트워크 트래픽의 소스 IP 주소입니다.
    tripleo_frr_bgp_peers
    IP 주소 또는 Free Range Routing (FRR)의 호스트 이름을 지정하는 데 사용되는 역할별 매개변수입니다.
    tripleo_frr_ovn_bgp_agent_enable
    데이터 플레인 경로가 노출되지 않는 RHOSP 노드에서 OVN BGP 에이전트를 활성화하거나 비활성화하는 데 사용되는 역할별 매개변수입니다. 기본값은 true입니다.
  4. undercloud.conf 파일이 없는 경우 샘플 템플릿 파일을 복사합니다.

    $ cp /usr/share/python-tripleoclient/undercloud.conf.sample \
    ~/templates/undercloud.conf
  5. [DEFAULT] 섹션에서 다음 일반 매개변수 값을 설정합니다.

    예제

    [DEFAULT]
    # General
    cleanup = false
    container_images_file=/home/stack/templates/
    \containers-prepare-parameter.yaml
    overcloud_domain_name = {{ cloud_domain }}
    undercloud_timezone = UTC
    undercloud_hostname = undercloud-0.{{ cloud_domain }}
    
    # BGP on undercloud
    ...
    
    # TLS-e
    ...
    
    # Networking
    ...
    
    # Subnets
    ...

    작은 정보

    자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 Undercloud 구성 매개변수를 참조하십시오.

    overcloud_domain_name
    오버클라우드를 배포할 때 사용할 DNS 도메인 이름을 지정합니다. 후속 단계에서는 이 값이 오버클라우드 CloudDomain 매개변수의 값과 일치하는지 확인해야 합니다.
    cleanup
    임시 파일을 삭제합니다. 배포 중에 사용되는 임시 파일을 유지하려면 이를 false 로 설정합니다. 임시 파일은 오류가 발생하는 경우 배포를 디버깅하는 데 도움이 될 수 있습니다.
    container_images_file
    컨테이너 이미지 정보를 사용하여 Heat 환경 파일을 지정합니다.
    container_insecure_registries
    podman이 사용할 수 있는 비보안 레지스트리 목록입니다. 개인 컨테이너 레지스트리와 같은 다른 소스에서 이미지를 가져오려는 경우 이 매개변수를 사용합니다.
    custom_env_files
    언더클라우드 설치에 추가할 추가 환경 파일입니다.
    undercloud_hostname
    언더클라우드에 대해 정규화된 호스트 이름을 정의합니다. 설정되어 있는 경우 언더클라우드 설치 시 모든 시스템 호스트 이름 설정이 구성됩니다. 설정되어 있지 않은 경우 언더클라우드에서 현재 호스트 이름을 사용하지만 사용자가 모든 시스템 호스트 이름 설정을 적절하게 구성해야 합니다.
    undercloud_timezone
    언더클라우드의 호스트 시간대입니다. 시간대를 지정하지 않으면 director는 기존의 표준 시간대 설정을 사용합니다.
  6. 언더클라우드에 BGP를 설치하려면 [DEFAULT] 섹션에서 언더클라우드의 FRRR을 활성화하고 이전 단계에서 FRR 매개변수 값을 설정하는 사용자 지정 환경 파일을 가리킵니다.

    예제

    [DEFAULT]
    # General
    ...
    
    # BGP on undercloud
    enable_frr=true
    custom_env_files=/home/stack/templates/frr-parameters.yaml
    
    # TLS-e
    ...
    
    # Networking
    ...
    
    # Subnets
    ...

  7. TLS-everywhere를 사용하는 경우 [DEFAULT] 섹션에서 다음 TLS-everywhere 매개변수 값을 설정합니다.

    예제

    [DEFAULT]
    # General
    ...
    
    # BGP on undercloud
    ...
    
    # TLS-e
    enable_novajoin = False
    undercloud_nameservers = {{ freeipa_ip }}
    generate_service_certificate = True
    ipa_otp = {{ undercloud_otp }}
    
    # Networking
    ...
    
    # Subnets
    ...

    작은 정보

    자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 Undercloud 구성 매개변수를 참조하십시오.

    enable_novajoin
    true 인 경우 novajoin 서비스가 TLS를 배포할 수 있도록 합니다.
    undercloud_nameservers
    언더클라우드 이름 서버에 대한 DNS 서버의 현재 IP 주소를 지정합니다. 이 정보는 /etc/resolv.conf 에서 확인할 수 있습니다.
    generate_service_certificate
    언더클라우드 설치 중에 undercloud_service_certificate 매개변수에 사용되는 SSL/TLS 인증서를 생성할지 여부를 정의합니다.
    ipa_otp
    FreeIPA OTP 사실을 설정합니다.
  8. [DEFAULT] 섹션에서 다음 networking 매개변수 값을 설정합니다.

    예제

    [DEFAULT]
    # General
    ...
    
    # BGP on undercloud
    ...
    
    # TLS-e
    ...
    
    # Networking
    local_interface = eth0
    local_ip = {{ undercloud_ctlplane }}/24
    undercloud_public_host = {{ undercloud_public_host }}
    undercloud_admin_host = {{ undercloud_admin_host }}
    
    # Subnets
    ...

    작은 정보

    자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 Undercloud 구성 매개변수를 참조하십시오.

    local_interface
    로컬 네트워크의 브릿지에 대한 인터페이스입니다.
    local_ip
    leaf0 에서 언더클라우드의 IP 주소입니다.
    undercloud_public_host
    언더클라우드의 외부에서 IP 주소.
    undercloud_admin_host
    언더클라우드의 관리 IP 주소입니다. 이 IP 주소는 일반적으로 leaf0에 있습니다.
  9. subnets 매개변수에서 이전에 정의한 각 서브넷에 대한 새 섹션을 만듭니다.

    중요

    director가 서브넷을 생성한 후에는 director가 서브넷의 IP 주소를 변경할 수 없습니다.

    예제

    [DEFAULT]
    # General
    ...
    
    # BGP on undercloud
    ...
    
    # TLS-e
    ...
    
    # Networking
    ...
    
    # Subnets
    [r1]
    # This subnet is used for overcloud nodes deployed on rack1.
    cidr = 192.168.1.0/24
    dhcp_start = 192.168.1.150
    dhcp_end = 192.168.1.170
    inspection_iprange = 192.168.1.171,192.168.1.185
    gateway = 192.168.1.1
    masquerade = False
    [r2]
    # This subnet is used for overcloud nodes deployed on rack2.
    cidr = 192.168.2.0/24
    dhcp_start = 192.168.2.150
    dhcp_end = 192.168.2.170
    inspection_iprange = 192.168.2.171,192.168.2.185
    gateway = 192.168.2.1
    masquerade = False
    [r3]
    # This subnet is used for overcloud nodes deployed on rack3.
    cidr = 192.168.3.0/24
    dhcp_start = 192.168.3.150
    dhcp_end = 192.168.3.170
    inspection_iprange = 192.168.3.171,192.168.3.185
    gateway = 192.168.3.1
    masquerade = False
    [r4]
    # This subnet is used for the underloud node and potentially FreeIPA
    # that are deployed on rack4.
    cidr = 192.168.4.0/24
    dhcp_start = {{ undercloud_dhcp_start }}
    dhcp_end = 192.168.4.170
    inspection_iprange = 192.168.4.171,192.168.4.185
    gateway = 192.168.4.1
    masquerade = False

    작은 정보

    자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 서브넷 참조하십시오.

    cidr
    director에서 오버클라우드 인스턴스를 관리하는 데 사용하는 네트워크입니다. 이 네트워크는 언더클라우드의 neutron 서비스에서 관리하는 프로비저닝 네트워크입니다. 프로비저닝 네트워크에 다른 서브넷을 사용하지 않는 경우 기본값 192.168.24.0/24로 두십시오.
    masquerade

    외부 액세스를 위해 cidr에 정의된 네트워크를 마스커레이드할지 여부를 정의합니다. 그러면 프로비저닝 네트워크에 NAT(네트워크 주소 변환)가 제공되어 director를 통해 프로비저닝 네트워크에 외부 액세스 권한이 부여됩니다.

    참고

    director 설정은 관련 sysctl 커널 매개변수를 사용하여 IP 전달을 자동으로 활성화합니다.

    dhcp_startdhcp_end
    오버클라우드 노드의 DHCP 할당 범위 시작과 끝 값입니다. 이 범위에 노드를 할당하기에 충분한 IP 주소가 포함되어 있는지 확인하십시오.
    dhcp_exclude
    DHCP 할당 범위에서 제외할 IP 주소입니다.
    dns_nameservers
    서브넷과 관련된 DNS 네임 서버입니다. 서브넷의 네임 서버가 정의되지 않은 경우 서브넷에서는 undercloud_nameservers 매개변수에 정의된 네임 서버를 사용합니다.
    gateway
    오버클라우드 인스턴스의 게이트웨이입니다. 트래픽을 외부 네트워크로 전달하는 언더클라우드 호스트입니다. director에 다른 IP 주소를 사용하거나 외부 게이트웨이를 직접 사용하려는 경우를 제외하고 기본값 192.168.24.1로 두십시오.
  10. install 명령을 실행합니다.

    $ openstack undercloud install
  11. 언더클라우드에 각 리프 및 랙에 도달하기 위해 추가 네트워크 경로를 포함하여 올바른 네트워크 구성이 있는지 확인합니다.

    자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 Director 구성 매개변수를 참조하십시오.

검증

  1. director 설정 스크립트는 모든 서비스를 자동으로 시작합니다. RHOSP 서비스 컨테이너가 실행 중인지 확인합니다.

    $ sudo podman ps -a --format "{{.Names}} {{.Status}}"

    샘플 출력

    RHOSP 서비스 컨테이너가 Up 이라는 것을 나타내는 다음과 유사한 출력이 표시됩니다.

    memcached Up 3 hours (healthy)
    haproxy Up 3 hours
    rabbitmq Up 3 hours (healthy)
    mysql Up 3 hours (healthy)
    iscsid Up 3 hours (healthy)
    keystone Up 3 hours (healthy)
    keystone_cron Up 3 hours (healthy)
    neutron_api Up 3 hours (healthy)
    logrotate_crond Up 3 hours (healthy)
    neutron_dhcp Up 3 hours (healthy)
    neutron_l3_agent Up 3 hours (healthy)
    neutron_ovs_agent Up 3 hours (healthy)
    ironic_api Up 3 hours (healthy)
    ironic_conductor Up 3 hours (healthy)
    ironic_neutron_agent Up 3 hours (healthy)
    ironic_pxe_tftp Up 3 hours (healthy)
    ironic_pxe_http Up 3 hours (unhealthy)
    ironic_inspector Up 3 hours (healthy)
    ironic_inspector_dnsmasq Up 3 hours (healthy)
    neutron-dnsmasq-qdhcp-30d628e6-45e6-499d-8003-28c0bc066487 Up 3 hours
    ...
  2. stack 사용자를 초기화하여 명령줄 툴을 사용할 수 있는지 확인합니다.

    $ source ~/stackrc

    프롬프트가 (undercloud) 표시되면 OpenStack 명령이 언더클라우드에 대해 인증 및 실행됨을 나타냅니다.

    샘플 출력

    (undercloud) [stack@director ~]$

    director 설치가 완료되었습니다. 이제 director 명령행 툴을 사용할 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동