오케스트레이션 서비스( heat )설치 3. 작동 확인 및 인스턴스 시작
페이지 정보
작성자 jkchoi 작성일 21-12-30 12:31 조회 4,033 댓글 1본문
1. 관리 테넌트 자격 증명을 소싱합니다.
$ . admin-openrc
2. 서비스 구성 요소를 나열하여 각 프로세스의 성공적인 시작 및 등록을 확인합니다.
$ openstack orchestration service list
+------------+--------------+------------------------------------------------+------------+--------+--------------------------------+--------+
| hostname | binary | engine_id | host | topic | updated_at | status |
+------------+--------------+------------------------------------------------+------------+--------+--------------------------------+--------+
| controller | heat-engine | 3e85d1ab-a543-41aa-aa97-378c381fb958 | controller | engine | 2015-10-13T14:16:06.000000 | up |
| controller | heat-engine | 45dbdcf6-5660-4d5f-973a-c4fc819da678 | controller | engine | 2015-10-13T14:16:06.000000 | up |
| controller | heat-engine | 51162b63-ecb8-4c6c-98c6-993af899c4f7 | controller | engine | 2015-10-13T14:16:06.000000 | up |
| controller | heat-engine | 8d7edc6d-77a6-460d-bd2a-984d76954646 | controller | engine | 2015-10-13T14:16:06.000000 | up |
+------------+--------------+------------------------------------------------+------------+--------+--------------------------------+--------+
3. 템플릿 만들기
Orchestration 서비스는 템플릿을 사용하여 스택을 설명합니다. 템플릿 언어에 대해 알아보려면 Heat 개발자 문서의 템플릿 가이드를 참조하세요.
1). 다음 내용으로 demo-template.yml 파일을 만듭니다.
heat_template_version: 2015-10-15
description: Launch a basic instance with CirrOS image using the
``m1.tiny`` flavor, ``mykey`` key, and one network.
parameters:
NetID:
type: string
description: Network ID to use for the instance.
resources:
server:
type: OS::Nova::Server
properties:
image: cirros
flavor: m1.tiny
key_name: mykey
networks:
- network: { get_param: NetID }
outputs:
instance_name:
description: Name of the instance.
value: { get_attr: [ server, name ] }
instance_ip:
description: IP address of the instance.
value: { get_attr: [ server, first_address ] }
4. 스택 생성
demo-template.yml 템플릿을 사용하여 스택을 생성합니다.
1) 비관리 프로젝트로 다음 단계를 수행하려면 데모 자격 증명을 소싱합니다.
$ . demo-openrc
2) 사용 가능한 네트워크를 확인합니다.
$ openstack network list
+-----------------------------------------------+-------------+----------------------------------------------+
| ID | Name | Subnets |
+-----------------------------------------------+-------------+----------------------------------------------+
| 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c |
| b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff |
+-----------------------------------------------+-------------+----------------------------------------------+
- 이 출력은 사용자 환경과 다를 수 있습니다.
3) 네트워크의 ID를 반영하도록 NET_ID 환경 변수를 설정합니다. 예를 들어 공급자 네트워크를 사용하는 경우
$ export NET_ID=$(openstack network list | awk '/ provider / { print $2 }')
4) 공급자 네트워크에 하나의 CirrOS 인스턴스 스택을 만듭니다.
$ openstack stack create -t demo-template.yml --parameter "NetID=$NET_ID" stack
+----------------------------------------------+--------------+--------------------------+-----------------------+-----------------+
| ID | Stack Name | Stack Status | Creation Time | Updated Time |
+----------------------------------------------+--------------+--------------------------+-----------------------+-----------------+
| dbf46d1b-0b97-4d45-a0b3-9662a1eb6cf3 | stack | CREATE_IN_PROGRESS | 2015-10-13T15:27:20 | None |
+----------------------------------------------+--------------+--------------------------+-----------------------+-----------------+
5) 잠시 후 스택이 성공적으로 생성되었는지 확인합니다.
$ openstack stack list
+----------------------------------------------+--------------+----------------------+------------------------+----------------+
| ID | Stack Name | Stack Status | Creation Time | Updated Time |
+----------------------------------------------+--------------+----------------------+------------------------+----------------+
| dbf46d1b-0b97-4d45-a0b3-9662a1eb6cf3 | stack | CREATE_COMPLETE | 2015-10-13T15:27:20 | None |
+----------------------------------------------+--------------+----------------------+------------------------+----------------+
6) 인스턴스의 이름과 IP 주소를 표시하고 OpenStack 클라이언트의 출력과 비교합니다.
$ openstack stack output show --all stack
[
{
"output_value": "stack-server-3nzfyfofu6d4",
"description": "Name of the instance.",
"output_key": "instance_name"
},
{
"output_value": "10.4.31.106",
"description": "IP address of the instance.",
"output_key": "instance_ip"
}
]
$ openstack server list
+---------------------------------------------+-----------------------------+--------+---------------------------------+
| ID | Name | Status | Networks |
+---------------------------------------------+-----------------------------+--------+---------------------------------+
| 0fc2af0c-ae79-4d22-8f36-9e860c257da5 | stack-server-3nzfyfofu6d4 | ACTIVE | public=10.4.31.106 |
+---------------------------------------------+-----------------------------+--------+---------------------------------+
7) 스택을 삭제합니다.
$ openstack stack delete --yes stack
최고관리자님의 댓글
최고관리자 작성일좋은글 감사합니다. ^^