6장. 웹 UI로 기본 오버클라우드 설정
이 장에서는 웹 UI를 사용하여 OpenStack Platform 환경의 기본 설정 단계를 설명합니다. 기본 설정을 사용하는 오버클라우드에는 사용자 정의 기능이 없지만 고급 설정 옵션을 이 기본 오버클라우드에 추가하고, 고급 오버클라우드 사용자 정의 가이드에 나와 있는 지침에 따라 사양에 맞게 사용자 정의할 수 있습니다.
이 장의 예에서는 모든 노드가 전원 관리에 IPMI를 사용하는 베어 메탈 시스템으로 되어 있습니다. 지원되는 전원 관리 유형 및 옵션에 대한 자세한 내용은 부록 B. 전원 관리 드라이버를 참조하십시오.
워크플로우
- 노드 정의 템플릿 및 수동 등록을 사용하여 빈 노드를 등록합니다.
- 모든 노드의 하드웨어를 검사합니다.
- 오버클라우드 플랜을 director에 업로드합니다.
- 노드를 역할에 할당합니다.
요구 사항
- 4장. 언더클라우드 설치에서 생성한 UI가 활성화되어 있는 director 노드
- 노드에 사용하는 베어 메탈 머신 세트. 필요한 노드 수는 생성하려는 오버클라우드 유형에 따라 다릅니다(오버클라우드 역할에 대한 자세한 내용은 3.1절. “노드 배포 역할 플래닝” 참조). 이러한 머신은 각 노드 유형에 대해 설정된 요구 사항을 준수해야 합니다. 이러한 요구 사항은 2.4절. “오버클라우드 요구 사항”을 참조하십시오. 이러한 노드에는 운영 체제가 필요하지 않습니다. director에서 Red Hat Enterprise Linux 7 이미지를 각 노드에 복사합니다.
- 기본 VLAN으로 구성된 프로비저닝 네트워크에 대한 한 개의 네트워크 연결. 모든 노드는 이 네트워크에 연결해야 하며, 2.3절. “네트워킹 요구 사항”에 설정된 요구 사항에 부합해야 합니다.
- 다른 모든 네트워크 유형은 OpenStack 서비스에 프로비저닝 네트워크를 사용하지만 다른 네트워크 트래픽 유형에 대해 추가로 네트워크를 생성할 수 있습니다.
6.1. 웹 UI에 액세스
사용자는 SSL을 통해 director의 웹 UI에 액세스합니다. 예를 들어 언더클라우드의 IP 주소가 192.168.24.1이면 UI에 액세스할 주소는 https://192.168.24.1
입니다. 웹 UI는 처음에 다음 필드가 포함된 로그인 화면을 표시합니다.
-
사용자 이름 - director에 대한 관리 사용자입니다. 기본값은
admin
입니다. -
암호 - 관리 사용자의 암호입니다. 언더클라우드 호스트 터미널에서
sudo hiera admin_password
를stack
사용자로 실행하여 암호를 확인합니다.
UI에 로그인하면 UI에서 OpenStack Identity Public API에 액세스하고 다른 공용 API 서비스의 엔드포인트를 가져옵니다. 이러한 서비스에는 다음이 포함됩니다.
구성 요소 | UI 용도 |
---|---|
OpenStack Identity( |
UI에 대한 인증 및 다른 서비스의 엔드포인트 검색에 사용됩니다. |
OpenStack Orchestration( |
배포 상태를 위해 사용됩니다. |
OpenStack Bare Metal( |
노드 제어에 사용됩니다. |
OpenStack Object Storage( |
Heat 템플릿 컬렉션 또는 오버클라우드 생성에 사용되는 플랜 스토리지를 위해 사용됩니다. |
OpenStack Workflow( |
director 작업에 액세스하고 실행합니다. |
OpenStack Messaging( |
특정 작업의 상태를 검색하기 위한 websocket 기반 서비스입니다. |
클라이언트 시스템은 해당 엔드포인트에 액세스해야 하기 때문에 UI는 이러한 공용 API와 직접 상호 작용합니다. director는 SSL/TLS 암호화 경로를 통해 이러한 엔드포인트를 공용 VIP(undercloud.conf
파일의 undercloud_public_host
)에 노출합니다. 각 경로는 서비스에 대응합니다. 예를 들면 https://192.168.24.2:443/keystone
은 OpenStack Identity 공용 API에 매핑됩니다.
엔드포인트를 변경하거나 엔드포인트 액세스에 다른 IP를 사용하려는 경우 director UI가 /var/www/openstack-tripleo-ui/dist/tripleo_ui_config.js
파일에서 설정을 읽습니다. 이 파일은 다음 매개 변수를 사용합니다.
매개 변수 | 설명 |
---|---|
|
OpenStack Identity( |
|
OpenStack Orchestration( |
|
OpenStack Bare Metal( |
|
OpenStack Object Storage( |
|
OpenStack Workflow( |
|
OpenStack Messaging( |
|
OpenStack Messaging( |
다음은 192.168.24.2
가 언더클라우드의 공용 VIP인 tripleo_ui_config.js
파일의 예입니다.
window.tripleOUiConfig = { 'keystone': 'https://192.168.24.2:443/keystone/v2.0', 'heat': 'https://192.168.24.2:443/heat/v1/%(tenant_id)s', 'ironic': 'https://192.168.24.2:443/ironic', 'mistral': 'https://192.168.24.2:443/mistral/v2', 'swift': 'https://192.168.24.2:443/swift/v1/AUTH_%(tenant_id)s', 'zaqar-websocket': 'wss://192.168.24.2:443/zaqar', "zaqar_default_queue": "tripleo" };
6.2. 웹 UI 탐색
UI는 다음 세 가지 섹션으로 구성되어 있습니다.
- 배포 플랜
UI 상단에 있는 메뉴 항목. 이 페이지는 주요 UI 섹션으로 기능하며, 오버클라우드 생성에 사용할 플랜, 각 역할에 할당할 노드 및 현재 오버클라우드의 상태를 정의할 수 있습니다. 이 섹션에서는 배포 매개 변수 설정 및 역할에 대한 노드 할당을 비롯하여 오버클라우드 생성 프로세스를 단계별로 설명합니다.
- 노드
UI 상단에 있는 메뉴 항목. 이 페이지는 노드 설정 섹션 역할을 하며, 새 노드를 등록하고 등록된 노드를 introspect할 방법을 제공합니다. 또한 배포에 사용할 수 있는 노드, 현재 배포된 노드 및 유지보수 중인 노드를 정의합니다.
- 검증
페이지 오른쪽에 있는 측면 패널. 이 섹션에서는 오버클라우드 생성 프로세스가 성공적으로 실행되도록 배포 전 및 배포 후 시스템 검사를 수행합니다. 이러한 검증 작업은 배포 시 특정 시점에서 자동으로 실행되지만 수동으로 실행할 수도 있습니다. 실행하려는 검증 작업의 재생 버튼을 클릭합니다. 각 검증 작업의 제목을 클릭하여 실행하거나, 검증 제목을 클릭하여 자세한 정보를 표시합니다.
6.3. 웹 UI에서 오버클라우드 플랜 가져오기
director UI에는 오버클라우드 구성 전 플랜이 필요합니다. 이 플랜은 일반적으로 /usr/share/openstack-tripleo-heat-templates
의 언더클라우드에 있는 것과 같은 Heat 템플릿 컬렉션입니다. 또한 하드웨어 및 환경 요구 사항에 맞게 플랜을 사용자 정의할 수 있습니다. 오버클라우드 사용자 정의에 대한 자세한 내용은 고급 오버클라우드 사용자 정의 가이드를 참조하십시오.
플랜에는 오버클라우드 설정에 대한 네 가지 주요 단계가 표시됩니다.
- 하드웨어 준비 - 노드 등록 및 introspection.
- 배포 설정 지정 - 오버클라우드 매개 변수 설정 및 추가 환경 파일 정의.
- 역할 설정 및 노드 할당 - 노드를 역할에 할당하고 역할별 매개 변수를 수정합니다.
- 배포 - 오버클라우드 생성을 시작합니다.
언더클라우드 설치 및 설정을 실행하면 플랜이 자동으로 업로드됩니다. 여러 플랜을 웹 UI에 가져올 수도 있습니다. 배포 플랜 화면에서 배포 관리를 클릭하면 현재 플랜 테이블이 표시됩니다.
새로운 플랜 생성을 클릭하면 다음 정보를 묻는 창이 표시됩니다.
-
플랜 이름 - 플랜의 일반 텍스트 이름입니다(예:
overcloud
). - 업로드 유형 - Tar 압축(tar.gz)을 업로드할 것인지 아니면 로컬 폴더 전체(Google Chrome 전용)를 업로드할 것인지 선택합니다.
- 플랜 파일 - 브라우저를 클릭하여 로컬 파일 시스템에서 플랜을 선택합니다.
director의 Heat 템플릿 컬렉션을 클라이언트 머신에 복사해야 하는 경우 파일을 압축하여 복사합니다.
$ cd /usr/share/openstack-tripleo-heat-templates/ $ tar -cf ~/overcloud.tar * $ scp ~/overcloud.tar user@10.0.0.55:~/.
director UI에 플랜이 업로드되면 플랜이 Plans 테이블에 표시되어 설정할 수 있습니다. 배포 플랜을 클릭합니다.
6.4. 웹 UI에서 노드 등록
오버클라우드 구성의 첫 단계는 노드를 등록하는 것입니다. 다음을 통해 노드 등록 프로세스를 시작합니다.
- 배포 플랜 화면에서 1 하드웨어 준비에 있는 노드 등록을 클릭합니다.
- 노드 화면에서 노드 등록을 클릭합니다.
이렇게 하면 노드 등록 창이 표시됩니다.
director에는 등록할 노드 목록이 필요하며 다음 두 가지 방법 중 하나를 사용하여 제공할 수 있습니다.
- 노드 정의 템플릿 업로드 - 이를 위해서는 파일 업로드 버튼을 클릭하고 파일을 선택해야 합니다. 노드 정의 템플릿 구문에 대해서는 5.1절. “오버클라우드에 노드 등록”을 참조하십시오.
- 수동으로 각 노드 등록 - 이를 위해서는 새로 추가를 클릭하고 노드에 대한 세부 사항을 제공해야 합니다.
수동 등록을 위해 제공해야 하는 세부 사항은 다음과 같습니다.
- 이름
- 노드의 일반 텍스트 이름. RFC3986 예약되지 않은 문자만 사용합니다.
- 드라이버
-
사용할 전원 관리 드라이버. 이 예에서는 IPMI 드라이버(
pxe_ipmitool
)를 사용하지만, 다른 드라이버를 사용할 수도 있습니다. 사용 가능한 드라이버에 대해서는 부록 B. 전원 관리 드라이버를 참조하십시오. - IPMI IP 주소
- IPMI 장치의 IP 주소입니다.
- IPMI 사용자 이름, IPMI 암호
- IPMI 사용자 이름 및 암호입니다.
- 아키텍처
- (선택 사항) 시스템 아키텍처입니다.
- CPU 수
- (선택 사항) 노드에 있는 CPU 수입니다.
- 메모리(MB)
- (선택 사항) 메모리 크기(MB)입니다.
- 디스크(GB)
- (선택 사항) 하드 디스크의 크기(GB)입니다.
- NIC MAC 주소
- 노드에 있는 네트워크 인터페이스의 MAC 주소 목록입니다. 각 시스템의 프로비저닝 NIC에는 MAC 주소만 사용합니다.
UI를 통해 pxe_ssh
드라이버를 사용하여 KVM 호스트에서 노드를 등록할 수 있습니다. 이 옵션은 테스트 및 평가 목적으로만 사용할 수 있습니다. Red Hat OpenStack Platform 엔터프라이즈 환경에는 권장되지 않습니다. 자세한 내용은 B.7절. “SSH 및 Virsh”를 참조하십시오.
노드 정보를 입력한 후 창 하단에 있는 노드 등록을 클릭합니다.
director가 노드를 등록합니다. 완료되면 UI를 사용하여 노드에서 introspection을 수행할 수 있습니다.
6.5. 웹 UI에서 노드의 하드웨어 검사
director UI에서 각 노드의 introspection 프로세스를 실행할 수도 있습니다. 이 프로세스를 실행하면 각 노드가 PXE로 introspection 에이전트를 부팅합니다. 이 에이전트는 노드에서 하드웨어 데이터를 수집하고 director에 다시 보냅니다. 그러면 director가 이 introspection 데이터를 director에서 실행 중인 OpenStack Object Storage(swift) 서비스에 저장합니다. director는 프로필 태그, 벤치마킹, 수동 root 디스크 할당과 같은 다양한 목적으로 하드웨어 정보를 사용합니다.
또한 정책 파일을 생성하여 introspection 직후 노드를 프로필에 자동으로 태그할 수도 있습니다. 정책 파일 생성 및 introspection 프로세스에 해당 파일을 통합하는 작업에 대한 자세한 내용은 부록 E. 자동 프로필 태깅을 참조하십시오. 또는 UI를 통해 프로필에 노드를 태그할 수 있습니다. 노드를 수동으로 태그하는 작업에 대한 자세한 내용은 6.7절. “웹 UI에서 역할에 노드 태그”을 참조하십시오.
introspection 프로세스를 시작하려면 다음 단계를 수행합니다:
- 노드 화면으로 이동합니다.
- introspect할 노드를 모두 선택합니다.
- Introspect 노드를 클릭합니다.
이 프로세스가 완료되었는지 확인합니다. 베어 메탈 노드의 경우 이 프로세스는 일반적으로 15분 정도 걸립니다.
introspection 프로세스가 완료되면 프로비저닝 상태가 manageable
로 설정된 노드를 모두 선택한 다음 노드 제공 버튼을 클릭합니다. 프로비저닝 상태가available
로 변경될 때까지 기다립니다.
이제 노드를 프로비저닝할 준비가 되었습니다.
6.6. 웹 UI에서 오버클라우드 플랜 매개 변수 편집
배포 플랜 화면에서는 업로드된 플랜을 사용자 정의할 수 있습니다. 2 배포 설정 지정에서 설정 편집 링크를 클릭하여 기본 오버클라우드 설정을 변경합니다.
다음 두 개의 기본 탭이 있는 창이 표시됩니다.
- 전체 설정
이 탭에서는 오버클라우드의 다른 기능을 추가할 수 있습니다. 이러한 기능은 플랜의
capabilities-map.yaml
파일에 정의되어 있으며 이러한 기능은 각각 다른 환경 파일을 사용합니다. 예를 들어, 스토리지에서 플랜이environments/storage-environment.yaml
파일에 매핑되고 오버클라우드의 NFS, iSCSI 또는 Ceph 설정을 구성할 수 있는 스토리지 환경을 선택할 수 있습니다. 기타 탭에는 플랜에서 감지되었지만capabilities-map.yaml
(plan에 포함된 사용자 정의 환경 파일을 추가하는 데 유용함)에 나열되지 않은 환경 파일이 들어 있습니다. 추가할 기능을 선택한 후 저장을 클릭합니다.- 매개 변수
여기에는 오버클라우드에 대한 여러 가지 기본 수준 및 환경 파일 매개 변수가 포함되어 있습니다. 예를 들면 이 섹션의 각 역할에 대한 노드 수를 변경할 수 있습니다. 세 개의 Controller 노드를 사용하려는 경우
ControllerCount
를 3으로 변경합니다. 기본 수준 매개 변수를 수정했으면 저장을 클릭합니다.
6.7. 웹 UI에서 역할에 노드 태그
각 노드의 하드웨어 등록 및 검사 후 특정 프로필에 태그합니다. 이러한 프로필은 노드를 특정 유형 및 배포 역할과 일치시킵니다.
노드를 역할에 할당하려면 배포 플랜 화면에서 3 역할 구성 및 노드 할당 섹션으로 스크롤합니다. 선택한 역할에 대해 노드 할당을 클릭합니다. 역할에 할당할 노드를 선택할 수 있는 창이 표시됩니다. 역할 노드를 선택했으면 선택 노드를 할당/할당 해제를 클릭합니다.
이러한 노드가 역할에 할당되면 완료를 클릭하여 배포 플랜 화면으로 돌아갑니다.
오버클라우드에 포함시키려는 각 역할에 대해 이 작업을 완료합니다.
6.8. 웹 UI에서 노드 편집
각 노드 역할은 역할별 매개 변수를 구성하는 방법을 제공합니다. 배포 플랜 화면에서 3 역할 구성 및 노드 할당 역할로 스크롤합니다. 역할 이름 옆에 있는 역할 매개 변수 편집 아이콘(연필 아이콘)을 클릭합니다.
다음 두 가지 기본 탭이 표시된 창이 나타납니다.
- 매개 변수
여기에는 여러 역할별 매개 변수가 포함되어 있습니다. 예를 들어 컨트롤러 역할을 편집하는 경우
OvercloudControlFlavor
매개 변수를 사용하여 역할에 대한 기본 유형을 변경할 수 있습니다. 역할별 매개 변수를 수정한 후 변경사항 저장을 클릭합니다.- 서비스
이는 선택한 역할에 대한 서비스별 매개 변수를 정의합니다. 왼쪽 패널에는 선택 및 수정한 서비스 목록이 표시됩니다. 예를 들어 시간대를 변경하려면
OS::TripleO:Services:Timezone
서비스를 클릭하고TimeZone
매개 변수를 원하는 시간대로 변경합니다. 서비스별 매개 변수를 수정한 후 변경사항 저장을 클릭합니다.- 네트워크 설정
네트워크 설정을 통해 오버클라우드의 여러 네트워크에 대한 IP 주소 또는 서브넷 범위를 정의할 수 있습니다.
역할 서비스 매개 변수가 UI에 표시되더라도 일부 서비스가 기본적으로 표시되지 않을 수 있습니다. 이러한 서비스는 6.6절. “웹 UI에서 오버클라우드 플랜 매개 변수 편집”의 지침을 통해 활성화할 수 있습니다. 이러한 서비스 활성화에 대한 자세한 내용은 고급 오버클라우드 사용자 정의 가이드의 작성 가능한 역할 섹션을 참조하십시오.
6.9. 웹 UI에서 오버클라우드 생성 시작
오버클라우드 플랜이 구성되면 오버클라우드 배포를 시작할 수 있습니다. 이를 위해서는 4 배포 섹션으로 스크롤하여 검증 및 배포를 클릭합니다.
언더클라우드에 대한 모든 검증을 실행하지 않았거나 통과하지 않은 경우 경고 메시지가 표시됩니다. 배포를 실행하기 전에 언더클라우드 호스트가 요구 사항을 충족하는지 확인하십시오.
배포할 준비가 되었으면 배포를 클릭합니다.
UI에서는 오버클라우드의 생성 진행률을 정기적으로 모니터링하고 현재 진행률을 나타내는 진행률 표시줄을 표시합니다. 자세한 정보 보기 링크는 오버클라우드의 현재 OpenStack Orchestration 스택 로그를 표시합니다.
오버클라우드 배포가 완료될 때까지 기다립니다.
오버클라우드 생성 프로세스가 완료되면 4 배포 섹션에 현재 오버클라우드 상태 및 다음 세부 사항이 표시됩니다.
- IP 주소 - 오버클라우드에 액세스할 IP 주소입니다.
-
암호 - 오버클라우드의 OpenStack
admin
사용자 암호입니다.
이 정보를 사용하여 오버클라우드에 액세스합니다.
6.10. 오버클라우드 생성 완료
이렇게 하면 director의 UI를 통한 오버클라우드 생성이 완료됩니다. 생성 후 기능에 대한 자세한 내용은 8장. 오버클라우드 생성 후 작업 수행을 참조하십시오.