오버클라우드용 IPv6 네트워킹

Red Hat OpenStack Platform 16.2

IPv6 네트워킹을 사용하도록 오버클라우드 구성

OpenStack Documentation Team

초록

이 가이드에서는 Red Hat OpenStack Platform director에서 엔드포인트에 IPv6를 사용하는 Overcloud를 생성하는 방법에 대한 정보를 제공합니다. 여기에는 director가 이를 달성하기 위해 IPv6 기반 Overcloud 및 설정 옵션을 배포하는 방법에 대한 정보가 포함됩니다.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견을 보내 주십시오. Red Hat이 어떻게 이를 개선하는지 알려주십시오.

DDF(직접 문서 피드백) 기능 사용

특정 문장, 단락 또는 코드 블록에 대한 직접 주석은 피드백 추가 DDF 기능을 사용하십시오.

  1. 다중 페이지 HTML 형식으로 설명서를 봅니다.
  2. 문서 오른쪽 상단에 Feedback (피드백) 버튼이 표시되는지 확인합니다.
  3. 주석 처리하려는 텍스트 부분을 강조 표시합니다.
  4. 피드백 추가를 클릭합니다.
  5. 주석을 사용하여 Add Feedback (피드백 추가) 필드를 작성합니다.
  6. 선택 사항: 설명서 팀이 문제에 대한 자세한 내용을 문의할 수 있도록 이메일 주소를 추가하십시오.
  7. Submit(제출)을 클릭합니다.

1장. 오버클라우드의 IPv6 소개

Red Hat OpenStack Platform director는 오버클라우드라는 클라우드 환경을 생성합니다. 기본적으로 오버클라우드는 IPv4)를 사용하여 서비스 엔드포인트를 구성합니다. 그러나 오버클라우드는 IPv6 인프라를 지원하는 조직에 유용한 IPv6) 엔드포인트도 지원합니다.

이 가이드는 Director 설치 및 사용 가이드에 대한 보조 정보 역할을 합니다. Director 설치 및 사용량에 지정된 것과 동일한 요구 사항이 이 가이드에도 적용됩니다. 필요에 따라 이러한 요구 사항을 구현하십시오.

1.1. IPv6 네트워킹 소개

IPv6는 최신 버전의 Internet Protocol 표준입니다. IETF(Internet Engineering Task Force)는 현재 일반적인 IPv4 표준의 IP 주소 고갈을 해결하기 위한 수단으로 IPv6를 개발했습니다. IPv6는 다음을 포함하여 IPv4와 다양한 차이점을 갖습니다.

큰 IP 주소 범위
IPv6 범위는 IPv4 범위보다 훨씬 큽니다.
더 나은 엔드-투-엔드 연결성
더 큰 IP 범위는 네트워크 주소 변환에 대한 의존도가 낮기 때문에 더 나은 엔드 투 엔드 연결을 제공합니다.
방송 없음
IPv6는 기존 IP 방송을 지원하지 않습니다. 대신 IPv6에서는 멀티캐스팅을 사용하여 계층적으로 해당 호스트에 패킷을 보냅니다.
SLAAC(상태 비저장 주소 자동 구성)
IPv6는 IP 주소를 자동으로 구성하고 네트워크에서 중복 주소를 감지하는 기능을 제공합니다. 이렇게 하면 DHCP 서버에서 주소를 할당하는 데 대한 의존도가 줄어듭니다.

IPv6에서는 128비트(16비트 그룹을 사용하는 4개 16진수로 표시됨)를 사용하여 주소를 정의하는 반면 IPv4는 32비트만 사용합니다(8비트 그룹을 사용하여 십진수 숫자 표시됨). 예를 들어 IPv4 주소(192.168.0.1) 표현은 다음과 같습니다.

비트표현

11000000

192

10101000

168

00000000

0

00000001

1

IPv6 주소(2001:db8:88ec:9fb3::1)의 경우 표현은 다음과 같습니다.

비트표현

0010 0000 0000 0001

2001

0000 1101 1011 1000

0db8

1000 1000 1110 1100

88EC

1001 1111 1011 0011

9fb3

0000 0000 0000 0000

0000

0000 0000 0000 0000

0000

0000 0000 0000 0000

0000

0000 0000 0000 0001

0001

