Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
6장. CLI 툴로 기본 오버클라우드 구성
이 장에서는 CLI 툴을 사용하는 OpenStack Platform 환경의 기본 구성 단계를 설명합니다. 기본 설정을 사용하는 오버클라우드에는 사용자 지정 기능이 없습니다. 하지만 Advanced Overcloud Customization 가이드의 지침에 따라 이 기본 오버클라우드에 고급 옵션을 추가하고 사양에 맞게 사용자 지정할 수 있습니다.
이 장의 예에서는 모든 노드가 전원 관리에 IPMI를 사용하는 베어 메탈 시스템입니다. 지원되는 추가 전원 관리 유형 및 옵션은 부록 B. 전원 관리 드라이버 을 참조하십시오.
워크플로
- 노드 정의 템플릿을 생성하고 director에 빈 노드를 등록합니다.
- 모든 노드의 하드웨어를 검사합니다.
- 노드를 역할에 태그합니다.
- 추가 노드 속성을 정의합니다.
요구 사항
- 에서 생성한 director 노드 4장. 언더클라우드 설치
- 노드에 사용할 베어 메탈 시스템 세트. 필요한 노드 수는 생성하려는 오버클라우드 유형에 따라 다릅니다(Overcloud 역할에 대한 내용은 3.1절. “노드 배포 역할 계획” 참조). 또한 이러한 머신은 각 노드 유형에 설정된 요구 사항을 준수해야 합니다. 이러한 요구 사항은 2.4절. “오버클라우드 요구 사항” 에서 참조하십시오. 이러한 노드에는 운영 체제가 필요하지 않습니다. director는 Red Hat Enterprise Linux 7 이미지를 각 노드에 복사합니다.
기본 VLAN으로 구성된 프로비저닝 네트워크에 대한 하나의 네트워크 연결입니다. 모든 노드는 이 네트워크에 연결되어야 하며 2.3절. “네트워킹 요구 사항” 에 설정된 요구 사항을 준수해야 합니다. 이 장의 예제에서는 다음 IP 주소가 할당된 프로비저닝 서브넷으로 192.168.24.0/24를 사용합니다.
표 6.1. 프로비저닝 네트워크 IP 할당
노드 이름
IP 주소
MAC 주소
IPMI IP 주소
Director
192.168.24.1
A:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a:a
필수 없음
컨트롤러
DHCP 정의
bb:bb:bb:bb:bb:bb
192.168.24.205
Compute
DHCP 정의
cc:cc:cc:cc:cc:cc
192.168.24.206
- 다른 모든 네트워크 유형은 OpenStack 서비스에 프로비저닝 네트워크를 사용합니다. 하지만 다른 네트워크 트래픽 유형에 대해 추가 네트워크를 생성할 수 있습니다.
- 컨테이너 이미지의 소스입니다. 컨테이너 이미지 소스가 포함된 환경 파일을 생성하는 방법에 대한 자세한 내용은 5장. 컨테이너 이미지 소스 구성 을 참조하십시오.
6.1. 오버클라우드에 노드 등록
director에는 수동으로 만든 노드 정의 템플릿이 있어야 합니다. 이 파일(instackenv.json)은 JSON 형식을 사용하고 노드의 하드웨어 및 전원 관리 세부 정보를 포함합니다. 예를 들어 두 노드를 등록하기 위한 템플릿은 다음과 같습니다.
{
"nodes":[
{
"mac":[
"bb:bb:bb:bb:bb:bb"
],
"name":"node01",
"cpu":"4",
"memory":"6144",
"disk":"40",
"arch":"x86_64",
"pm_type":"ipmi",
"pm_user":"admin",
"pm_password":"p@55w0rd!",
"pm_addr":"192.168.24.205"
},
{
"mac":[
"cc:cc:cc:cc:cc:cc"
],
"name":"node02",
"cpu":"4",
"memory":"6144",
"disk":"40",
"arch":"x86_64",
"pm_type":"ipmi",
"pm_user":"admin",
"pm_password":"p@55w0rd!",
"pm_addr":"192.168.24.206"
}
]
}이 템플릿에서는 다음 속성을 사용합니다.
- name
- 노드의 논리 이름입니다.
- pm_type
-
사용할 전원 관리 드라이버입니다. 이 예에서는 전원 관리를 위한 기본 드라이버인 IPMI 드라이버(
ipmi)를 사용합니다.
IPMI는 지원되는 기본 전원 관리 드라이버입니다. 지원되는 추가 전원 관리 유형 및 옵션은 부록 B. 전원 관리 드라이버 을 참조하십시오. 이러한 전원 관리 드라이버가 예상대로 작동하지 않는 경우 IPMI를 전원 관리에 사용합니다.
- pm_user; pm_password
- IPMI 사용자 이름 및 암호입니다. 이러한 속성은 IPMI 및 Redfish에 대해 선택 사항이며 iLO 및 iDRAC에는 필수입니다.
- pm_addr
- IPMI 장치의 IP 주소입니다.
- pm_port
- (선택 사항) 특정 IPMI 장치에 액세스하는 포트입니다.
- mac
- (선택 사항) 노드에 있는 네트워크 인터페이스의 MAC 주소 목록입니다. 각 시스템의 프로비저닝 NIC에는 MAC 주소만 사용합니다.
- cpu
- (선택 사항) 노드에 있는 CPU 수입니다.
- memory
- (선택 사항) 메모리 크기(MB)입니다.
- disk
- (선택 사항) 하드 디스크의 크기(GB)입니다.
- arch
- (선택 사항) 시스템 아키텍처입니다.
다중 아키텍처 클라우드를 빌드하는 경우 x86_64 및 ppc64le 아키텍처를 사용하여 노드를 구분하려면 arch 키가 필요합니다.
템플릿을 생성한 후 다음 명령을 실행하여 포맷과 구문을 확인합니다.
$ source ~/stackrc (undercloud) $ openstack overcloud node import --validate-only ~/instackenv.json
stack 사용자의 홈 디렉터리(/home/stack/instackenv.json)에 파일을 저장하고 다음 명령을 실행하여 템플릿을 director로 가져옵니다.
(undercloud) $ openstack overcloud node import ~/instackenv.json
이렇게 하면 템플릿을 가져와서 템플릿의 각 노드가 director에 등록됩니다.
노드 등록 및 구성이 완료되면 CLI에서 이러한 노드 목록을 확인합니다.
(undercloud) $ openstack baremetal node list