4.6. IPv6을 통해 베어 메탈 프로비저닝의 언더클라우드 설정

IPv6 노드 및 인프라가 있는 경우 director에서 Red Hat OpenStack Platform을 IPv6 노드에 프로비저닝하고 배포할 수 있도록 IPv4 대신 IPv6을 사용하게 언더클라우드 및 프로비저닝 네트워크를 설정할 수 있습니다. 여기에는 몇 가지 고려 사항이 있습니다.

  • Dual stack IPv4/6을 사용할 수 없습니다.
  • Tempest 검증이 제대로 수행되지 않을 수 있습니다.
  • IPv4에서 IPv6으로 마이그레이션은 업그레이드중에는 사용할 수 없습니다.

undercloud.conf 파일을 수정하여 Red Hat OpenStack Platform에서 IPv6 프로비저닝을 활성화합니다.

사전 요구 사항

절차

  1. undercloud.conf 파일을 엽니다.
  2. IPv6 주소 모드를 stateless 또는 stateful으로 지정합니다.

    [DEFAULT]
    ipv6_address_mode = <address_mode>
    ...

    NIC 에서 지원하는 모드를 기반으로 <address_mode >를 dhcpv6-stateless 또는 dhcpv6-stateful 로 바꿉니다.

    참고

    상태 저장 주소 모드를 사용하면 펌웨어, 체인 로더 및 운영 체제에서 서로 다른 알고리즘을 사용하여 DHCP 서버가 추적하는 ID를 생성할 수 있습니다. DHCPv6에서는 MAC별 주소를 추적하지 않으며 요청자의 식별자 값이 변경되었지만 MAC 주소는 동일하게 유지됩니다. 따라서 stateful DHCPv6을 사용하는 경우 네트워크 인터페이스를 구성하기 위해 다음 단계를 완료해야 합니다.

  3. 상태 저장 DHCPv6을 사용하도록 언더클라우드를 구성한 경우 베어 메탈 노드에 사용할 네트워크 인터페이스를 지정합니다.

    [DEFAULT]
    ipv6_address_mode = dhcpv6-stateful
    ironic_enabled_network_interfaces = neutron,flat
    ...
  4. 베어 메탈 노드의 기본 네트워크 인터페이스를 설정합니다.

    [DEFAULT]
    ...
    ironic_default_network_interface = neutron
    ...
  5. 언더클라우드에서 provisioning 네트워크에 라우터를 생성할지 여부를 지정합니다.

    [DEFAULT]
    ...
    enable_routed_networks: <true/false>
    ...
    • & lt;true/false >를 true 로 교체하여 라우팅된 네트워크를 활성화하고 언더클라우드에서 프로비저닝 네트워크에서 라우터를 생성하지 못하도록 합니다. true 인 경우 데이터 센터 라우터에서 라우터 알림을 제공해야 합니다.
    • 라우팅된 네트워크를 비활성화하려면 &lt ;true/ false >를 false로 바꾸고 provisioning 네트워크에서 라우터를 생성합니다.
  6. SSL/TLS를 통해 로컬 IP 주소와 director Admin API 및 공용 API 끝점의 IP 주소를 구성합니다.

    [DEFAULT]
    ...
    local_ip = <ipv6_address>
    undercloud_admin_host = <ipv6_address>
    undercloud_public_host = <ipv6_address>
    ...

    & lt;ipv6_address& gt;를 언더클라우드의 IPv6 주소로 바꿉니다.

  7. 선택 사항: director에서 인스턴스를 관리하는 데 사용하는 프로비저닝 네트워크를 구성합니다.

    [ctlplane-subnet]
    cidr = <ipv6_address>/<ipv6_prefix>
    ...
    • 기본 프로비저닝 네트워크를 사용하지 않는 경우 인스턴스 관리에 사용할 < ipv6_address >를 네트워크의 IPv6 주소로 바꿉니다.
    • & lt;ipv6_prefix >를 기본 프로비저닝 네트워크를 사용하지 않는 경우 인스턴스를 관리하는 데 사용할 네트워크의 IP 주소 접두사로 바꿉니다.
  8. 노드 프로비저닝을 위해 DHCP 할당 범위를 구성합니다.

    [ctlplane-subnet]
    cidr = <ipv6_address>/<ipv6_prefix>
    dhcp_start = <ipv6_address_dhcp_start>
    dhcp_end = <ipv6_address_dhcp_end>
    ...
    • & lt;ipv6_address_dhcp_start >를 오버클라우드 노드에 사용할 네트워크 범위 시작의 IPv6 주소로 바꿉니다.
    • & lt;ipv6_address_dhcp_end >를 오버클라우드 노드에 사용할 네트워크 범위 끝의 IPv6 주소로 바꿉니다.
  9. 선택 사항: 트래픽을 외부 네트워크로 전달할 게이트웨이를 구성합니다.

    [ctlplane-subnet]
    cidr = <ipv6_address>/<ipv6_prefix>
    dhcp_start = <ipv6_address_dhcp_start>
    dhcp_end = <ipv6_address_dhcp_end>
    gateway = <ipv6_gateway_address>
    ...

    기본 게이트웨이를 사용하지 않는 경우 <ipv6_gateway_address >를 게이트웨이의 IPv6 주소로 바꿉니다.

  10. 검사 프로세스 중에 사용할 DHCP 범위를 구성합니다.

    [ctlplane-subnet]
    cidr = <ipv6_address>/<ipv6_prefix>
    dhcp_start = <ipv6_address_dhcp_start>
    dhcp_end = <ipv6_address_dhcp_end>
    gateway = <ipv6_gateway_address>
    inspection_iprange = <ipv6_address_inspection_start>,<ipv6_address_inspection_end>
    ...
    • 검사 프로세스 중에 사용할 네트워크 범위 시작의 IPv6 주소로 <ipv6_ address_inspection_start>를 바꿉니다.
    • 검사 프로세스 중에 사용할 네트워크 범위 끝에 < ipv6_address_inspection_end >를 IPv6 주소로 바꿉니다.
    참고

    이 범위는 dhcp_startdhcp_end 에 정의된 범위와 겹치지 않아야 하지만 동일한 IP 서브넷에 있어야 합니다.

  11. 서브넷의 IPv6 이름 서버를 구성합니다.

    [ctlplane-subnet]
    cidr = <ipv6_address>/<ipv6_prefix>
    dhcp_start = <ipv6_address_dhcp_start>
    dhcp_end = <ipv6_address_dhcp_end>
    gateway = <ipv6_gateway_address>
    inspection_iprange = <ipv6_address_inspection_start>,<ipv6_address_inspection_end>
    dns_nameservers = <ipv6_dns>

    & lt;ipv6_dns& gt;를 서브넷과 관련된 DNS 이름 서버로 교체합니다.