또한 각 비트 그룹에서 선행 제로 없이 IPv6 주소를 나타내고 각 IP 주소에 대해 0비트 그룹 집합을 한 번 생략할 수도 있습니다. 이 예제에서는 0db8 비트 그룹화를 db8 로 표시하고 3 세트의 0000 비트 그룹을 생략하면 2001:0db8:88ec:9fb3:0000:0001에서 2001:db8:88ec:9fb3:0000:0001 에서 2001:db8:88ec:9fb3::1 로 표현을 단축할 수 있습니다. 자세한 내용은 "RFC 5952: IPv6 주소 텍스트 표현 권장"

IPv6의 서브넷 설정

IPv4와 유사하게 IPv6 주소는 비트 마스크를 사용하여 네트워크로 주소 접두사를 정의합니다. 예를 들어 샘플 IP 주소 2001:db8:88ec:9fb3::1/64/64 비트 마스크를 포함하는 경우 비트 마스크는 첫 번째 64비트(2001:db8:88ec:9fb3)를 네트워크로정의하는 접두사 역할을 합니다. 나머지 비트(0000:0000:0001)는 호스트를 정의합니다.

IPv6에서는 몇 가지 특수 주소 유형도 사용합니다.

루프백
루프백 장치는 호스트 내의 내부 통신에 IPv6를 사용합니다. 이 장치는 항상 ::1/128 입니다.
로컬 링크
링크 로컬 주소는 특정 네트워크 세그먼트 내에서 유효한 IP 주소입니다. IPv6에서는 각 네트워크 장치에 링크 로컬 주소가 있어야 하며 접두사 fe80::/10 을 사용해야 합니다. 그러나 대부분의 경우 이러한 주소 앞에는 fe80::/64 가 있습니다.
고유 로컬
고유한 로컬 주소는 로컬 통신을 위한 것입니다. 이 주소는 fc00::/7 접두사를 사용합니다.
멀티 캐스트
호스트는 멀티캐스트 주소를 사용하여 멀티캐스트 그룹에 참여합니다. 이 주소는 ff00::/8 접두사를 사용합니다. 예를 들어, FF02::1 은 네트워크의 모든 노드에 대한 멀티캐스트 그룹이며, FF02::2 는 모든 라우터의 멀티캐스트 그룹입니다.
글로벌 유니캐스트
이러한 주소는 일반적으로 공용 IP 주소용으로 예약됩니다. 이 주소는 2000::/3 접두사를 사용합니다.

1.2. Red Hat OpenStack Platform에서 IPv6 사용

RHOSP(Red Hat OpenStack Platform) director는 OpenStack 서비스를 격리된 네트워크에 매핑합니다. 이러한 네트워크에는 다음이 포함됩니다.

  • 내부 API
  • 스토리지
  • 스토리지 관리
  • 프로젝트(테넌트) 네트워크(Neutron VLAN 모드)
  • 외부

이러한 네트워크 트래픽 유형에 대한 자세한 내용은 Director 설치 및 사용 가이드를 참조하십시오.

director는 해당 네트워크에 대해 IPv6 통신을 사용하는 방법도 제공합니다. 즉, 필수 OpenStack 서비스, 데이터베이스 및 기타 관련 서비스는 IPv6 주소를 사용하여 통신합니다. 이는 여러 컨트롤러 노드가 포함된 고가용성 솔루션을 사용하는 환경에도 적용됩니다. 이를 통해 조직에서 RHOSP를 IPv6 인프라와 통합하는 데 도움이 됩니다.

다음 표를 RHOSP 네트워크가 IPv6를 지원하는 가이드로 사용하십시오.

네트워크 유형지원되는 인터넷 프로토콜 (IP)참고

내부 API

  • IPv6
  • IPv4
 

스토리지

  • IPv6
  • IPv4
 

스토리지 관리

  • IPv6
  • IPv4
 

프로젝트 네트워크

  • 듀얼 스택(IPv4/v6)
  • IPv6
  • IPv4
 

프로젝트 네트워크 엔드 포인트

  • 듀얼 스택 (IPv4/v6)
  • IPv6
  • IPv4

이는 프로젝트 네트워크 자체가 아니라 프로젝트 네트워크 터널을 호스팅하는 네트워크의 IP 주소를 나타냅니다.

