2023. 9. 17. 00:00ใSystem ์์ ์ค/Server ๊ด๋ จ
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
๐ ๋ชฉ์ฐจ
1. [Hyper-V] [Open Stack] Open Stack์ด๋?
2. [Hyper-V] [Open Stack] [Controller Node] Hyper-V ๊ตฌ์ฑ ๋ฐ Ubuntu 22.04.3 LTS Server ์ค์น
3. [Hyper-V] [Open Stack] [Controller Node] โ ์คํ์คํ ํจํค์ง ์ค์น
4. [Hyper-V] [Open Stack] [Controller Node] โก NTP Server ๊ตฌ์ฑ
5. [Hyper-V] [Open Stack] [Controller Node] โข RabbitMQ - Message Queue ์ค์น ๋ฐ ๊ตฌ์ฑ
6. [Hyper-V] [Open Stack] [Controller Node] โฃ Memcached ์ค์น ๋ฐ ๊ตฌ์ฑ
7. [Hyper-V] [Open Stack] [Controller Node] โค Etcd ์ค์น ๋ฐ ๊ตฌ์ฑ
8. [Hyper-V] [Open Stack] [Controller Node] โฅ Keystone - Identity ์ค์น ๋ฐ ๊ตฌ์ฑ
9. [Hyper-V] [Open Stack] [Controller Node] โฆ Image Service - Glance ์ค์น ๋ฐ ๊ตฌ์ฑ
10. [Hyper-V] [Open Stack] [Controller Node] โง Compute Service - Nova ์ค์น ๋ฐ ๊ตฌ์ฑ
11. [Hyper-V] [Open Stack] [Contoller Node] โจ Neutron - Network ์๋น์ค ์ค์น ๋ฐ ๊ตฌ์ฑ
12. [Hyper-V] [Open Stack] [Controller Node] โ โช Horizon - Dashboard ์๋น์ค ์ค์น ๋ฐ ๊ตฌ์ฑ
13. [Hyper-V] [Open Stack] [Compute Node] Hyper-V ๊ตฌ์ฑ ๋ฐ Ubuntu 22.04.3 LTS Server ์ค์น ๋ฐ ์ด๊ธฐ ๊ตฌ์ฑ
14. [Hyper-V] [Open Stack] [Compute Node] โ ์คํ์คํ ํจํค์ง ์ค์น
15. [Hyper-V] [Open Stack] [Compute Node] โก Nova ์ค์น ๋ฐ ๊ตฌ์ฑ
16. [Hyper-V] [Open Stack] [Compute Node] โข Neutron - Network ์๋น์ค ์ค์น ๋ฐ ๊ตฌ์ฑ
๐ Controller Node ๊ตฌ์ฑ
๐ฝ ๊ฐ์
๐ฆ ์๊ฐ
์ด๋ฒ์๋ ์คํ์คํ์ Heat์ ์ค์นํ๊ณ , ๊ตฌ์ฑํด๋ณด๋ ค๊ณ ํด์.
Heat์ ์คํ์คํ์ ํ์ ๊ตฌ์ฑ์์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ค์นํ์ง ์์๋ ๋์ง๋ง, ์ฃผ๋๋ ์๋ ๋ด์ฉ์ ๋งค๋ ฅ์ ๋๊ปด ์ค์นํด ๋ณด๋ ค๊ณ ํด์.
Heat์ ์คํ์คํ ํด๋ผ์ฐ๋ ์ปดํจํ
ํ๋ซํผ์ ํ ๊ตฌ์ฑ ์์๋ก Infrastructure(์ธํ๋ผ ์คํธ๋ญ์ฒ)๋ฅผ ์๋ํํ๊ณ , ๊ด๋ฆฌํ๊ธฐ ์ํ Template(ํ
ํ๋ฆฟ) ๊ธฐ๋ฐ์ Orchestration(์ค์ผ์คํธ๋ ์ด์
) ์๋น์ค๋ฅผ ์ ๊ณตํด์ฃผ๋ ์์์์.
์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ์ธ์คํด์ค, ๋คํธ์ํฌ, ์คํ ๋ฆฌ์ง ๋ฑ์ ์์์ ์ ์ํ๊ณ ๊ด๋ฆฌํ ์ ์์ด์.
Heat์ Stack(์คํ)์ด๋ผ๋ ๊ฐ๋
์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๊ฐ์ ์์์ ๊ทธ๋ฃนํํ๊ณ , ํ
ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ์ด ์คํ์ ์ํํ๊ณ , ๊ด๋ฆฌํ ์ ์์ด์. ์ด๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ์ธํ๋ผ ์คํธ๋ญ์ฒ๋ฅผ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ , ๊ด๋ฆฌํ๋๋ฐ ๋์์ ์ค๋ต๋๋ค.
๋ํ, Heat์ ์คํ์คํ์ ๋ค๋ฅธ ์๋น์ค์ ํตํฉ๋์ด ์ธ์คํด์ค, ๋คํธ์ํฌ ์ค์ , ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ ๋ฑ์ ์๋์ผ๋ก ํ๋ก๋น์ ๋ํ๊ณ , ์กฐ์ ํ ์ ์๋๋ก ์ง์ํด ์ค์.
์ด๋ฅผ ํตํด ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์๋ํ๋ ์์
๋ฐ ์ค์ผ์ผ๋ง์ ์ํํ ์ ์๋ต๋๋ค.
Heat์ AWS์ ECS(Elastic Container Service)์ GCP์ GKE(Google Kubernetes Engine)๊ณผ ๋น์ทํ ์๋น์ค์์.
Heat์ HOT(Heat Orchestration Template)์ ์ฌ์ฉํ์ฌ ํด๋ผ์ฐ๋ ์์์ ์์ฑํ๊ณ , ๊ด๋ฆฌํ๋ ๊ฒ์ด์์.
์ค์ผ์คํธ๋ ์ด์
์๋น์ค๋ ์คํ ์ค์ธ Application(์ ํ๋ฆฌ์ผ์ด์
)์ ์์ฑํ๊ธฐ ์ํด ์คํ์คํ API๋ฅผ ํธ์ถํ์ฌ ํ
ํ๋ฆฟ ๊ธฐ๋ฐ์ ์ค์ผ์คํธ๋ ์ด์
์ ์ ๊ณตํ๊ณ ์์ด์.
Heat ๊ตฌ์ฑ ์์ | ์์ธ ๋ด์ฉ |
Heat | AWS Cludformation API๋ฅผ ์คํํ๊ธฐ ์ํด heat-api์ ํต์ ํ๋ Client Command Interface |
Heat-api | rpc๋ฅผ ํตํด ์ฐ๊ฒฐ๋ Heat-engine์๊ฒ ์ฌ์ฉ์์ HOT ํ ํ๋ฆฟ์ ๋ํ API ์์ฒญ ์ฒ๋ฆฌํ๋ ์คํ์คํ REST API |
Heat-api-cloudwatch | Heat ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ Cloudwatch API ์๋น์ค๋ก ์ค์ผ์คํธ๋ ์ด์ ์๋น์ค์ ๋ํ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ ์ ๊ณต. |
Heat-api-cfn | AWS Cloudformation๊ณผ ํธํ๋๋ฉฐ, RPC๋ฅผ ํตํด Heat-engine์๊ฒ API ์์ฒญ์ ๋ณด๋ด ์ฒ๋ฆฌํ๋๋กํ๋ AWS Query API |
Heat-engine | ์ฌ์ฉ์๊ฐ ์์ฒญํ ํ ํ๋ฆฟ(HOT)์ ์ ์๋๋๋ก ์๋น์ค๋ฅผ nova, neutron๊ณผ ๊ฐ์ ์คํ์คํ ์๋น์ค๋ฅผ ํตํด ์์ํ๊ณ , ๊ทธ๋ก ์ธํด ๋ฐ์ํ๋ Event๋ฅผ API ์์ฒญ์์๊ฒ ์ ๊ณตํ๋ฉฐ, DB์๋ ๊ทธ ์ ๋ณด ์ ์ฅ. |
Heat์ ํตํด ์ฌ์ฉ์๋ API๋ฅผ ์ง์ ํธ์ถํ์ฌ ์ค์ผ์คํธ๋ ์ด์
์๋น์ค๋ฅผ ์์ฒญํ๊ฑฐ๋, CLI(Command Line Interface)๋ฅผ ํตํด ๋์ผ ์์
์ ์ํํ ์ ์์ด์. ์ด ๋, CLI ์ญ์ ์ฌ์ฉ์ ๋ช
๋ น์ API๋ก ๋ฐํํ์ฌ ์ฒ๋ฆฌํฉ๋๋ค.
๋ํ, ์์ ๋ API ์๋ฒ๋ AMQP(Advanced Message Queueing Protocol) ๊ท๊ฒฉ ๊ธฐ๋ฐ์ ๋ฉ์์ง ํต์ ์ ํตํด Heat Engine์ผ๋ก ์ด๋ฅผ ์ ๋ฌํ๊ณ ์์ด์.
Heat Engine์ ์์ ํ ํ
ํ๋ฆฟ๊ณผ API ํ๋ผ๋ฏธํฐ์ ํฌํจ๋ ์ฌ์ฉ์ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธํ๋ผ ๋ฐ ํด๋ผ์ฐ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑํ๊ธฐ ์ํ์ฌ Nova API, Neutron API ๋ฑ๊ณผ ๊ฐ์ ์คํ์คํ ํ๋ก์ ํธ๋ค์ API๋ฅผ ํธ์ถํ๋ต๋๋ค.
Heat์ ์ด์ฉํ๋ฉด ๋ง์ ์์คํ
์ฌ์ฉ๋์ ๋ง์ถฐ ์ปดํจํธ ๋
ธ๋์ ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ํ์ฅํ ์ ์์ด์. CPU ๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ๋ ์ฌ์ ์ ์๋ ๊ท์น์ ์ฌ์ฉํ์ฌ ์ค์ผ์คํธ๋ ์ด์
์ ๊ตฌ์ฑํ์ฌ ํ์ํ ๋, ์ถ๊ฐ ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์ถ๊ฐ ๋ฐ ์ ๊ฑฐํ ์ ์์ด์.
์ด๋ Auto Scaling(์คํ ์ค์ผ์ผ๋ง) ์ํคํ
์ฒ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ธ๋ฐ, ์ค์ผ์คํธ๋ ์ด์
์ ์ฌ์ฉํ์ฌ ์ฌ๋์ด ์ฝ์ ์ ์๋ YAML ํ
ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ๊ท์น์ ์ ์ํ ์ ์์ด์. ์ด๋ฌํ ๊ท์น์ ์๊ฒฉ ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์คํ
๋ถํ๋ฅผ ํ๊ฐํ์ฌ ์คํ์ ๋ ๋ง์ ์ธ์คํด์ค๋ฅผ ์ถ๊ฐํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด ์ ์ฉํ๋ต๋๋ค.
๋ถํ๊ฐ ๊ฐ์ํ๋ฉด ์ค์ผ์คํธ๋ ์ด์
์์ ์ฌ์ฉ๋์ง ์๋ ์ธ์คํด์ค๋ ์๋์ผ๋ก ์ ๊ฑฐํ ์ ์์ด์.
Auto Scaling(์๋ ํ์ฅ) ๊ด๋ จ ์ฉ์ด |
์์ธ ๋ด์ฉ |
Stack(์คํ) | ์คํ์ ์ ํ๋ฆฌ์ผ์ด์
์ด์ ์ ํ์ํ ๋ชจ๋ ์์์ ๋ํ๋. ๋จ์ผ ์ธ์คํด์ค ๋ฐ ํด๋น ์์๋งํผ ๊ฐ๋จํ๊ฑฐ๋, ๋ค๊ณ์ธต ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๋ชจ๋ ์์ ์ข ์์ฑ์ด ์๋ ์ฌ๋ฌ ์ธ์คํด์ค๋งํผ ๋ณต์กํด ์ง ์ ์์. |
Template(ํ ํ๋ฆฟ) | ์คํํ Heat์ ๋ํ ์ผ๋ จ์ ์์ ์ ์ ์ํ๋ YAML Script. |
Template File(ํ ํ๋ฆฟ ํ์ผ) | Telemetry์์ ์๋ตํ๋ ์๊ณ๊ฐ์ ์ ์ํ๊ณ , ์๋ ํ์ฅ ๊ทธ๋ฃน ์ ์. |
Environment File(ํ๊ฒฝ ํ์ผ) | ํ๊ฒฝ์ ๋ํ Build ์ ๋ณด (์ฌ์ฉํ ํ๋ ์ด๋ฒ ๋ฐ ์ด๋ฏธ์ง, ๊ฐ์ ๋คํธ์ํฌ ๊ตฌ์ฑ ๋ฐฉ๋ฒ ๋ฐ ์ค์นํ Software) ์ ์. |
๐ฝ ๊ตฌ์ฑ ์์ ์ค์น ๋ฐ ๊ตฌ์ฑ
๐ฆ Heat ์ด๊ธฐ ๊ตฌ์ฑ - ์ปจํธ๋กค๋ฌ ๋ ธ๋
์ต์ด Keystone์ ์ฌ์ฉ์์ ์๋น์ค, ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค์ด ์ค๊ฒ์.
์ฌ์ฉ์ ๊ณ์ ์ ์์ ๊ฐ์ด ๋ง๋ค์ด ์ฃผ์์ด์. servicepassword์๋ ํด๋น ๊ณ์ ์ด ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ฉด ๋๊ณ , ๋๋๋ก ํน์๋ฌธ์๋ ๋ฃ์ง ์๋๊ฑธ ์ถ์ฒํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ ๊ณ์ ์ ๊ด๋ฆฌ์ ์ญํ ๋ก ์ถ๊ฐํด ์ฃผ์์ด์.
์ด๋ฒ์ heat_stack_owner ๋ผ๋ ์ญํ ์ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , heat_stack_user ๊ถํ๋ ๋ง๋ค์ด ์ฃผ์์ด์.
admin ๊ณ์ ์ heat_stack_owner ๊ถํ์ ์ถ๊ฐํด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , heat์ด๋ผ๋ ์๋น์ค๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฐ ๋ค heat-cfn ์ด๋ผ๋ ์๋น์ค๋ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , ์ค์ผ์คํธ๋ ์ด์
์ ๋ํ public, internal, admin ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
์ด๋ฒ์ cloudformation์ ๋ํ public, internal, admin ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , heat ์ด๋ผ๋ ๋๋ฉ์ธ์ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ด heat_doamin_admin ์ด๋ผ๋ ๊ณ์ ์ ๋ง๋ค์ด ์ฃผ์์ด์.
servicepassword์๋ ํด๋น ๊ณ์ ์ด ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ฉด ๋๊ณ , ๋๋๋ก ํน์๋ฌธ์๋ ๋ฃ์ง ์๋๊ฑธ ์ถ์ฒํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , heat_domain_admin ๊ณ์ ์๊ฒ ๊ด๋ฆฌ์ ๊ถํ์ ๋ถ์ฌํ์์ด์.
๐ฆ Heat ์ด๊ธฐ ๊ตฌ์ฑ - Database
์ด๋ฒ์ DB๋ฅผ ์์ฑํ๊ณ , ๊ณ์ ์ ๋ง๋ค์ด ๋ณผ๊ฒ์.
์์ ๊ฐ์ด DB๋ฅผ ๋ง๋ค๊ณ , ๊ณ์ ์ ์์ฑํ๊ณ , ๊ถํ์ ๋ถ์ฌํ์์ด์.
๐ฆ Heat Networking ๊ตฌ์ฑ - ์ปจํธ๋กค๋ฌ ๋ ธ๋ (๋คํธ์ํฌ ๋ ธ๋)
๋ง์ฝ ์ฃผ๋์ ๋ค๋ฅด๊ฒ ๋คํธ์ํฌ ๋ ธ๋๋ฅผ ๋ฐ๋ก ๊ตฌ์ฑํ๋ค๋ฉด ์ด ๋ถ๋ถ์ ๋คํธ์ํฌ ๋ ธ๋์์ ์งํํด ์ฃผ์ด์ผ ํด์.
์ต์ด ์์ ๊ฐ์ด ํจํค์ง๋ฅผ ์ค์นํด ์ค๊ฒ์.
[DEFAULT]
deferred_auth_method = trusts
trusts_delegated_roles = heat_stack_owner
# Heat API Host
heat_metadata_server_url = http://private-controller:8000
heat_waitcondition_server_url = http://private-controller:8000/v1/waitcondition
heat_stack_user_role = heat_stack_user
# Heat domain name
stack_user_domain_name = heat
# Heat domain admin username
stack_domain_admin = heat_domain_admin
# Heat domain admin's password
stack_domain_admin_password = servicepassword
# RabbitMQ connection info
transport_url = rabbit://openstack:password@private-controller
์์ ๊ฐ์ด ๋ด์ฉ์ ์ถ๊ฐํ๊ณ ๊ฐ๊ฐ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํด ์ฃผ์ด์ผ ํด์.
[database]
connection = mysql+pymysql://heat:password@192.168.20.254/heat
[clients_keystone]
auth_uri = http://private-controller:5000
[heat_api]
bind_host = 192.168.20.3
bind_port = 8004
#cert_file = /etc/heat/fullchain.pem
#key_file = /etc/heat/privkey.pem
[heat_api_cfn]
bind_host = 192.168.20.3
bind_port = 8000
#cert_file = /etc/heat/fullchain.pem
#key_file = /etc/heat/privkey.pem
[keystone_authtoken]
www_authenticate_uri = http://private-controller:5000
auth_url = http://private-controller:5000
memcached_servers = private-controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = heat
password = servicepassword
# if using self-signed certs on Apache2 Keystone, turn to [true]
insecure = false
[trustee]
auth_url = http://private-controller:5000
auth_type = password
user_domain_name = default
username = heat
password = servicepassword
์ฌ๊ธฐ๊น์ง ๋ณ๊ฒฝ์ ์๋ฃํ์์ผ๋ฉด ์ ์ฅํ๊ณ , ๋์ต๋๋ค.
ํด๋น ์ค์ ํ์ผ์ ๊ถํ๊ณผ ๊ทธ๋ฃน์ ์์ ๊ฐ์ด ๋ณ๊ฒฝํด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , DB์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , ๋ฐ๋ชฌ์ ์ฌ๊ธฐ๋ํ๊ณ , ์๋น์ค์ ๋ฑ๋กํด ์ฃผ์์ด์.
๐ฆ ์ฌ์ฉ ๋ฐฉ๋ฒ - ์ปจํธ๋กค๋ฌ ๋ ธ๋
Heat ์๋น์ค ๋ฐ ํ
ํ๋ฆฟ์ ์ด์ฉํ์ฌ ํ
ํ๋ฆฟ์ ๋ฐฐํฌํด ๋ณด๋๋ก ํ ๊ฒ์.
์ต์ด heatclient ํจํค์ง๋ฅผ ์ค์นํด ์ฃผ์ด์ผ ํด์.
heat_template_version: 2021-04-16
description: Heat Sample Template
parameters:
ImageID:
type: string
description: Image used to boot a server
NetID:
type: string
description: Network ID for the server
resources:
server1:
type: OS::Nova::Server
properties:
name: "Heat_Deployed_Server"
image: { get_param: ImageID }
flavor: "m1.small"
networks:
- network: { get_param: NetID }
outputs:
server1_private_ip:
description: IP address of the server in the private network
value: { get_attr: [ server1, first_address ] }
์์ ๊ฐ์ด ํ
์คํธ์ฉ ํ
๋ธ๋ฆฟ์ ๋ง๋ค์ด ๋ณด์์ด์.
ํ์ฌ ์ฃผ๋์ ์คํ์คํ์์ ๋ณด์ ํ OS ์ด๋ฏธ์ง ๋ชฉ๋ก์ ์กฐํํด ๋ณด์์ด์.
๊ทธ๋ฆฌ๊ณ ์คํ์คํ์ ๊ตฌ์ฑํ ๊ฐ์ ๋คํธ์ํฌ ๋ชฉ๋ก์ ํ์ธํด ๋ณด์์ด์.
๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ด m1.small ์ด๋ผ๋ flavor๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
๐ก ์ฐธ๊ณ ์ฌํญ
flavor๋? ์คํ์คํ์์ flavor๋ ์ธ์คํด์ค(๊ฐ์ ๋จธ์ )์ ํฌ๊ธฐ์ ๊ตฌ์ฑ์ ์ ์ํ๋ ๋งค๊ฐ๋ณ์ Set(์ธํธ) ์๋ฏธ.
Flavor๋ ์ธ์คํด์ค๊ฐ ์ด๋ค ์์์ ์ฌ์ฉํ ๊ฒ์ธ์ง ์ด๋ค ์ฉ๋๋ก ์ฌ์ฉ๋ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ค์ํ ์ญํ .
โ vCPU(๊ฐ์ CPU): Flavor๊ฐ ์ ๊ณตํ๋ ๊ฐ์ CPU ์.
โ RAM: ์ธ์คํด์ค์ ํ ๋น๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋.
โ Disk ๊ณต๊ฐ: ์ธ์คํด์ค์ ๋์คํฌ ๊ณต๊ฐ ํฌ๊ธฐ๋ฅผ ์๋ฏธ. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ๋์คํฌ ์ ํ๊ณผ ํจ๊ป ์ ๊ณต.
โ Storage Type: ์ธ์คํด์ค์ ๋์คํฌ์ ์ฌ์ฉ๋๋ ์คํ ๋ฆฌ์ง ์ ํ ์ง์ . ์๋ฅผ ๋ค์ด ์ผ๋ฐ HDD, SSD ๋ฑ์ผ๋ก ๊ตฌ๋ถ.
โ ID ๋ฐ ์ด๋ฆ: Flavor ์๋ณ์ ์ํ ๊ณ ์ ID ๋ฐ ์๋ฏธ ์๋ ์ด๋ฆ ํฌํจ.
Flavor๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ธ์คํด์ค ์์ฑ ์ ์ ํํ ์ ์๊ณ , ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ์์ ์ ์๊ตฌ์ ๋ง๊ฒ ๊ฐ์ ๋จธ์ ์ ์กฐ์ ํ๊ณ , ๊ตฌ์ฑํ ์ ์์. ์๋ฅผ ๋ค์ด ์์ ์น ์ ํ๋ฆฌ์ผ์ด์ ํธ์คํ ์ฉ๋๋ผ๋ฉด ์์ CPU ๋ฐ RAM ํฌ๊ธฐ๋ฅผ ๊ฐ์ง Flavor๋ฅผ ์ ํํ ์ ์๊ณ , DB ์๋ฒ๋ฅผ ํธ์คํ ํ๋ ค๋ฉด ๋ ๋ง์ CPU ๋ฐ RAM์ ๊ฐ์ง Flavor ์ ํ ๊ฐ๋ฅ. ์ด๋ฌํ ์ ์ฐ์ฑ์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ๋๊ณ , ๋น์ฉ์ ๊ด๋ฆฌํ๋๋ฐ ๋์.
์์ ๊ฐ์ด ํ
ํ๋ฆฟ์ ์ด์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ๋ณด์์ด์.
๋ช ๋ถ์ด ์ง๋๋ฉด Stack Status๊ฐ CREATE_COMPLETE์ผ๋ก ๋ณ๊ฒฝ๋๊ณ ,
๊ทธ๋ฐ ๋ค openstack server list ๋ช
๋ น์ด๋ฅผ ํตํด ์๋ฒ ๋ชฉ๋ก์ ํ์ธํ ์ ์์ด์.
๐ก ์ฐธ๊ณ ์ฌํญ
Stack ์ ๊ฑฐ ๋ช ๋ น์ด: openstack stack delete --yes {Stack ์ด๋ฆ}
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
๐ง ์ฐธ๊ณ ์๋ฃ