오버클라우드용 IPv6 네트워킹
IPv6 네트워킹을 사용하도록 오버클라우드 구성
초록
1장. 소개 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenStack Platform director는 Overcloud 라는 클라우드 환경을 생성합니다. 기본적으로 Overcloud는 인터넷 프로토콜 버전 4(IPv4)를 사용하여 서비스 엔드포인트를 구성합니다. 그러나 Overcloud는 IPv6 인프라를 지원하는 조직에 유용한 인터넷 프로토콜 버전 6(IPv6) 엔드포인트도 지원합니다. 이 가이드에서는 오버클라우드에서 IPv6를 사용하기 위한 정보 및 구성 예를 제공합니다.
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비트 그룹을 사용하는 16진수로 표시됨)를 사용하여 주소를 정의하고 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 주소에 /64 비트 마스크를 포함하는 경우(예: 2001:db8:88ec:9fb3::1/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 사용 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenStack Platform director는 OpenStack 서비스를 격리된 네트워크에 매핑하는 방법을 제공합니다. 이러한 네트워크에는 다음이 포함됩니다.
- 내부 API
- 스토리지
- 스토리지 관리
- 테넌트 네트워크(Neutron VLAN 모드)
- 외부
이러한 네트워크 트래픽 유형에 대한 자세한 내용은 Red Hat OpenStack Platform 8 Director 설치 및 사용 가이드의 네트워크 계획을 참조하십시오.
Red Hat OpenStack Platform director는 이러한 네트워크에 IPv6 통신을 사용하는 방법도 제공합니다. 즉, 필요한 OpenStack 서비스, 데이터베이스 및 기타 관련 서비스는 IPv6 주소를 사용하여 통신합니다. 이는 여러 컨트롤러 노드와 관련된 고가용성 솔루션을 사용하는 환경에도 적용됩니다. 이를 통해 조직은 Red Hat OpenStack Platform을 IPv6 인프라와 통합할 수 있습니다.
다음 표를 Red Hat OpenStack Platform에서 IPv6를 지원하는 네트워크에 대한 가이드로 사용하십시오.
| 네트워크 유형 | Dual Stack(IPv4/v6) | 단일 스택(IPv6) | 단일 스택(IPv4) | 참고 |
|---|---|---|---|---|
| 내부 API | 제공됨 | 제공됨 | ||
| 스토리지 | 제공됨 | 제공됨 | ||
| 스토리지 관리 | 제공됨 | 제공됨 | ||
| 테넌트 네트워크 | 제공됨 | 제공됨 | 제공됨 | |
| 테넌트 네트워크 끝점 | 제공됨 | 테넌트 네트워크 자체가 아닌 테넌트 네트워크 터널을 호스팅하는 네트워크의 IP 주소를 나타냅니다. | ||
| 외부 - 공용 API(및 Horizon) | 제공됨 | 제공됨 | ||
| 외부 - 유동 IP | 예 [1] | 예 [1] | 제공됨 | |
| 공급자 네트워크 | 제공됨 | 제공됨 | 제공됨 | IPv6 지원은 테넌트 OS에 따라 다릅니다. |
| 프로비저닝 (PXE/DHCP) | 제공됨 | 이 네트워크의 인터페이스는 IPv4 전용입니다. | ||
| IPMI 또는 기타 BMC | 제공됨 | OpenStack Platform은 IPv4인 프로비저닝 네트워크를 통해 BMC 인터페이스와 통신합니다. 그러나 BMC 인터페이스가 듀얼 스택 IPv4/IPv6을 지원하는 경우 비OpenStack 플랫폼 툴에서 IPv6를 사용하여 BMC와 통신할 수 있습니다. | ||
| 오버클라우드 프로비저닝 네트워크 | 오버클라우드의 Ironic용 프로비저닝 네트워크 | |||
| 오버클라우드 정리 네트워크 | 다시 사용할 준비가 되기 전에 머신을 정리하는 격리된 네트워크 |
[1]GUA(Global Unicast Address) 접두사 및 주소가 할당된 Neutron 테넌트 네트워크에는 neutron 라우터 외부 게이트웨이 포트의 NAT가 외부 세계에 액세스할 필요가 없습니다.
1.3. 요구 사항 설정 링크 복사링크가 클립보드에 복사되었습니다!
이 안내서는 Red Hat OpenStack Platform 8 Director 설치 및 사용 가이드의 보조 정보 역할을 합니다. 즉, 요구 사항에 지정된 동일한 요구 사항이 이 가이드에도 적용됩니다. 필요에 따라 이러한 요구 사항을 구현합니다.
이 가이드에서는 다음이 필요합니다.
- Red Hat OpenStack Platform director가 설치된 Undercloud 호스트. Undercloud 설치를 참조하십시오.
- 네트워크는 IPv6 네이티브 VLAN과 IPv4 네이티브 VLAN을 지원합니다. 둘 다 배포에 사용됩니다.
1.4. 시나리오 정의 링크 복사링크가 클립보드에 복사되었습니다!
이 가이드의 시나리오는 IPv6를 사용하는 격리된 네트워크로 Overcloud를 생성하는 것입니다. 이 가이드에서는 Heat 템플릿 및 환경 파일을 사용하여 구성된 네트워크 격리를 통해 이 목표를 달성하는 것을 목표로 합니다. 이 시나리오에서는 이러한 Heat 템플릿 및 환경 파일에 특정 변형을 제공하여 구성의 특정 차이점을 보여줍니다.
이 시나리오에서 Undercloud는 여전히 PXE 부팅, 인트로스펙션, 배포 및 기타 서비스에 IPv4 연결을 사용합니다.
이 가이드에서는 Red Hat OpenStack Platform 8 Director 설치 및 사용 가이드의 Advanced Overcloud 시나리오와 유사한 시나리오를 사용합니다. 가장 큰 차이점은 Ceph Storage 노드의 누락입니다.
이 시나리오에 대한 자세한 내용은 Overcloud의 고급 사용자 지정 구성을 참조하십시오.
이 가이드에서는 RFC 3849 에 정의된 대로 문서 목적으로 2001:DB8::/32 IPv6 접두사를 사용합니다. 이러한 예제 주소를 자체 네트워크에서 IPv6 주소로 대체해야 합니다.
2장. 생성 전에 오버클라우드 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 장에서는 openstack overcloud deploy 명령을 실행하기 전에 필요한 설정을 제공합니다. 여기에는 프로비저닝 준비, Undercloud에서 IPv6 주소 구성, Overcloud의 IPv6 매개변수를 정의하는 네트워크 환경 파일 생성이 포함됩니다.
2.1. Stack 사용자 초기화 링크 복사링크가 클립보드에 복사되었습니다!
director 호스트에 stack 사용자로 로그인하고 다음 명령을 실행하여 director 설정을 초기화합니다.
source ~/stackrc
$ source ~/stackrc
이렇게 하면 director의 CLI 툴에 액세스하기 위해 인증 세부 정보가 포함된 환경 변수가 설정됩니다.
2.2. Undercloud에서 IPv6 주소 구성 링크 복사링크가 클립보드에 복사되었습니다!
Undercloud를 사용하려면 외부 네트워크에 있는 Overcloud의 공용 API에 액세스해야 합니다. 이를 위해 Undercloud 호스트에는 외부 네트워크에 액세스하는 인터페이스의 IPv6 주소가 필요합니다.
프로비저닝 네트워크에는 모든 노드에 대해 여전히 IPv4 연결이 필요합니다. Undercloud 및 Overcloud 노드는 이 네트워크를 PXE 부팅, 인트로스펙션 및 배포에 사용합니다. 또한 노드는 이 네트워크를 사용하여 IPv4를 통해 DNS 및 NTP 서비스에 액세스합니다.
기본 VLAN 또는 전용 인터페이스
Undercloud에서 기본 VLAN 또는 외부 네트워크에 연결된 전용 인터페이스를 사용하는 경우 ip 명령을 사용하여 IPv6 주소를 인터페이스에 추가합니다. 이 예에서 전용 인터페이스는 eth0 입니다.
sudo ip link set dev eth0 up; sudo ip addr add 2001:db8::1/64 dev 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
$ 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
$ ip addr
선택한 인터페이스에 IPv6 주소가 표시됩니다.
영구 IPv6 주소 설정
위의 항목 외에도 IPv6 주소를 영구적으로 만들 수 있습니다. 이 경우 /etc/sysconfig/network-scripts/ 에 적절한 인터페이스 파일을 수정하거나 만듭니다(이 예제에서는 ifcfg-eth0 또는 ifcfg-vlan100). 다음 행을 포함합니다.
IPV6INIT=yes IPV6ADDR=2001:db8::1/64
IPV6INIT=yes
IPV6ADDR=2001:db8::1/64
자세한 내용은 Red Hat 고객 포털에서 IPv6에 대한 네트워크 인터페이스 구성 방법을 참조하십시오.
2.3. 환경 설정 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Red Hat OpenStack Platform 8 Director 설치 및 사용에서 기본 Overcloud 요구 사항 구성에서 프로세스의 컷다운 버전을 사용합니다.
다음 워크플로우를 사용하여 환경을 설정합니다.
- 노드 정의 템플릿을 생성하고 director에 빈 노드를 등록합니다.
- 모든 노드의 하드웨어를 검사합니다.
- 노드를 역할에 수동으로 태그합니다.
- 플레이버를 생성하고 역할에 태그를 지정합니다.
2.3.1. 노드 등록 링크 복사링크가 클립보드에 복사되었습니다!
노드 정의 템플릿(instackenv.json)은 JSON 형식 파일이며 노드 등록을 위한 하드웨어 및 전원 관리 세부 정보가 포함되어 있습니다. 예를 들면 다음과 같습니다.
프로비저닝 네트워크는 IPv4 주소를 사용합니다. IPMI 주소는 IPv4 주소여야 하며 프로비저닝 네트워크를 통해 라우팅을 통해 직접 연결하거나 연결할 수 있어야 합니다.
템플릿을 생성한 후 stack 사용자의 홈 디렉터리(/home/stack/instackenv.json)에 저장한 다음 director로 가져옵니다. 이 작업을 수행하려면 다음 명령을 사용합니다.
openstack baremetal import --json ~/instackenv.json
$ openstack baremetal import --json ~/instackenv.json
템플릿을 가져오고 템플릿의 각 노드를 director에 등록합니다.
커널 및 램디스크 이미지를 모든 노드에 할당합니다.
openstack baremetal configure boot
$ openstack baremetal configure boot
이제 노드가 director에 등록 및 구성됩니다.
2.3.2. 노드의 하드웨어 검사 링크 복사링크가 클립보드에 복사되었습니다!
노드를 등록한 후 각 노드의 hardware 속성을 검사합니다. 다음 명령을 실행하여 각 노드의 하드웨어 속성을 확인합니다.
openstack baremetal introspection bulk start
$ openstack baremetal introspection bulk start
이 프로세스가 완료되었는지 확인합니다. 베어 메탈 노드의 경우 이 프로세스는 일반적으로 15분 정도 걸립니다.
2.3.3. 수동으로 노드 태그 지정 링크 복사링크가 클립보드에 복사되었습니다!
각 노드의 하드웨어를 등록하고 검사한 후 특정 프로필에 태그를 지정합니다. 이러한 프로필 태그는 노드와 일치하는 플레이버를 배포 역할에 할당합니다.
노드 목록을 검색하여 UUID를 확인합니다.
ironic node-list
$ ironic node-list
노드를 특정 프로필에 수동으로 태그하려면 profile 옵션을 각 노드의 properties/capabilities 매개변수에 추가합니다. 예를 들어 컨트롤러 프로필과 하나의 노드를 사용하도록 3개의 노드를 태그하여 compute 프로필을 사용하려면 다음 명령을 사용합니다.
profile:compute 및 profile:control 옵션을 추가하면 노드를 각 프로필에 태그합니다.
수동 태그 지정 대신 자동 프로필 태그를 사용하여 데이터 벤치마킹을 기반으로 더 많은 수의 노드에 태그를 지정합니다.
2.4. 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Overcloud의 네트워크 구성을 검토합니다. 여기에는 특정 네트워크 트래픽을 사용하고 IPv6 옵션으로 Overcloud를 구성하기 위해 서비스를 격리하는 작업이 포함됩니다.
2.4.1. 인터페이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
Overcloud에는 네트워크 인터페이스 템플릿 세트가 필요합니다. 이러한 템플릿은 YAML 형식의 표준 Heat 템플릿입니다. director에는 시작하기 위한 예제 템플릿 세트가 포함되어 있습니다.
-
/usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans- 역할별로 VLAN을 구성하는 단일 NIC에 대한 템플릿이 포함된 디렉터리입니다. -
/usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans- 역할별로 결합된 NIC 구성에 대한 템플릿이 포함된 디렉터리입니다.
이러한 템플릿 컬렉션 중 하나를 stack 사용자의 templates 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.
sudo cp -r /usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans ~/templates/nic-configs
$ sudo cp -r /usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans ~/templates/nic-configs
네트워크 인터페이스 구성에 대한 자세한 내용은 Red Hat Enterprise Linux OpenStack Platform 8 Director 설치 및 사용에서 사용자 지정 인터페이스 템플릿 생성 을 참조하십시오.
두 인터페이스 템플릿 컬렉션에는 컨트롤러 노드를 구성하기 위한 두 개의 파일 controller.yaml 및 controller-v6.yaml 이 포함되어 있습니다. IPv6를 구성하려면 controller-v6.yaml 을 사용합니다.
2.4.2. IPv6 격리 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
Overcloud에는 IPv6를 구성하려면 네트워크 환경 파일이 필요합니다. 이 파일은 Overcloud의 네트워크 환경을 설명하고 네트워크 인터페이스 구성 템플릿을 가리키는 Heat 환경 파일입니다. 이 시나리오에서는 환경 파일(/home/stack/network-environment.yaml)을 생성하고 다음 섹션을 포함합니다.
이 섹션에서는 각 인터페이스 템플릿을 리소스로 등록합니다. Overcloud를 생성할 때 기본 Heat 템플릿 컬렉션은 각 노드 유형에 맞게 네트워크를 구성할 때 적절한 OS::TripleO::*::Net::SoftwareConfig 리소스를 호출합니다. 이러한 리소스가 없으면 기본 Heat 템플릿 컬렉션은 기본 리소스 레지스트리의 기본 네트워크 구성 세트를 사용합니다.
두 인터페이스 템플릿 컬렉션에는 컨트롤러 노드를 구성하기 위한 두 개의 파일 controller.yaml 및 controller-v6.yaml 이 포함되어 있습니다. IPv6를 구성하려면 controller-v6.yaml 을 사용합니다.
parameter_defaults 섹션에는 환경에 대한 사용자 지정이 포함되어 있습니다. IPv6 설정에 대해 다음 매개변수를 기록해 둡니다.
- ExternalInterfaceDefaultRoute
- 외부 인터페이스 기본 경로의 IP 주소입니다. 이 시나리오에서는 Undercloud를 기본 경로로 사용하고 2.2절. “Undercloud에서 IPv6 주소 구성” 에서 생성된 IP 주소를 지정합니다.
- ExternalNetworkVlanID
- 외부 네트워크의 VLAN ID입니다. 언더클라우드의 외부 네트워크에 액세스하는 데 VLAN을 사용하는 경우( 2.2절. “Undercloud에서 IPv6 주소 구성”참조) 이 값에 대해 동일한 VLAN을 매핑해야 합니다.
- ExternalNetCidr, InternalApiNetCidr, TenantNetCidr, StorageNetCidr, StorageMgmtNetCidr
- 각 네트워크의 IPv6 CIDR 접두사입니다.
- ExternalAllocationPools, InternalApiAllocationPools, TenantAllocationPools, StorageAllocationPools, StorageMgmtAllocationPools
- 노드에 할당할 IPv6 주소의 범위입니다. 이는 IPv6 충돌이 발생하지 않도록 하는 데 유용합니다.
2.4.3. 하이브리드 IPv6/IPv4 구성 사용 링크 복사링크가 클립보드에 복사되었습니다!
다양한 서비스에 IPv4 및 IPv6 네트워킹의 조합을 사용하도록 Overcloud를 구성할 수 있습니다. 이를 위해서는 Overcloud의 네트워크 및 포트를 수정해야 합니다. 예를 들어 다른 네트워크는 IPv6를 사용하는 동안 IPv4에 스토리지 및 스토리지 관리 네트워크를 배포하는 것을 목표로 할 수 있습니다.
네트워크 격리 초기화 파일(network-isolation-v6.yaml)을 복사합니다.
sudo cp /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml ~/templates/nic-configs/network-isolation-v6.yaml
$ sudo cp /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml ~/templates/nic-configs/network-isolation-v6.yaml
파일을 편집하여 IPv4 버전의 템플릿을 사용하도록 스토리지 및 스토리지 관리 리소스를 매핑합니다. 예를 들면 다음과 같습니다.
openstack overcloud deploy 를 실행할 때 원본 대신 사용자 지정 network-isolation-v6.yaml 을 포함합니다.
또한 /home/stack/network-environment.yaml 에서 parameter_defaults 섹션을 수정하여 해당 네트워크에 대한 IPv6 및 IPv4 할당 조합을 정의합니다. 예를 들면 다음과 같습니다.
Overcloud에서 VXLAN 네트워킹을 사용하는 경우 IPv4를 사용하도록 테넌트 네트워크를 설정합니다. 테넌트 네트워크에는 IPv6 VXLAN이 지원되지 않습니다.
2.5. 오버클라우드 설정 완료 링크 복사링크가 클립보드에 복사되었습니다!
이렇게 하면 IPv6 기반 Overcloud를 구성하는 데 필요한 단계가 완료됩니다. 다음 장에서는 openstack overcloud deploy 명령을 사용하여 이 장의 구성으로 Overcloud를 생성합니다.
3장. 오버클라우드 생성 링크 복사링크가 클립보드에 복사되었습니다!
IPv6 네트워킹을 사용하는 Overcloud를 생성하려면 openstack overcloud deploy 명령에 추가 인수가 필요합니다. 예를 들면 다음과 같습니다.
openstack overcloud deploy --templates -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml -e /home/stack/templates/network-environment.yaml -e --control-scale 3 --compute-scale 3 --control-flavor control --compute-flavor compute --neutron-disable-tunneling --neutron-network-type vlan --neutron-tunnel-types vlan --neutron-network-vlan-ranges datacenter:1:1000 --ntp-server pool.ntp.org [ADDITIONAL OPTIONS]
$ openstack overcloud deploy --templates -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml -e /home/stack/templates/network-environment.yaml -e --control-scale 3 --compute-scale 3 --control-flavor control --compute-flavor compute --neutron-disable-tunneling --neutron-network-type vlan --neutron-tunnel-types vlan --neutron-network-vlan-ranges datacenter:1:1000 --ntp-server pool.ntp.org [ADDITIONAL OPTIONS]
위의 명령은 다음 옵션을 사용합니다.
-
--templates- 기본 Heat 템플릿 컬렉션에서 Overcloud를 생성합니다. -
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml- Overcloud 배포에 추가 환경 파일을 추가합니다. 이 경우 IPv6의 네트워크 격리 구성을 초기화하는 환경 파일입니다. -
-e /home/stack/templates/network-environment.yaml- Overcloud 배포에 추가 환경 파일을 추가합니다. 이 경우 이전에 생성한 네트워크 환경 파일입니다. -
--control-scale 3- 컨트롤러 노드를 3개로 확장합니다. -
--compute-scale 3- 컴퓨팅 노드를 3개로 확장합니다. -
--control-flavor control- 컨트롤러 노드에 특정 플레이버를 사용합니다. -
--compute-flavor compute- 컴퓨팅 노드에 특정 플레이버를 사용합니다. -
--Neutron-disable-tunneling- Overcloud에서 터널링을 비활성화합니다. 터널링은 IPv6에서 지원되지 않습니다. 테넌트 네트워크 구성에 IPv4를 사용하고 터널링을 활성화하려면 이 옵션을 포함하지 마십시오. -
--Neutron-network-type vlan-neutron네트워킹 유형을 설정합니다. 테넌트 네트워크에 IPv6를 사용하는 경우 VLAN 모드를 사용합니다. VXLAN을 사용하는 경우 IPv4를 사용하도록 테넌트 네트워크를 변경합니다. 자세한 내용은 2.4.3절. “하이브리드 IPv6/IPv4 구성 사용”의 내용을 참조하십시오. -
--Neutron-network-vlan-ranges datacenter:1:1000-neutron이 지원되도록 매핑 범위를 설정합니다. -
--ntp-server pool.ntp.org- NTP 서버를 설정합니다.
전체 옵션 목록은 다음을 실행합니다.
openstack help overcloud deploy
$ openstack help overcloud deploy
Overcloud 생성 프로세스가 시작되고 director가 노드를 프로비저닝합니다. 이 프로세스를 완료하는 데 시간이 다소 걸립니다. Overcloud 생성 상태를 보려면 stack 사용자로 별도의 터미널을 열고 다음을 실행합니다.
source ~/stackrc heat stack-list --show-nested
$ source ~/stackrc
$ heat stack-list --show-nested
3.1. 오버클라우드 액세스 링크 복사링크가 클립보드에 복사되었습니다!
director는 director 호스트에서 Overcloud와의 상호 작용을 구성하고 인증을 지원하는 스크립트를 생성합니다. director는 이 파일(overcloudrc)을 stack 사용자의 홈 디렉터리에 저장합니다. 이 파일을 사용하려면 다음 명령을 실행합니다.
source ~/overcloudrc
$ source ~/overcloudrc
이렇게 하면 director 호스트의 CLI에서 Overcloud와 상호 작용하는 데 필요한 환경 변수가 로드됩니다. director 호스트와의 상호 작용으로 돌아가려면 다음 명령을 실행합니다.
source ~/stackrc
$ source ~/stackrc
4장. 생성 후 오버클라우드 구성 링크 복사링크가 클립보드에 복사되었습니다!
생성 프로세스를 수행하면 IPv6 네트워크가 있는 Overcloud가 완전히 작동합니다. 그러나 Overcloud에는 몇 가지 생성 후 구성이 필요합니다.
4.1. Overcloud 테넌트 네트워크 생성 링크 복사링크가 클립보드에 복사되었습니다!
Overcloud에는 인스턴스에 IPv6 기반 테넌트 네트워크가 필요합니다. overcloudrc 파일을 가져오고 neutron 에서 초기 테넌트 네트워크를 생성합니다. 예를 들면 다음과 같습니다.
source ~/overcloudrc neutron net-create default --provider:physical_network datacentre --provider:network_type vlan --provider:segmentation_id 101 neutron subnet-create default 2001:db8:fd00:6000::/64 --ipv6-ra-mode slaac --ipv6-address-mode slaac --ip-version 6 --name default
$ source ~/overcloudrc
$ neutron net-create default --provider:physical_network datacentre --provider:network_type vlan --provider:segmentation_id 101
$ neutron subnet-create default 2001:db8:fd00:6000::/64 --ipv6-ra-mode slaac --ipv6-address-mode slaac --ip-version 6 --name default
이렇게 하면 default 라는 기본 neutron 네트워크가 생성됩니다. neutron net-list를 사용하여 생성된 네트워크를 확인합니다.
neutron net-list
$ neutron net-list
4.2. 오버클라우드 공용 네트워크 생성 링크 복사링크가 클립보드에 복사되었습니다!
이 시나리오는 외부 네트워크를 사용하도록 노드 인터페이스를 구성했습니다. 그러나 네트워크 액세스를 제공할 수 있도록 Overcloud에 이 네트워크를 생성해야 합니다.
neutron net-create public --router:external --provider:physical_network datacentre --provider:network_type vlan --provider:segmentation_id 100 neutron subnet-create public 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 --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac
$ neutron net-create public --router:external --provider:physical_network datacentre --provider:network_type vlan --provider:segmentation_id 100
$ neutron subnet-create public 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 --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac
그러면 public 이라는 네트워크가 생성되면 인스턴스에 대해 65000개 이상의 IPv6 주소 할당 풀을 제공합니다.
인스턴스 트래픽을 외부 네트워크로 라우팅하는 라우터를 만듭니다.
neutron router-create public-router neutron router-gateway-set public-router public
neutron router-create public-router
neutron router-gateway-set public-router public
5장. conclusion 링크 복사링크가 클립보드에 복사되었습니다!
이렇게 하면 IPv6 기반 Overcloud의 생성 및 구성이 완료됩니다. 일반적인 오버클라우드 생성 후 기능은 Red Hat OpenStack Platform 8 Director 설치 및 사용 가이드에서 Overcloud 생성 후 작업 수행을 참조하십시오.