네트워크 엔드포인트의 IPv6는 VXLAN 및 Geneve만 지원합니다. GRE(Generic Routing Encapsulation)는 아직 지원되지 않습니다.

external - 공용 API(및 Horizon)

  • IPv6
  • IPv4
 

외부 - 유동 IP

  • 듀얼 스택 (IPv4/v6)
  • IPv4

IPv6에서는 NAT 및 유동 IP 주소 대신 GUA(Global Unicast Address)를 사용합니다. 네트워킹(neutron) 서비스에서는 프로젝트 네트워크 간 IPv6 주소 지정에서 GUA를 사용할 것으로 예상하고, 따라서 NAT 없이 라우팅할 수 있습니다.

듀얼 스택(IPv4/v6)을 사용하면 유동 IP 주소를 사용하여 IPv4 서브넷의 IP 주소에만 연결할 수 있습니다.

공급자 네트워크

  • 듀얼 스택 (IPv4/v6)
  • IPv6
  • IPv4

IPv6 지원은 프로젝트 운영 체제에 따라 다릅니다.

프로비저닝(PXE/DHCP)

  • IPv6
  • IPv4
 

IPMI 또는 기타 BMC

  • IPv6
  • IPv4

RHOSP는 프로비저닝 네트워크를 통해 BMC(Baseboard Management Controller) 인터페이스와 통신합니다.

BMC 인터페이스가 듀얼 스택 IPv4 또는 IPv6를 지원하는 경우 RHOSP에 포함되지 않는 툴은 IPv6를 사용하여 BMC와 통신할 수 있습니다.

오버클라우드 프로비저닝 네트워크

IPv6

오버클라우드의 베어 메탈 프로비저닝 서비스에 사용되는 프로비저닝 네트워크입니다.

오버클라우드 정리 네트워크

없음

시스템을 재사용할 준비가 되기 전에 시스템을 정리하는 데 사용되는 격리된 네트워크입니다.

시나리오 정의

이 가이드의 시나리오는 IPv6를 사용하는 격리된 네트워크로 오버클라우드를 생성하는 것입니다. heat 템플릿 및 환경 파일을 사용하여 네트워크 분리를 구성합니다. 이 시나리오는 이러한 heat 템플릿 및 환경 파일에 특정 변형을 제공하여 구성의 특정 차이점을 보여줍니다.

참고

이 시나리오에서는 언더클라우드는 여전히 PXE 부팅, 인트로스펙션, 배포 및 기타 서비스에 IPv4 연결을 사용합니다.

이 가이드에서는 고급 오버클라우드 시나리오와 유사한 시나리오를 사용합니다. 주요 차이점은 Ceph Storage 노드의 생략입니다.

이 시나리오에 대한 자세한 내용은 Director 설치 및 사용 가이드를 참조하십시오.

중요

이 가이드는 RFC 3849 에 정의된 문서 목적으로 2001:DB8::/32 IPv6 접두사를 사용합니다. 해당 네트워크의 IPv6 주소에 대해 이러한 예제 주소를 대체해야 합니다.

2장. IPv6용 오버클라우드 설정

다음 장에서는 openstack overcloud deploy 명령을 실행하기 전에 필요한 구성을 설명합니다. 여기에는 프로비저닝을 위한 노드 준비, 언더클라우드에서 IPv6 주소 구성, 오버클라우드의 IPv6 매개 변수를 정의할 네트워크 환경 파일 생성 등이 포함됩니다.

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
  • 네트워크에서 IPv6 네이티브 VLAN은 물론 IPv4 네이티브 VLAN을 지원합니다.

2.1. 언더클라우드에서 IPv6 주소 구성

Undercloud에서는 외부 네트워크에 있는 Overcloud 공용 API에 액세스해야 합니다. 이를 위해 언더클라우드 호스트에는 외부 네트워크에 연결하는 인터페이스에 IPv6 주소가 필요합니다.

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
  • 네트워크에서 IPv6 네이티브 VLAN은 물론 IPv4 네이티브 VLAN을 지원합니다.
  • 언더클라우드에서 사용할 수 있는 IPv6 주소입니다.

기본 VLAN 또는 전용 인터페이스

