오버클라우드에 대한 IPv6 네트워킹 구성
IPv6 네트워킹을 사용하도록 오버클라우드 설정
OpenStack Documentation Team
rhos-docs@redhat.com
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat 문서에 관한 피드백 제공
문서 개선을 위한 의견을 보내 주십시오. Red Hat이 어떻게 더 나은지 알려주십시오.
Jira에서 문서 피드백 제공
문제 생성 양식을 사용하여 문서에 대한 피드백을 제공합니다. Jira 문제는 Red Hat OpenStack Platform Jira 프로젝트에서 생성되어 피드백의 진행 상황을 추적할 수 있습니다.
- Jira에 로그인했는지 확인합니다. Jira 계정이 없는 경우 피드백을 제출할 계정을 생성합니다.
- 다음 링크를 클릭하여 문제 생성 페이지를 엽니다. 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
- 요약 및 설명 필드를 작성합니다. 설명 필드에 문서 URL, 장 또는 섹션 번호, 문제에 대한 자세한 설명을 포함합니다. 양식의 다른 필드를 수정하지 마십시오.
- 생성을 클릭합니다.
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에서
로 표현을 줄일 수 있습니다. 자세한 내용은 "RFC 5952: A Recommendation for IPv6 Address text Representation"를 참조하십시오.
2001:db8:88ec
:9fb3::1
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 |
| |
스토리지 |
| |
스토리지 관리 |
| |
프로젝트 네트워크 |
| |
프로젝트 네트워크 끝점 |
| 이는 프로젝트 네트워크 자체가 아닌 프로젝트 네트워크 터널을 호스팅하는 네트워크의 IP 주소를 나타냅니다. 네트워크 끝점용 IPv6에서는 VXLAN 및 Geneve만 지원합니다. GRE(일반 라우팅 캡슐화)는 아직 지원되지 않습니다. |
외부 - 공용 API(및 Horizon) |
| |
외부 - 유동 IP |
| IPv6에서는 NAT 및 유동 IP 주소 대신 GUA(Global Unicast Address)를 사용합니다. Networking(neutron) 서비스는 프로젝트 네트워크 간에 IPv6 주소 지정을 GUA를 사용할 것으로 예상하고, 프로젝트 네트워크의 GUA는 겹치지 않으므로 NAT 없이 라우팅할 수 있습니다. 듀얼 스택(IPv4/v6)을 사용하면 유동 IP 주소를 사용하여 IPv4 서브넷의 IP 주소에만 연결할 수 있습니다. |
공급자 네트워크 |
| IPv6 지원은 프로젝트 운영 체제에 따라 다릅니다. |
프로비저닝 (PXE/DHCP) |
| |
IPMI 또는 기타 BMC |
| 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 설치를 참조하십시오.
- 오버클라우드 배포에 사용할 수 있는 노드입니다.
절차
노드 정의 템플릿을 생성한 후 stack 사용자의 홈 디렉터리(
/home/stack/instackenv.json
)에 저장한 다음 director로 가져옵니다.$ openstack overcloud node import ~/instackenv.json
이 명령은 템플릿을 가져와 템플릿의 각 노드를 director에 등록합니다.
커널 및 램디스크 이미지를 모든 노드에 할당합니다.
$ openstack overcloud node configure
이제 노드가 director에 등록 및 구성됩니다.
검증 단계
노드를 등록한 후 각 노드의 hardware 속성을 검사합니다.
$ openstack overcloud node introspect --all-manageable
중요노드는
manageable
상태에 있어야 합니다. 이 프로세스가 완료되었는지 확인합니다. 베어 메탈 노드의 경우 이 프로세스는 일반적으로 15분 정도 걸립니다.
2.3. IPv6 배포를 위한 노드 태그
노드의 하드웨어를 등록하고 검사한 후 각 노드를 특정 프로필에 태그합니다. 이러한 프로필 태그는 노드를 플레이버에 매핑하고, 차례로 플레이버가 배포 역할에 할당됩니다.
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.
프로세스
노드 목록을 검색하여 UUID를 확인합니다.
$ ironic node-list
각 노드의
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:control
및profile:compute
옵션을 추가하면 노드를 각 프로필에 태그합니다.참고수동 태그 지정 대신 자동 프로필 태그를 사용하여 데이터 벤치마킹을 기반으로 더 많은 수의 노드에 태그를 지정합니다.
2.4. IPv6 네트워킹 구성
기본적으로 오버클라우드는 인터넷 프로토콜 버전 4(IPv4)를 사용하여 서비스 엔드포인트를 구성합니다. 그러나 오버클라우드는 IPv6 인프라를 지원하는 조직에 유용한 인터넷 프로토콜 버전 6(IPv6) 끝점도 지원합니다. director에는 IPv6 기반 Overcloud를 만드는 데 사용할 수 있는 환경 파일 세트가 포함되어 있습니다.
Overcloud에서 IPv6를 구성하는 방법에 대한 자세한 내용은 오버클라우드 전용 IPv6 네트워킹 구성 가이드를 참조하십시오.
2.4.1. 구성 가능 IPv6 네트워킹 구성
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.
- 네트워크는 IPv6 네이티브 VLAN과 IPv4 네이티브 VLAN을 지원합니다.
절차
기본
network_data
파일을 복사합니다.$ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/.
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
를 사용하여 가독성을 위해 이름을 정규화할 수도 있습니다. 예를 들어InternalApi
를internal_api
로 변경합니다. -
VIP: true
는 새 네트워크의 기본값을 설정하여 새 네트워크에 VIP(가상 IP 주소)를 생성합니다. -
ipv6
는 IPv6를 활성화할지 여부를 정의합니다. -
ipv6_subnet
및ipv6_allocation_pools
,gateway_ip6
은 네트워크의 기본 IPv6 서브넷 및 IP 범위를 설정합니다.
-
-
-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 디렉토리 | 설명 | 환경 파일 |
---|---|---|
|
컨트롤 플레인 및 VLAN이 기본 Open vSwitch 브리지에 연결된 단일 NIC( |
|
|
컨트롤 플레인 및 VLAN이 기본 Linux 브리지에 연결된 단일 NIC( |
|
|
|
|
|
|
|
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 네트워킹을 사용하여 오버클라우드를 배포한 후 몇 가지 추가 구성을 수행해야 합니다.
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.
- 성공적인 오버클라우드 배포. 자세한 내용은 CLI 툴을 사용하여 기본 오버클라우드 생성을 참조하십시오.
3.1. 오버클라우드에 IPv6 프로젝트 네트워크 생성
오버클라우드에는 인스턴스에 IPv6 기반 프로젝트 네트워크가 필요합니다. overcloudrc
파일을 가져오고 neutron
에서 초기 프로젝트 네트워크를 생성합니다.
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.
- 성공적인 오버클라우드 배포. 자세한 내용은 CLI 툴을 사용하여 기본 오버클라우드 생성을 참조하십시오.
- 네트워크는 IPv6 네이티브 VLAN과 IPv4 네이티브 VLAN을 지원합니다.
절차
오버클라우드 인증 정보 파일을 가져옵니다.
$ source ~/overcloudrc
네트워크 및 서브넷을 생성합니다.
$ 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 공용 네트워크 생성
외부 네트워크를 사용하도록 노드 인터페이스를 구성한 후 오버클라우드에 이 네트워크를 생성하여 네트워크 액세스를 활성화해야 합니다.
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 director 설치를 참조하십시오.
- 성공적인 오버클라우드 배포. 자세한 내용은 CLI 툴을 사용하여 기본 오버클라우드 생성을 참조하십시오.
- 네트워크는 IPv6 네이티브 VLAN과 IPv4 네이티브 VLAN을 지원합니다.
절차
외부 네트워크 및 서브넷을 생성합니다.
$ 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
이라는 네트워크를 생성합니다.인스턴스 트래픽을 외부 네트워크로 라우팅하는 라우터를 만듭니다.
$ openstack router create public-router $ openstack router set public-router --external-gateway public