DevOps - ChoDragon9/posts GitHub Wiki
์ฐธ๊ณ ์ฌ์ดํธ: https://www.44bits.io/ko
- Docker
- ๋ฏธ์ฌ์ฉ ๊ณต๊ฐ ์ ๊ฑฐ: https://www.lainyzine.com/ko/article/docker-prune-usage-remove-unused-docker-objects/
- Kubernetes
- Service
- ๊ณต์ ํ๊ธ ๋ฌธ์
- ๊ฒฝํ ๋ง๋ค๊ธฐ
์๋ฒ ์ธํ๋ผ ๊ตฌ์ฑ ๋ฐฉ์์ ๋ฐ๋ฅธ ๋น๊ต
- On-Premises
- You Manage
- Networking / Storage / Servers / Virtualization
- O/S / Middleware / Runtime / Data / Applications
- You Manage
- Infrastructure as a Service
- You Manage: O/S / Middleware / Runtime / Data / Applications
- Other Manage: Networking / Storage / Servers / Virtualization
- Platform as a Service
- You Manage: Data / Applications
- Other Manage
- Networking / Storage / Servers / Virtualization
- O/S / Middleware / Runtime
- Software as a Service
- Other Manage
- Networking / Storage / Servers / Virtualization
- O/S / Middleware / Runtime / Data / Applications
- Other Manage
On-Permise(์จํ๋ ๋ฏธ์ค)
- ์ํํธ์จ์ด ์๋ฃจ์ ์ ์๊ฒฉํ๊ฒฝ์ด ์๋ ์์ฒด์ ์ผ๋ก ๋ณด์ ํ ์ ์ฐ์ค ์๋ฒ์ ์ง์ ์ค์น ๋ฐ ์ด์ํ๋ ๋ฐฉ์
- ํด๋ผ์ฐ๋ ์ปดํจํ ๊ธฐ์ ์ด ๋์ค๊ธฐ ์ ๊น์ง ๊ธฐ์ ์ธํ๋ผ ๊ตฌ์ถ์ ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ด์๊ธฐ ๋๋ฌธ์ ์ด์ ๋๋ ์ ํต์ ์ธ ์ด๋ผ๋ ๋จ์ด์ ํจ๊ป ์ฌ์ฉ๋จ
- ์จํ๋ ๋ฏธ์ค๋ฅผ ๊ตฌ์ถํ๋๋ฐ ์๊ฐ์ด ์๊ฐ์ ์ด์ ๊ฑธ๋ ธ๊ณ ๋น์ฉ ๋ํ ๋ง์ด ๋ค์ด, ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋๊ฐ ๋์ฌ ๋น์์ ์จํ๋ ๋ฏธ์ค๊ฐ ๋ชจ๋ ์ฌ๋ผ์ง ๊ฒ์ผ๋ก ์์ํ๋ค.
- ๋ณด์์ ์ธ ์ด์ ๋ก ํ์ด๋ธ๋ฆฌ๋ IT ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๋ค. ๋น์ฆ๋์ค์ ์ค์ํ๊ณ ๋ณด์์ด ํ์ํ ์๋น์ค์ ๋ฐ์ดํฐ๋ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์ผ๋ก ๊ตฌ์ถํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ค์ํ ๊ฒ์ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ฌ์ฉํ๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ
ํ๋์ ํฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๊ฐ์ ์์ ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ชผ๊ฐ์ด ๋ณ๊ฒฝ๊ณผ ์กฐํฉ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ ์ํคํ ์ฒ๋ฅผ ๋งํ๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํนํ๋ ๊ธฐ๋ฅ๋ณ๋ก ๋๋๊ฒ ๋๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ถ์ํ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
์ฅ์
- ๋ฐฐํฌ ์๊ฐ ๊ฐ์
- QA ๋ฒ์ ์ต์ํ
- ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ์ฌ์ด๋ ์ดํํธ ์ต์ํ
๋ชจ๋๋ฆฌํฑ ์ํคํ ์ฒ
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๋ฐ๋๋๋ ๊ฐ๋ ์ด๋ค. ๋ชจ๋๋ฆฌํฑ ์ํคํ ์ฒ๋ ํ ์๋น์ค์ DB, Mail Service, REST API, Web UI๊ฐ ๋จ์ผ ํจํค์ง๋ก ๋ฐฐํฌํ๋ ๊ฒ์ด๋ค. ์๋น์ค ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋ฉด์ ๋ชจ๋๋ฆฌํฑ ์ํคํ ์ฒ๊ฐ ๊ฐ์ง๋ ๋ฌธ์ ์ ๋ค์ ๋ฐฐํฌ ์๊ฐ์ ์ฆ๊ฐ, ๋ถ๋ถ์ ์ค์ผ์ผ ์์์ ์ด๋ ค์, ์์ ์ฑ์ ๊ฐ์๋ฑ์ด ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋๋ ํ๋ ์์ํฌ์ ๋ณ๊ฒฝ์ด ๊ฑฐ์ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ด ์ ๋๋ก ์ด๋ ต๋ค. ๊ทธ ๋์ ๊ฐ๋ฐ๋ ๋ฐฉ๋ํ ์์ ์ฝ๋๋ฅผ ์๋ก์ด ์ธ์ด, ๋๋ ํ๋ ์์ํฌ๋ก ์ ํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ถ๋ถ ์๋์กฐ์ฐจ ํ ์ ์์ ๊ฒ์ด๋ค.
Openstack
- IaaS ํํ์ ํด๋ผ์ฐ๋ ์ปดํจํ ์คํ์์ค ํ๋ก์ ํธ
- ์ํ์น ๋ผ์ด์ผ์ค
- ๋ฆฌ๋ ์ค ๊ธฐ๋ฐ์ ์ด์ฉ๊ณผ ๊ฐ๋ฐ
- ํ๋ก์ธ์ฑ, ์ ์ฅ๊ณต๊ฐ, ๋คํธ์ํน์ ๊ฐ์ฉ์์์ ์ ์ดํ๋ ๋ชฉ์ ์ ์ฌ๋ฌ ๊ฐ์ ํ์ ํ๋ก์ ํธ๋ก ์ด๋ค์ง
๊ตฌ์ฑ ์์
- ์ปดํจํธ(Nova)
- IaaS ์์คํ ์ ์ฃผ๊ฐ ๋๋ ๋ถ๋ถ์ธ ํด๋ผ์ฐ๋ ์ปดํจํ ํจ๋ธ๋ฆญ ์ปจํธ๋กค๋ฌ์ด๋ค.
- ํ์ดํผ๋ฐ์ด์ ๊ธฐ์ ๋ก KVM, VM์จ์ด, ์ ์ค ํ๋๋ฅผ ์ ํํ ์ ์๋ค.
- ๋คํธ์ํน(Neutron)
- ๋คํธ์ํฌ์ IP ์ฃผ์๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์์คํ
- ๋คํธ์ํฌ๊ฐ ๋ณ๋ชฉํ์์ ์ฒํ์ง ์๋๋ก ๋ณด์ฆ
- ๋คํธ์ํฌ ๊ตฌ์ฑ์ ํตํด์ ์ฌ์ฉ์์๊ฒ ์์ฒด ์๋น์ค ๊ธฐ๋ฅ์ ์ ๊ณต
- ์๋ฒ์ ํธ๋ํฝ์ ๋ถ๋ฆฌ์ํค๋ VLAN์ด๋ ํ๋ซ ๋คํธ์ํฌ๋ฅผ ์ ๊ณต
- ๋ธ๋ก ์คํ ๋ฆฌ์ง(Cinder)
- ์ปดํจํธ ์ธ์คํด์ค์ ์ฌ์ฉํ ์ง์์ ์ธ ๋ธ๋ก ๋ ๋ฒจ ์คํ ๋ฆฌ์ง ์ฅ์น๋ค์ ์ ๊ณต
- ๋ธ๋ก ์คํ ๋ฆฌ์ง ์์คํ ์ ๋ธ๋ก ์ฅ์น๋ค์ ์๋ฒ์ ์์ฑ / ๋ถํ / ์ ๊ฑฐํ๋ ์ผ์ ๊ด๋ฆฌํ๋ค.
- ๋ค์ํ ์คํ ๋ฆฌ์ง ํ๋ซํผ์ ์ฌ์ฉํ๋ค.
- ์์ด๋ดํฐํฐ(Keystone)
- ์ฌ์ฉ์๋ค์ด ์ ๊ทผํ ์ ์๋ ์คํ์คํ ์๋น์ค๋ค์ ๋งคํ๋๋ ์ฌ์ฉ์๋ค์ ์ค์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค.
- ์ฌ๋ฌ ํํ์ ์ธ์ฆ์ ์ง์ํ๋ค.
- ์ด๋ฏธ์ง(Glance)
- ๋์คํฌ ๋ฐ ์๋ฒ ์ด๋ฏธ์ง๋ฅผ ์ํ ๊ฒ์ / ๋ฑ๋ก / ๋ฐฐ๊ธ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
- ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง(Swift)
- ํ์ฅ ๊ฐ๋ฅํ ์ฌ๋ถ์ ์คํ ๋ฆฌ์ง ์์คํ ์ด๋ค.
- ์ค๋ธ์ ํธ์ ํ์ผ๋ค์ ๋ฐ์ดํฐ ์ผํฐ ๋ด ์๋ฒ๋ฅผ ํตํด ํผ์ ธ์๋ ์ฌ๋ฌ ๊ฐ์ ๋์คํฌ ๋๋ผ์ด๋ธ์ ๊ธฐ๋ก๋๋ฉฐ, ๋ฐ์ดํฐ ๋ณต์ฒด ๋ฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ์ผ์ ๋ด๋นํ๋ค.
- ์๋ฒ๋ ํ๋ ๋๋ผ์ด๋ธ๊ฐ ๊ณ ์ฅ๋๋ฉด ์คํ์คํ์ ํ์ฑํ๋ ๋ค๋ฅธ ๋ ธ๋์ ๋ด์ฉ๋ฌผ์ ํด๋ฌ์คํฐ ๋ด์ ์๋ก์ด ์์น๋ค๋ก ๋ณต์ ํ๋ค.
- ๋์๋ณด๋(Horizon)
- ๊ด๋ฆฌ์์ ์ฌ์ฉ์๋ค์๊ฒ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์์ ๋ฐฐ์น์ ์ ๊ทผ, ์ ๊ณต, ์๋ํ๋ฅผ ์ํ GUI๋ฅผ ์ ๊ณตํ๋ค.
- ์ค์ผ์คํธ๋ ์ด์
(Heat)
- ์คํ์คํ ๋ค์ดํฐ๋ธ REST API์ ํด๋ผ์ฐ๋ํฌ๋ฉ์ด์ ํธํ ์ฟผ๋ฆฌ API๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ๋ณตํฉ ํด๋ผ์ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ์กฐ์งํ๊ธฐ ์ํ ์๋น์ค
- ์ํฌํ๋ก(Mistral)
- ์ฌ์ฉ์๋ YAML ๊ธฐ๋ฐ ์ํฌํ๋ก ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ์ํฌํ๋ก๋ฅผ ์์ฑํ ๋ค์ REST API๋ฅผ ํตํด Mistral์ ์ํฌํ๋ก ์ ์๋ฅผ ์ ๋ก๋ํ๋ค.
- ํ ๋ ๋ฉํธ๋ฆฌ(Ceilometer)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค(Trove)
- ์ผ๋์คํฑ ๋งต ๋ฆฌ๋์ค(Sahara)
- ํ๋ก ํด๋ฌ์คํฐ๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ ๊ณตํ๊ธฐ ์ํ ๊ตฌ์ฑ ์์
- ํ๋ก ํด๋ฌ์คํฐ๋ฅผ ํ์ฅํ๋ ์๋จ์ ์ ๊ณตํ๋ค.
- ๋ฒ ์ด ๋ฉํ(Ironic)
- ๋ฉ์์ง(Zaqar)
- ๊ณต์ ํ์ผ ์์คํ (Manila)
- DNS(Designate)
- ๊ฒ์(Searchlight)
- ํค ๋งค๋์ (Barbican)
- ๊ธฐ๋ฐ ์ ๋ณด์ ์คํ ๋ฆฌ์ง์ ๋ณดํ์ ์ ๊ณต / ์ค๋น / ๊ด๋ฆฌํ๋ REST API์ด๋ค.
์ปดํจํฐ ํด๋ฌ์คํฐ
- ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ค์ด ์ฐ๊ฒฐ๋์ด ํ๋์ ์์คํ ์ฒ๋ผ ๋์ํ๋ ์ปดํจํฐ๋ค์ ์งํฉ
- ํด๋ฌ์คํฐ์ ๊ตฌ์ฑ ์์๋ค์ ์ผ๋ฐ์ ์ผ๋ก ๊ณ ์์ ๊ทผ๊ฑฐ๋ฆฌ ํต์ ๋ง์ผ๋ก ์ฐ๊ฒฐ๋๋ค.
- ์๋ฒ๋ก ์ฌ์ฉ๋๋ ๋ ธ๋์๋ ๊ฐ๊ฐ์ ์ด์์ฒด์ ๊ฐ ์คํ๋๋ค.
- ๋จ์ผ ์ปดํจํฐ๋ณด๋ค ๋ ๋ฐ์ด๋ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ์ ๊ณต
๊ตฌ์ฑ์์
- ํด๋ฌ์คํฐ ๋ ธ๋: ํ๋ก์ธ์ฑ ์์์ ์ ๊ณตํ๋ ์์คํ
- ํด๋ฌ์คํฐ ๊ด๋ฆฌ์: ๋ ธ๋๋ฅผ ์๋ก ์ฐ๊ฒฐํ์ฌ ๋จ์ผ ์์คํ ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋๋ ๋ก์ง์ ์ ๊ณต
ํน์ง
- ์์ ๋ถํ ๋ถ์ฐ(Load-Balancing): ๊ณ์ฐ ๋ถํ ๋ถ์ฐ
- ๋์ ๊ฐ์ฉ์ฑ(High-Availability, HA): ํ๋์ ๋ ธ๋ ์ฅ์ ์ ๋ค๋ฅธ ๋ ธ๋๊ฐ ์๋น์ค๋ฅผ ์ด์ด๋ฐ์
์ค์ผ์คํธ๋ ์ด์ (Orchestration)
- ์ฌ๋ฌ ์ปจํ ์ด๋์ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์ต์ ํ
- ์ปจํ ์ด๋ ์๋ ๋ฐฐ์น ๋ฐ ๋ณต์
- ์ปจํ ์ด๋ ๊ทธ๋ฃน์ ๋ํ ๋ก๋ ๋ฒจ๋ฐ์ฑ
- ์ปจํ ์ด๋ ์ฅ์ ๋ณต๊ตฌ
- ํด๋ฌ์คํฐ ์ธ๋ถ์ ์๋น์ค ๋ ธ์ถ
- ์ปจํ ์ด๋ ์ถ๊ฐ ๋๋ ์ ๊ฑฐ๋ก ํ์ฅ ๋ฐ ์ถ์
- ์ปจํ ์ด๋ ์๋น์ค๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ํตํ ์ฐ๊ฒฐ ๋ฐ ๋คํธ์ํฌ ํฌํธ ๋ ธ์ถ ์ ์ด
๋๊ตฌ๋ค
- Kubernetes(K8s)
- ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ์๊ณ , ๊ฐ์ฅ ๊ธฐ๋ฅ์ด ํ๋ถํจ
- ๋ฒ ์ด ๋ฉ๋ฌ, VMํ๊ฒฝ, ํผ๋ธ๋ฆฟ ํด๋ผ์ฐ๋ ๋ฑ์ ๋ค์ํ ํ๊ฒฝ์์ ์๋
- ์ปจํ ์ด๋์ ๋กค๋ง ์ ๊ทธ๋ ์ด๋ ์ง์
- Docker SWARM
- ์ฌ๋ฌ ๊ฐ์ Docker ํธ์คํธ๋ฅผ ํจ๊ป ํด๋ฌ์คํฐ๋งํ์ฌ ๋จ์ผ ๊ฐ์ฅ Docker ํธ์คํธ๋ฅผ ์์ฑ
- ํธ์คํธ OS์ Agent๋ง ์ค์นํ๋ฉด ๊ฐ๋จํ๊ฒ ์๋ํ๊ณ ์ค์ ์ด ์ฌ์
- Docker ๋ช ๋ น์ด์ Compose๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉ๊ฐ๋ฅ
- Apache MESSO
- ์๋ง ๋์ ๋ฌผ๋ฆฌ์ ์์คํ ์ผ๋ก ํ์ฅ ํ ์ ์๋๋ก ์ค๊ณ
- Hadoop, MPI, Hypertable, Spark๊ฐ์ ์์ฉํ๋ก๊ทธ๋จ์ ๋์ ํด๋ฌ์คํฐ ํ๊ฒฝ์์ ๋ฆฌ์์ค ๊ณต์ ์ ๋ถ๋ฆฌ๋ฅผ ํตํด ์์ ์ต์ ํ๊ฐ ๊ฐ๋ฅ
- Docker ์ปจํ ์ด๋๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ง์ํจ
์ฉ์ด ์ ์
- ํจ๋ธ๋ฆญ ์ปจํธ๋กค๋ฌ
- ๋ฐฐ์น, ์ ๊ทธ๋ ์ด๋, ํ๊ฒฝ์ค์ ๋ณ๊ฒฝ ๋ฑ์ ์๋น์ค๋ค์ ๊ด๋ฆฌํ๋ค.
- ํ์ดํผ๋ฐ์ด์
- ํธ์คํธ ์ปดํจํฐ์์ ๋ค์์ ์ด์ ์ฒด์ ๋ฅผ ๋์์ ์คํํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ํ๋ซํผ
- ๊ฐ์ํ ๋จธ์ ๋ชจ๋ํฐ ๋๋ ๊ฐ์ํ ๋จธ์ ๋งค๋์ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- KVM(Kernel-Based Virtual Machine)
- ๋ฆฌ๋ ์ค ์ปค๋์ ํ์ดํผ๋ฐ์ด์ ๋ก ๋ณํํ๊ธฐ ์ํ ๊ฐ์ํ ์ธํ๋ผ์คํธ๋ญ์ณ
- VM์จ์ด
- x86 ํธํ ์ปดํจํฐ๋ฅผ ์ํ ๊ฐ์ํ ์ํํธ์จ์ด ๊ณต๊ธ
- Window OS, Linux, OS X๋ฅผ ์ง์ํ๋ค.
- ์
- IA-32, x86-64, ์์ดํ ๋์, PowerPC 970 ๋ฑ์ ์ํคํ ์ฒ๋ฅผ ์ง์ํ๋ ํ์ดํผ๋ฐ์ด์ ์ด๋ค.
- LDAP(Lightweight Directory Access Protocol)
- TCP/IP ์์์ ๋๋ ํฐ๋ฆฌ ์๋น์ค๋ฅผ ์กฐํํ๊ณ ์์ ํ๋ ์์ฉ ํ๋กํ ์ฝ์ด๋ค.