언더클라우드에서 기본 VLAN 또는 외부 네트워크에 연결된 전용 인터페이스를 사용하는 경우 ip 명령을 사용하여 IPv6 주소를 인터페이스에 추가합니다. 이 예에서 전용 인터페이스는 eth0 입니다.

$ sudo ip link set dev eth0 up; sudo ip addr add 2001:db8::1/64 dev eth0

트렁크된 VLAN 인터페이스

언더클라우드에서 컨트롤 플레인 브리지(br-ctlplane)와 동일한 인터페이스에서 트렁크된 VLAN을 사용하여 외부 네트워크에 액세스하는 경우 새 VLAN 인터페이스를 생성하여 컨트롤 플레인에 연결하고 IPv6 주소를 VLAN에 추가합니다. 이 예에서 외부 네트워크 VLAN ID는 100 입니다.

$ sudo ovs-vsctl add-port br-ctlplane vlan100 tag=100 -- set interface vlan100 type=internal
$ sudo ip l set dev vlan100 up; sudo ip addr add 2001:db8::1/64 dev vlan100

IPv6 주소 확인

ip 명령을 사용하여 IPv6 주소 추가를 확인합니다.

$ ip addr

선택한 인터페이스에 IPv6 주소가 표시됩니다.

영구 IPv6 주소 설정

IPv6 주소를 영구적으로 만들려면 /etc/sysconfig/network-scripts/ 에 적절한 인터페이스 파일을 수정하거나 만듭니다. 이 예에서는 ifcfg-eth0 또는 ifcfg- vlan100 에 다음 행을 포함합니다.

IPV6INIT=yes
IPV6ADDR=2001:db8::1/64

자세한 내용은 Red Hat 고객 포털에서 IPv6에 대한 네트워크 인터페이스를 구성하는 방법을 참조하십시오.

2.2. IPv6 배포를 위해 노드 등록 및 검사

노드 정의 템플릿(instackenv.json)은 노드를 등록하기 위한 하드웨어 및 전원 관리 세부 정보가 포함된 JSON 형식 파일입니다. 예를 들면 다음과 같습니다.

