오버클라우드에 대한 IPv6 네트워킹 구성

Red Hat OpenStack Platform 17.1

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

OpenStack Documentation Team

초록

이 가이드에서는 Red Hat OpenStack Platform director를 사용하여 엔드 포인트에 IPv6를 사용하는 오버클라우드를 생성하는 방법에 대한 정보를 제공합니다. 여기에는 director가 IPv6 기반 오버클라우드를 배포하는 방법과 이를 수행하기 위한 설정 옵션에 대한 정보가 포함됩니다.

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

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

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

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

Jira에서 문서 피드백 제공

문제 생성 양식을 사용하여 문서에 대한 피드백을 제공합니다. Jira 문제는 Red Hat OpenStack Platform Jira 프로젝트에서 생성되어 피드백의 진행 상황을 추적할 수 있습니다.

  1. Jira에 로그인했는지 확인합니다. Jira 계정이 없는 경우 피드백을 제출할 계정을 생성합니다.
  2. 다음 링크를 클릭하여 문제 생성 페이지를 엽니다. https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12336920&summary=Documentation%20feedback:%20%3CAdd%20summary%20here%3E&issuetype=1&description=<Include+the+documentation+URL,+the%20chapter+or+section+number,+and+a+detailed+description+of+the+issue.>&components=12391143&priority=10300
  3. 요약설명 필드를 작성합니다. 설명 필드에 문서 URL, 장 또는 섹션 번호, 문제에 대한 자세한 설명을 포함합니다. 양식의 다른 필드를 수정하지 마십시오.
  4. 생성을 클릭합니다.

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

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

이 정보는 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리의 보조 항목입니다. director를 사용하여 Red Hat OpenStack Platform 설치 및 관리에 지정된 것과 동일한 요구 사항이 이 가이드에도 적용됩니다. 필요에 따라 이러한 요구 사항을 구현합니다.

1.1. IPv6 네트워킹 소개

IPv6는 인터넷 프로토콜 표준의 최신 버전입니다. 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진수로 표시됨)를 사용하여 주소를 정의하고 IPv4는 32비트만 사용합니다(8비트 그룹을 사용하여 10진수로 표시됨). 예를 들어 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 로 표시하고 0000 비트 그룹의 세 세트를 생략하여 2001:0db8:88ec:9fb3:0000:0000:0001에서 2001:db8:88ec:9fb3::1 로 표현을 줄일 수 있습니다. 자세한 내용은 "RFC 5952: A Recommendation for IPv6 Address text Representation"를 참조하십시오.

IPv6의 서브넷 설정

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

IPv6에서는 일부 특수 주소 유형도 사용합니다.

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

1.2. Red Hat OpenStack Platform에서 IPv6 사용

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

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

이러한 네트워크 트래픽 유형에 대한 자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리를 참조하십시오.

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

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

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

내부 API

  • IPv6
  • IPv4
 

스토리지

  • IPv6
  • IPv4
 

스토리지 관리

  • IPv6
  • IPv4
 

프로젝트 네트워크

  • Dual-stack(IPv4/v6)
  • IPv6
  • IPv4
 

프로젝트 네트워크 끝점

  • Dual stack (IPv4/v6)
  • IPv6
  • IPv4

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

네트워크 끝점용 IPv6에서는 VXLAN 및 Geneve만 지원합니다. GRE(일반 라우팅 캡슐화)는 아직 지원되지 않습니다.

외부 - 공용 API(및 Horizon)

  • IPv6
  • IPv4
 

외부 - 유동 IP

  • Dual stack (IPv4/v6)
  • IPv4

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

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

공급자 네트워크

  • Dual stack (IPv4/v6)
  • IPv6
  • IPv4

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

프로비저닝 (PXE/DHCP)

  • IPv6
  • IPv4
 

IPMI 또는 기타 BMC

  • IPv6
  • IPv4

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

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

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

IPv6

오버클라우드의 ironic에 사용되는 프로비저닝 네트워크입니다.

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

없음

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

시나리오 정의

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

참고

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

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

이 시나리오에 대한 자세한 내용은 director를 사용하여 Red Hat OpenStack Platform 설치 및 관리를 참조하십시오.

중요

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

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

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

사전 요구 사항

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

2.1. 언더클라우드에서 IPv6 주소 설정

언더클라우드는 외부 네트워크에 있는 오버클라우드 공용 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"
        }
    ]
}

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.
  • 오버클라우드 배포에 사용할 수 있는 노드입니다.

절차

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

    $ openstack overcloud node import ~/instackenv.json

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

  2. 커널 및 램디스크 이미지를 모든 노드에 할당합니다.

    $ openstack overcloud node configure

    이제 노드가 director에 등록 및 구성됩니다.

검증 단계

  • 노드를 등록한 후 각 노드의 hardware 속성을 검사합니다.

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

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

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

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

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.

프로세스

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

    $ ironic node-list
  2. 각 노드의 properties/capabilities 매개변수에 프로필 옵션을 추가합니다. 예를 들어 컨트롤러 프로필과 컴퓨팅 프로필을 사용하도록 노드 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:controlprofile:compute 옵션을 추가하면 노드를 각 프로필에 태그합니다.

    참고

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

2.4. IPv6 네트워킹 구성

기본적으로 오버클라우드는 인터넷 프로토콜 버전 4(IPv4)를 사용하여 서비스 엔드포인트를 구성합니다. 그러나 오버클라우드는 IPv6 인프라를 지원하는 조직에 유용한 인터넷 프로토콜 버전 6(IPv6) 끝점도 지원합니다. director에는 IPv6 기반 Overcloud를 만드는 데 사용할 수 있는 환경 파일 세트가 포함되어 있습니다.

Overcloud에서 IPv6를 구성하는 방법에 대한 자세한 내용은 오버클라우드 전용 IPv6 네트워킹 구성 가이드를 참조하십시오.

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 는 새 네트워크의 기본값을 설정하여 새 네트워크에 VIP(가상 IP 주소)를 생성합니다.
    • ipv6 는 IPv6를 활성화할지 여부를 정의합니다.
    • ipv6_subnetipv6_allocation_pools, gateway_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.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:
      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

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

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

bond-with-vlans

nic1 에 연결된 컨트롤 플레인. 연결된 NIC 구성(nic2nic3)과 VLAN이 연결된 기본 Open vSwitch 브리지입니다.

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

multiple-nics

nic1 에 연결된 컨트롤 플레인. network_data 파일에 정의된 각 네트워크에 순차적 NIC를 할당합니다. 기본적으로 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 네트워킹을 사용하는 오버클라우드를 배포하려면 배포 명령에 추가 인수를 포함해야 합니다.

사전 요구 사항

  • 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.

프로세스

$ 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 © 2024 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.