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. 전원 관리 드라이버 을 참조하십시오.

워크플로

  1. 노드 정의 템플릿을 생성하고 director에 빈 노드를 등록합니다.
  2. 모든 노드의 하드웨어를 검사합니다.
  3. 노드를 역할에 태그합니다.
  4. 추가 노드 속성을 정의합니다.

요구 사항

  • 에서 생성한 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_64ppc64le 아키텍처를 사용하여 노드를 구분하려면 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