Container Technology
1. ์ปจํ
์ด๋๋
์ต๊ทผ์๋ ์ปจํ
์ด๋๊ฐ ๋ฑ์ฅํ๋ค. Host ๋ก๋ถํฐ ๊ฒฉ๋ฆฌ๋์ด ๋
๋ฆฝ์ ์ธ ํ๊ฒฝ์ ์ด๋ฏธ์ง ํ์ผ๋ก๋ถํฐ ์คํ๋๋ ํ๋ก์ธ์ค์ด๋ค. namespace์ cgroup ๊ธฐ์ ์ ์ฌ์ฉํ๋ค.
์๋ VM๋ OS ๋ฅผ ์ด๋ฏธ์งํํด์ ๋ง๋ค์ง๋ง ์ปจํ
์ด๋์์ ๋งํ๋ ์ด๋ฏธ์ง๋ ์ดํ๋ฆฌ์ผ์ด์
์ด๋ฏธ์ง์ด๋ค.
๋ด๊ฐ ์ฑ์ ๋๋ฆด๋ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ดํ๋ฆฌ์ผ์ด์
์์ฒด๋ฅผ ์ด๋ฏธ์งํํด์ ๋ง๋ค์ด๋์ ๊ฒ์ด๋ค.
2. ์ปจํ
์ด๋์ VM์ ์ข
๋ฅ
Linux LXC : OS ๋ด์์ ์๋ํ๋ ๊ฒฝ๋ํ๋ VM ๊ตฌํ.
Docker : Docker ์ถ์ ์ดํ๋ก ์ปจํ
์ด๋๊ฐ ๊ฐ๊ด๋ฐ๊ธฐ ์์ํจ. ๊ฐ๋ฐ์๋ค์ด ๋ค์ํ OS์์ ์๋ํ๋ ๋์ผํ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌํํ๋ ๊ฒ์ด ๋ชฉ์ . Docker Image ๋ ์คํ์ ํ์ํ ๋ชจ๋ ๊ฒ์ ํฌํจํ์ฌ docker format ํ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด๋ค.
App code, runtime, system tools, system libraries => image ๋ก ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ image๋ ์ปจํ
์ด๋๋ก ๋ค์ด๊ฐ๋ค.
3. VM vs Docker Container
VM (Virtual Machine): GuestOS๊ฐ ํ์ํ์ฌ ์ค๋ฒํค๋ ๋ฐ์ํ ์ ์์. ๊ทธ๋ ์ง๋ง OS๊ฐ ์์ด์ ๊ด๋ฆฌ์ฑ์ด ์ข๋ค.
Containers (ex) Docker) : GuestOS์์ ์ฌ์ฉ๋๋ ๋ฆฌ์์ค ๋ถํ์. Hypervisor๋ก ์ธํ ์ค๋ฒํค๋ ๊ฐ์.
์์ง๊น์ง ์ปจํ
์ด๋์ ๊ด๋ฆฌ์ฑ์ด ์ข์ง ์์์, VM์ ์ฐ๋ ๊ฒฝ์ฐ๋ ์์.
4. Container Network
์ปจํ
์ด๋ ๋ด๋ถ์ ์๋ ๋คํธ์ํฌ๋ ํธ์คํธ ๋ฌผ๋ฆฌ์ฃผ์์ ๋ค๋ฅด๋ค.
Port Forwarding์ ํตํด์ host ์ฃผ์์ ์ปจํ
์ด๋ ๋ด๋ถ์ ์ฃผ์๋ฅผ ์ฐ๊ฒฐํด์ค๋ค. namespace ์์์ ์กฐ์ ํ ๋ถ๋ถ, ๋ฐ๊นฅ์์ ์กฐ์ ํ ๋ถ๋ถ์ ์ ํด์ฃผ๋ฉด ๊ธฐ์กด์ ๋คํธ์ํฌ ์๋๋ฐฉ์๊ณผ ์ ์ฌํ๋ค.
5. ๊ฐ์ํ ๊ธฐ์
์๋ฒ, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ๋ฑ์ IT๋ฆฌ์์ค๋ฅผ ๋ฌผ๋ฆฌ์ ์ฑ์ง์ด๋ ๊ฒฝ๊ณ๋ฅผ ๊ฐ๋ฆฌ๊ณ , ๋
ผ๋ฆฌ์ ์ธ ๋ฆฌ์์ค ์ด์ฉ ๋จ์๋ก ๋ณํํด์ ์ ๊ณตํ๋ ๊ธฐ์
5-1. ๊ฐ์ํ ๊ธฐ์ ์ ๋ชฉ์
- ์ธํ๋ผ๋ฅผ ๋จ์ํ ์ํด (์ฌ์ฉ์๋ ์ด๋ค ์ธํ๋ผ์ธ์ง ๋ชฐ๋ผ๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ค. )
- ๋ถํ์ํ ์ฅ๋น ์ฆ์ค ๋ฐฉ์ง, ์ ํด ์ฅ๋น์ ํ์ฉ๋ฅ ์ ๋์
- ์๋น์ค ์ฅ์ ์ ์ ๋์ ๊ฐ๋ฅ
- TCO (Total Cost of Ownership) ๋ฅผ ์ ๊ฐํ ์ ์๋ค. ์ฆ ๊ด๋ฆฌ ๋น์ฉ์ ์ ๊ฐํ ์ ์๋ค.
- ์ ์ํ ํ์ฅ ๊ฐ๋ฅ
5-2. ๊ฐ์ํ ๊ธฐ์ ์ ์ข
๋ฅ
- ์๋ฒ ๊ฐ์ํ, ์คํ ๋ฆฌ์ง ๊ฐ์ํ, ๋คํธ์ํฌ ๊ฐ์ํ
- ๊ณต์ ํด์ ์ฌ์ฉํ๋ ์์์ธ๋ฐ, ๋ด๊ฒ์ ๋ค๋ฅธ ๊ฒ์ผ๋ก๋ถํฐ ๋ถ๋ฆฌ์ํค๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ธฐ์ ์ด๋ค.
์๋ฒ ๊ฐ์ํ
1. ์๋ฒ๊ฐ์ํ ์ข
๋ฅ
1) Bare-Metal Hypervisor๊ฐ์ํ
์๋ฒ ์์ ๋ฐ๋ก Hypervisor๊ฐ ์๋ค. ์ฆ, HostOS๊ฐ ํ์์์ผ๋ฉฐ, HostOS ์์ญ์ ๋ํ CPU ์ค์ผ์ค๋ง์ ํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋๊ฐ ์ ๋ค.
๊ฐ VM๋ณ ๊ด๋ฆฌ๊ฐ ์ ์ฐํจ
์์ฒด์ ์ธ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ์์ด์ ๋ณ๋์ ๊ด๋ฆฌ ์๋ฃจ์
์ด ํ์ํจ.
2) Hosted Hypervisor ๊ฐ์ํ
Host OS๊ฐ ํ์ํจ .
HostOS ์์ ๊ฐ์๋จธ์ ์ ๋ฐฐ์นํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ๋ฐ์ํจ
VM์์ฑ์ด ๊ฐ๋จํ๋ค.
๋ค์ํ ๊ด๋ฆฌ ์๋ฃจ์
์ด ์๋ค.
2. Hypervisor ๋ ?
ํ๋ก์ธ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ๋ค์ํ ์ปดํจํฐ ์์์ ์๋ก ๋ค๋ฅธ ๊ฐ์ข
OS์ ์ ๊ทผ ๋ฐฉ๋ฒ์ ํต์ ํ๋ ์์ ๊ณ์ธต์ ์ํํธ์จ์ด
๋ค์์ OS๋ฅผ ํ๋์ ์ปดํจํฐ ์์คํ
์์ ๊ฐ๋ํ ์ ์๊ฒ ํ๋ ์ํํธ์จ์ด๋ก CPU์ OS์ฌ์ด์ ๋ฏธ๋ค์จ์ด
ํ๋์ ์ปดํจํฐ์์ ์๋ก ๋ค๋ฅธ OS๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ ์ปดํจํฐ๋ฅผ ๋ง๋ค ์ ์๋ ํจ๊ณผ์ ์ธ ๊ฐ์ํ ์์ง
๊ฐ์ํ ์ ํ
1. ์ ๊ฐ์ํ
์์คํ
์ ์ฒด๋ฅผ ์์ ํ ๊ฐ์ํํ์ฌ ์์คํ
์ Bios ๋ถํฐ CPU, Memory, I/O ๋ฑ์ ์์ ํ ๊ฐ์ํํ๋ ๋ฐฉ๋ฒ
- ์ฅ์ : ํ๋์จ์ด๋ฅผ ์์ ํ ๊ฐ์ํ ํ๋ฏ๋ก, GuestOS๋ฅผ ์์ ํ์ง ์๊ณ ๋ค์ํ OS๋ฅผ ์ฌ์ฉํ ์ ์์. ๊ฐ์๋จธ์ ์ ์ ์ง๋ณด์๊ฐ ์ฉ์ด
- ๋จ์ : ์ ๊ฐ์ํ๋ฅผ ์คํํ๊ธฐ ์ํด์ CPU์ Virtualization Technology ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์.
- ์ข
๋ฅ : KVM
KVM์ ๊ฒ์คํธ ์ด์์ฒด์ ์ ์์ ์ด ํ์์๋ค.
Linux ์์ฒด๋ฅผ ํธ์คํธ OS๋ก ์ฌ์ฉํ๋ค. -> ํ๋ํ๋๊ฐ ๋ฆฌ๋
์ค single process ์ฒ๋ผ ์๋ํจ.
2. ๋ฐ๊ฐ์ํ
ํ๋์จ์ด ์ ์ฒด๋ฅผ ๊ฐ์ํ ํ๋ ๋์ ์, ๊ฐ์ํ๊ฐ ์ ์ฉ๋ ๋ฆฌ๋
์ค ์ปค๋์ ์์คํ
๋ถํ
์ ์ ์ฉ. ๋ชจ๋ ์ฅ์น๋ฅผ ๊ฐ์ํํ๋ ๊ฒ์ ์๋.
- ์ฅ์ : ๊ฐ์๋จธ์ ์ด ์ง์ ํ๋์จ์ด๋ฅผ ์ ์ดํ๋ ๊ฒ์ด ์๋๋ผ, ํ์ดํผ๋ฐ์ด์ ์๊ฒ requestํ๊ณ , ํ์ดํผ๋ฐ์ด์ ๊ฐ ํ๋์จ์ด๋ฅผ ์ ์ดํ๋ค. ๋ฐ๋ผ์ ๋์ ์ฑ๋ฅ์ ์ ์งํ ์ ์๋ค.
- ๋จ์ : ๋ฐ ๊ฐ์ํ๋ฅผ ์คํํ๊ธฐ ์ํด ๊ฐ์๋จธ์ OS์ ์ปค๋ ์ผ๋ถ๋ถ์ ์์ ํด์ผ ํจ. ์ ์ง๋ณด์๊ฐ ์ด๋ ค์.
- ์ข
๋ฅ : Xen
๋ฐ๊ฐ์ํ/์ ๊ฐ์ํ ๋ชจ๋ ๊ตฌํ ๊ฐ๋ฅ.
๊ฒ์คํธ ์ด์์ฒด์ ์ ์์ ์ด ํ์ํ๋ค.
์ ๊ฐ์ํ์ ๋นํด ์ฒ๋ฆฌ ์ค๋ฒํค๋๊ฐ ์ ๋ค.
'Cloud Engineering > Linux ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] vi/vim ํธ์ง๊ธฐ ์ ๋ ฅ, ์ด๋, ๋ณต์ฌ, ์ญ์ ๋ช ๋ น์ด ์ ๋ฆฌ (1) | 2022.12.28 |
---|---|
[Linux] ๋ฆฌ๋ ์ค ๋๋ ํ ๋ฆฌ ์๋ฏธ (0) | 2022.12.27 |
[Linux] ๋ฆฌ๋ ์ค ํฐ๋ฏธ๋ ๋ช ๋ น์ด : ๋๋ ํ ๋ฆฌ ํ์ธ (0) | 2022.12.27 |
CentOS ๋ฆฌ๋ ์ค ํฐ๋ฏธ๋์์ ์ฌ์ฉํ๊ธฐ (0) | 2022.12.27 |
[ํด๋ผ์ฐ๋์ปดํจํ ] ํด๋ผ์ฐ๋ ์ปดํจํ ์ด๋ (0) | 2022.12.10 |