1. 컨ν
μ΄λ 리μμ€ κ΄λ¦¬κ° νμν μ΄μ
β’
컨ν
μ΄λλ νΈμ€νΈ OSμ CPU, λ©λͺ¨λ¦¬, λμ€ν¬, λ€νΈμν¬λ₯Ό 곡μ .
β’
μ νμ λμ§ μμΌλ©΄ ν 컨ν
μ΄λκ° μμμ λ
μ ν΄ λ€λ₯Έ 컨ν
μ΄λλ νΈμ€νΈμ μν₯μ μ€ μ μμ
β’
Dockerλ Linuxμ cgroups(Control Groups) κΈ°λ₯μ μ΄μ©ν΄ 컨ν
μ΄λλ³ μμ μ¬μ©μ μ μ΄ν¨
2. μ£Όμ 리μμ€ μ ν μ΅μ
λ©λͺ¨λ¦¬ μ ν
β’
컨ν
μ΄λκ° μ¬μ©ν μ μλ μ΅λ λ©λͺ¨λ¦¬ ν¬κΈ° μ§μ
docker run -it --name <컨ν
μ΄λλͺ
> --memory=512m <μ΄λ―Έμ§λͺ
>
docker run -it --name <컨ν
μ΄λλͺ
> --memory=512m --memory-swap=1g <μ΄λ―Έμ§λͺ
>
Bash
볡μ¬
β’
-memory : μ΅λ λ©λͺ¨λ¦¬ μ ν
β’
-memory-swap : μ€μ ν¬ν¨ μ ν (μ€μ = RAM λΆμ‘± μ λμ€ν¬ μ¬μ©)
CPU μ ν
β’
컨ν
μ΄λμ ν λΉν CPU μ½μ΄ μ μ ν
docker run -it --name <컨ν
μ΄λλͺ
> --cpus=1 <μ΄λ―Έμ§λͺ
>
Bash
볡μ¬
β’
-cpus : CPU μ½μ΄ μ μ ν
β’
-cpu-shares : CPU μ μ μ°μ μμ(κΈ°λ³Έκ° 1024)
λμ€ν¬ I/O μ ν
β’
νΉμ λλ°μ΄μ€μ μ½κΈ°/μ°κΈ° μλλ₯Ό μ ν
docker run -it --name <컨ν
μ΄λλͺ
> --device-write-bps /dev/sda:1mb <μ΄λ―Έμ§λͺ
>
Bash
볡μ¬
λ€νΈμν¬ μ ν
β’
Docker μ체μλ λμν μ ν κΈ°λ₯μ΄ μμ
β’
Linux tc(Traffic Control) κ°μ μΆκ° λꡬλ₯Ό νμ©ν΄μΌ ν¨
3. 리μμ€ μ¬μ©λ λͺ¨λν°λ§
μ€μκ° λͺ¨λν°λ§
docker stats
Bash
볡μ¬
μΆλ ₯ μμ:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
<컨ν
μ΄λID> <컨ν
μ΄λλͺ
> 0.0% 1.871MiB / 512MiB 0.37% 875B / 126B 0B / 8.19kB 2
Plain Text
볡μ¬
4. λ² μ€νΈ νλν°μ€
1.
μλΉμ€ νΉμ±μ λ§κ² μ ν μ€μ
β’
μΉ μλ² β CPU μ ν
β’
λ°μ΄ν°λ² μ΄μ€ β λ©λͺ¨λ¦¬ μΆ©λΆν ν λΉ
2.
νμ docker stats λ± λͺ¨λν°λ§ ν΄λ‘ μν νμΈ
3.
μ΄μ νκ²½μμλ Prometheus, Grafana κ°μ λͺ¨λν°λ§ μμ€ν
κ³Ό μ°λνλ€κ³ ν¨
4.
Kubernetes μ¬μ© μ Pod λ¨μλ‘ requests/limits μ§μ
ν΅μ¬ μμ½
β’
컨ν
μ΄λ 리μμ€λ -memory, -cpus, -cpu-shares μ΅μ
μΌλ‘ μ ν κ°λ₯
β’
λμ€ν¬ I/Oμ λ€νΈμν¬λ μ μ΄ κ°λ₯ (μΆκ° λꡬ νμ)
β’
docker stats λͺ
λ Ήμ΄λ‘ μ¬μ©λ λͺ¨λν°λ§
β’
μ±λ₯ μμ μ±κ³Ό λ€λ₯Έ 컨ν
μ΄λ 보νΈλ₯Ό μν΄ νμ