{
    "nodes":[
        {
            "mac":[
                "bb:bb:bb:bb:bb:bb"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.205"
        },
        {
            "mac":[
                "cc:cc:cc:cc:cc:cc"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.206"
        },
        {
            "mac":[
                "dd:dd:dd:dd:dd:dd"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.207"
        },
        {
            "mac":[
                "ee:ee:ee:ee:ee:ee"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.208"
        }
        {
            "mac":[
                "ff:ff:ff:ff:ff:ff"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.209"
        }
        {
            "mac":[
                "gg:gg:gg:gg:gg:gg"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.210"
        }
    ]
}

사전 요구 사항

절차

  1. 노드 정의 템플릿을 생성한 후 stack 사용자의 홈 디렉터리(/home/stack/instackenv.json)에 파일을 저장한 다음 director로 가져옵니다.

    $ openstack overcloud node import ~/instackenv.json

    이 명령은 템플릿을 가져오고 템플릿의 각 노드를 director에 등록합니다.

  2. 커널 및 ramdisk 이미지를 모든 노드에 할당합니다.

    $ openstack overcloud node configure

    노드가 director에 등록되어 구성됩니다.

검증 단계

  • 노드를 등록한 후 각 노드의 하드웨어 특성을 검사합니다.

    $ openstack overcloud node introspect --all-manageable
    중요

    노드는 manageable 상태여야 합니다. 이 프로세스가 완료되었는지 확인합니다. 베어 메탈 노드의 경우 이 프로세스는 일반적으로 15분 정도 걸립니다.

2.3. IPv6 배포를 위한 노드 태그

노드의 하드웨어를 등록하고 검사한 후 각 노드를 특정 프로필에 태그합니다. 이러한 프로필 태그는 노드를 플레이버에 매핑한 다음 플레이버가 배포 역할에 할당됩니다.

사전 요구 사항

절차

  1. 노드 목록을 검색하여 UUID를 확인합니다.

    $ ironic node-list
  2. profile 옵션을 각 노드의 properties/capabilities 매개변수에 추가합니다. 예를 들어 컨트롤러 프로필과 세 개의 노드를 사용하여 compute 프로필을 사용하도록 3개의 노드를 태그하려면 다음 명령을 사용합니다.

    $ ironic node-update 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 add properties/capabilities='profile:control,boot_option:local'
    $ ironic node-update 6faba1a9-e2d8-4b7c-95a2-c7fbdc12129a add properties/capabilities='profile:control,boot_option:local'
    $ ironic node-update 5e3b2f50-fcd9-4404-b0a2-59d79924b38e add properties/capabilities='profile:control,boot_option:local'
    $ ironic node-update 484587b2-b3b3-40d5-925b-a26a2fa3036f add properties/capabilities='profile:compute,boot_option:local'
    $ ironic node-update d010460b-38f2-4800-9cc4-d69f0d067efe add properties/capabilities='profile:compute,boot_option:local'
    $ ironic node-update d930e613-3e14-44b9-8240-4f3559801ea6 add properties/capabilities='profile:compute,boot_option:local'

    profile:control 및 profile: compute 옵션을 추가하면 각 프로필에 노드가 태그됩니다.

    참고

    수동 태그 대신 자동 프로필 태그를 사용하여 벤치마킹 데이터를 기반으로 다수의 노드에 태그를 지정합니다.

2.4. IPv6 네트워킹 구성

이 섹션에서는 Overcloud의 네트워크 구성을 검사합니다. 여기에는 특정 네트워크 트래픽을 사용하고 IPv6 옵션으로 Overcloud를 구성하는 OpenStack 서비스를 격리하는 작업이 포함됩니다.

2.4.1. 구성 가능 IPv6 네트워킹 구성

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
  • 네트워크에서 IPv6 네이티브 VLAN은 물론 IPv4 네이티브 VLAN을 지원합니다.

절차

  1. 기본 network_data 파일을 복사합니다.

    $ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/.
  2. network_data.yaml 파일의 로컬 사본을 편집하고 IPv6 네트워킹 요구 사항에 맞게 매개변수를 수정합니다. 예를 들어 외부 네트워크에는 다음과 같은 기본 네트워크 세부 정보가 포함되어 있습니다.

    - name: External
      vip: true
      name_lower: external
      vlan: 10
      ipv6: true
      ipv6_subnet: '2001:db8:fd00:1000::/64'
      ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
      gateway_ipv6: '2001:db8:fd00:1000::1'
    • name 은 유일한 필수 값이지만 name_lower 를 사용하여 가독성을 위해 이름을 표준화할 수도 있습니다. 예를 들어 InternalApiinternal_api 로 변경합니다.
    • VIP: true 는 새 네트워크의 기본값을 설정하여 나머지 매개 변수를 사용하여 새 네트워크에 가상 IP 주소(VIP)를 생성합니다.
    • ipv6 은 IPv6 활성화 여부를 정의합니다.
    • ipv6_subnetipv6_allocation_poolsgateway_ip6 은 네트워크의 기본 IPv6 서브넷과 IP 범위를 설정합니다.
  3. n 옵션을 사용하여 배포와 함께 사용자 지정 network_data 파일을 포함합니다. n 옵션을 사용하지 않으면 배포 명령에서 기본 네트워크 세부 정보를 사용합니다.

2.4.2. 오버클라우드에서 IPv6 네트워크 격리

Overcloud는 기본적으로 provisioning 네트워크에 서비스를 할당합니다. 그러나 director는 오버클라우드 네트워크 트래픽을 격리된 네트워크로 나눌 수 있습니다. 이러한 네트워크는 기본적으로 network_data.yaml 이라는 배포 명령줄에 포함하는 파일에 정의되어 있습니다.

서비스가 IPv6 주소를 사용하여 네트워크에서 수신 대기하는 경우 매개 변수 기본값을 제공하여 서비스가 IPv6 네트워크에서 실행 중임을 나타내야 합니다. 각 서비스가 실행되는 네트워크는 파일 network/service_net_map.yaml 에 의해 정의되며 개별 ServiceNetMap 항목에 대한 매개변수 기본값을 선언하여 재정의할 수 있습니다. 이러한 서비스에는 환경 파일에 매개변수 기본값을 설정해야 합니다.

parameter_defaults:
  # Enable IPv6 for Ceph.
  CephIPv6: True
  # Enable IPv6 for Corosync. This is required when Corosync is using an IPv6 IP in the cluster.
  CorosyncIPv6: True
  # Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP.
  MongoDbIPv6: True
  # Enable various IPv6 features in Nova.
  NovaIPv6: True
  # Enable IPv6 environment for RabbitMQ.
  RabbitIPv6: True
  # Enable IPv6 environment for Memcached.
  MemcachedIPv6: True
  # Enable IPv6 environment for MySQL.
  MysqlIPv6: True
  # Enable IPv6 environment for Manila
  ManilaIPv6: True
  # Enable IPv6 environment for Redis.
  RedisIPv6: True

코어 heat 템플릿의 environments/network-isolation.j2.yaml 파일은 구성 가능한 네트워크 파일에 있는 각 IPv6 네트워크의 모든 포트 및 VIP를 정의하는 Jinja2 파일입니다. 렌더링되면 network-isolation.yaml 파일이 전체 리소스 레지스트리와 동일한 위치에 생성됩니다.

2.4.3. IPv6 격리된 네트워크 구성

기본 heat 템플릿 컬렉션에는 기본 네트워킹 구성에 대한 Jinja2 기반 환경 파일이 포함되어 있습니다. 이 파일은 environments/network-environment.j2.yaml 입니다. network_data 파일과 함께 렌더링되면 network-environment.yaml 이라는 표준 YAML 파일이 생성됩니다. 이 파일의 일부 부분에 재정의가 필요할 수 있습니다.

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 언더클라우드에 director 설치를 참조하십시오.
  • 네트워크에서 IPv6 네이티브 VLAN은 물론 IPv4 네이티브 VLAN을 지원합니다.

절차

  • 다음 세부 사항을 사용하여 사용자 지정 환경 파일(/home/stack/network-environment.yaml)을 생성합니다.

    parameter_defaults:
      DnsServers: ["8.8.8.8","8.8.4.4"]
      ControlPlaneDefaultRoute: 192.0.2.1
      ControlPlaneSubnetCidr: "24"

    parameter_defaults 섹션에는 IPv4에 남아 있는 특정 서비스에 대한 사용자 지정이 포함되어 있습니다.

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

오버클라우드에는 네트워크 인터페이스 템플릿 세트가 필요합니다. director에는 network_data 파일을 기반으로 렌더링하는 Jinja2 기반 Heat 템플릿 세트가 포함되어 있습니다.

NIC 디렉토리설명환경 파일

single-nic-vlans

컨트롤플레인 및 VLAN이 기본 Open vSwitch 브리지에 연결된 단일 NIC(nic1).

environments/net-single-nic-with-vlans-v6.j2.yaml

single-nic-linux-bridge-vlans

기본 Linux 브리지에컨트롤플레인 및 VLAN이 연결된 단일 NIC(nic1)입니다.

environments/net-single-nic-linux-bridge-with-vlans-v6.yaml

bond-with-vlans

nic1 에 연결된 컨트롤 플레인. 본딩된 NIC 구성(nic2 및 nic 3) 및 연결된 VLAN이 있는기본 Open vSwitch 브리지.

environments/net-bond-with-vlans-v6.yaml

multiple-nics

nic1 에 연결된 컨트롤 플레인. 순차적으로 각 NIC를 network _data 파일에 정의된 각 네트워크에 할당합니다. 기본적으로 Storage to nic2, Storage Management to nic3, Internal API to nic4, br-tenant 브리지에서 nic5 에 테넌트, 기본 Open vSwitch 브리지에서 nic6 으로 외부입니다.

environments/net-multiple-nics-v6.yaml

2.5. IPv6 오버클라우드 배포

IPv6 네트워킹을 사용하는 오버클라우드를 배포하려면 배포 명령에 추가 인수를 포함해야 합니다.

사전 요구 사항

절차

$ openstack overcloud deploy --templates \
  -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml \
  -e /home/stack/templates/network-environment.yaml \
  --ntp-server pool.ntp.org \
  [ADDITIONAL OPTIONS]

위의 명령은 다음 옵션을 사용합니다.

  • --templates - 기본 heat 템플릿 컬렉션에서 오버클라우드를 생성합니다.
  • -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml - 오버클라우드 배포에 환경 파일을 추가합니다. 이 경우 IPv6에 대한 네트워크 격리 구성을 초기화하는 환경 파일입니다.
  • -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml - 오버클라우드 배포에 추가 환경 파일을 추가합니다. 이 경우 IPv6에 대한 네트워크 격리 구성을 초기화하는 환경 파일입니다.
  • -e /home/stack/network-environment.yaml - 오버클라우드 배포에 추가 환경 파일을 추가합니다. 이 경우 IPv6와 관련된 재정의가 포함됩니다.

    network_data.yaml 파일에 ipv6: true 설정이 포함되어 있는지 확인합니다. 이전 버전의 Red Hat OpenStack director에는 외부 네트워크의 IPv6(기본값) 및 컨트롤 플레인의 IPv4용의 두 가지 경로가 포함되어 있었습니다. 두 기본 경로를 모두 사용하려면 roles_data.yaml 파일의 컨트롤러 정의에 default_ route_networks 매개변수의 두 네트워크가 모두 포함되어 있는지 확인합니다. 예를 들어 default_route_networks: ['External', 'ControlPlane'] 입니다.

  • --ntp-server pool.ntp.org - NTP 서버를 설정합니다.

오버클라우드 생성 프로세스가 시작되고 director는 오버클라우드 노드를 프로비저닝합니다. 이 프로세스를 완료하는 데 다소 시간이 걸립니다. 오버클라우드 생성 상태를 보려면 stack 사용자로 별도의 터미널을 열고 다음을 실행합니다.

$ source ~/stackrc
$ heat stack-list --show-nested

오버클라우드 액세스

director는 director 호스트에서 오버클라우드와의 상호 작용을 구성하고 인증을 지원하는 스크립트를 생성합니다. director는 이 파일(overcloudrc)을 stack 사용자의 홈 디렉터리에 저장합니다. 이 파일을 사용하려면 다음 명령을 실행합니다.

$ source ~/overcloudrc

이렇게 하면 director 호스트 CLI에서 오버클라우드와 상호 작용하는 데 필요한 환경 변수가 로드됩니다. director 호스트와의 상호 작용으로 돌아가려면 다음 명령을 실행합니다.

$ source ~/stackrc

3장. 배포 후 IPv6 작업

IPv6 네트워킹을 사용하여 오버클라우드를 배포한 후 몇 가지 추가 구성을 수행해야 합니다.

사전 요구 사항

3.1. 오버클라우드에서 IPv6 프로젝트 네트워크 생성

오버클라우드에는 인스턴스에는 IPv6 기반 프로젝트 네트워크가 필요합니다. overcloudrc 파일을 가져오고 neutron 에 초기 프로젝트 네트워크를 생성합니다.

사전 요구 사항

절차

  1. 오버클라우드 자격 증명 파일을 가져옵니다.

    $ source ~/overcloudrc
  2. 네트워크 및 서브넷을 만듭니다.

    $ openstack network create default --external --provider-physical-network datacentre --provider-network-type vlan --provider-segment 101
    
    $ openstack subnet create default --subnet-range 2001:db8:fd00:6000::/64 --ipv6-address-mode slaac --ipv6-ra-mode slaac --ip-version 6 --network default

    이렇게 하면 default 라는 기본 neutron 네트워크가 생성됩니다.

검증 단계

  • 네트워크가 성공적으로 생성되었는지 확인합니다.

    $ openstack network list
    $ openstack subnet list

3.2. 오버클라우드에서 IPv6 공용 네트워크 생성

외부 네트워크를 사용하도록 노드 인터페이스를 구성한 후 네트워크 액세스를 활성화하려면 오버클라우드에서 이 네트워크를 생성해야 합니다.

사전 요구 사항

절차

  1. 외부 네트워크 및 서브넷을 생성합니다.

    $ openstack network create public --external --provider-physical-network datacentre --provider-network-type vlan --provider-segment 100
    
    $ openstack subnet create public --network public --subnet-range 2001:db8:0:2::/64 --ip-version 6 --gateway 2001:db8::1 --allocation-pool start=2001:db8:0:2::2,end=2001:db8:0:2::ffff --ipv6-address-mode slaac --ipv6-ra-mode slaac

    이 명령은 인스턴스의 65000 IPv6 주소의 할당 풀을 제공하는 public 이라는 네트워크를 생성합니다.

  2. 인스턴스 트래픽을 외부 네트워크로 라우팅할 라우터를 만듭니다.

    $ openstack router create public-router
    $ openstack router set public-router --external-gateway public

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.