<aside>
π§
Linux Namespace
- 리λ
μ€ λ€μμ€νμ΄μ€λ νλ‘μΈμ€λ₯Ό μ€νν λ μμ€ν
μ 리μμ€λ₯Ό λΆλ¦¬ν΄μ μ€νν μ μλλ‘ λμμ£Όλ κΈ°λ₯μ
λλ€.
- ν μμ€ν
μ νλ‘μΈμ€λ€μ κΈ°λ³Έμ μΌλ‘ μμ€ν
μ 리μμ€λ€μ 곡μ ν΄μ μ€νλ©λλ€. μ΄λ₯Ό λ¨μΌ λ€μμ€νμ΄μ€λΌκ³ μκ°ν΄λ³Ό μ μμ΅λλ€.
- μ€μ λ‘ λ¦¬λ
μ€μμλ 1λ² νλ‘μΈμ€(init)μ ν λΉλμ΄μλ λ€μμ€νμ΄μ€λ€μ μμ νλ‘μΈμ€λ€μ΄ λͺ¨λ 곡μ ν΄μ μ¬μ©νλ κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ Έμμ΅λλ€.
리λ
μ€μμ μ§μνλ λ€μμ€νμ΄μ€ μ’
λ₯
- Cgroup λ€μμ€νμ΄μ€(cgorup)
- IPC λ€μμ€νμ΄μ€(ipc)
- λ€νΈμν¬ λ€μμ€νμ΄μ€(network)
- λ§μ΄νΈ λ€μμ€νμ΄μ€(mnt)
- PID λ€μμ€νμ΄μ€(pid)
- UTS λ€μμ€νμ΄μ€(user)
- μ¬μ©μ λ€μμ€νμ΄μ€(uts)
- μκ° λ€μμ€νμ΄μ€(time)
Linux Namespace μ¬μ©νλ μ΄μ
1. νλ‘μΈμ€ 격리
- μ¬λ¬ νλ‘μΈμ€κ° κ°μ λ€λ₯Έ namespaceμ μ‘΄μ¬νλ©΄, μλ‘μ μμμ μν₯μ λ―ΈμΉμ§ μκ³ λ
립μ μΌλ‘ λμν μ μμ΅λλ€.
- μ΄λ 보μ, 격리λ μ€ν νκ²½μ λ§λλ λ° μ μ©ν©λλ€. μλ₯Ό λ€μ΄, 컨ν
μ΄λνλ μ ν리μΌμ΄μ
μ λ€λ₯Έ μ ν리μΌμ΄μ
κ³Ό 리μμ€λ₯Ό 곡μ νμ§ μμΌλ©° λ
립μ μΌλ‘ μ€νλ©λλ€.
2. 리μμ€ λΆλ¦¬
- κ° namespaceλ μμ(λ€νΈμν¬, νμΌ μμ€ν
λ±)μ 격리νμ¬, νλμ μμ€ν
λ΄μμ μ¬λ¬ νκ²½μ λ
립μ μΌλ‘ μ΄μν μ μκ² ν΄μ€λλ€.
- μλ₯Ό λ€μ΄, 컨ν
μ΄λλ κ°κ°μ λ€νΈμν¬, νμΌ μμ€ν
, μ¬μ§μ΄ IP μ£Όμλ λ
립μ μΌλ‘ κ°μ§ μ μμ΄ λ€λ₯Έ 컨ν
μ΄λμ μμ 격리λ νκ²½μ μ μ§ν μ μμ΅λλ€.
3. 보μμ± κ°ν
- κ° namespaceλ μμμ 격리νλ―λ‘, ν νλ‘μΈμ€κ° λ€λ₯Έ νλ‘μΈμ€μ μμμ μ κ·Όν μ μκ² ν©λλ€.
- 컨ν
μ΄λ κΈ°λ° μμ€ν
μμλ 격리λ νκ²½μ λ§λ€μ΄ μΈλΆ 곡격μ΄λ μ
μ± νλ‘μΈμ€κ° μμ€ν
μ λ°μ μν₯μ λ―ΈμΉμ§ μλλ‘ λ³΄νΈν©λλ€.
4. κ°λ° λ° λ°°ν¬ νκ²½μ μ μ°μ±
- Linux Namespaceλ 컨ν
μ΄λνλ νκ²½(μ: Docker, Kubernetes)μμ νμμ μΈ κΈ°λ₯μ
λλ€.
- κ°λ°μλ€μ κ°κΈ° λ€λ₯Έ νκ²½μμμ λμμ 격리νμ¬ μ ν리μΌμ΄μ
μ κ°λ°νκ³ ν
μ€νΈν μ μμ΅λλ€.
- λ€μν μ΄μ 체μ νκ²½μ νλμ νΈμ€νΈμμ ꡬνν μ μμ΄, κ°λ° νκ²½κ³Ό λ°°ν¬ νκ²½μ μΌκ΄μ±μ μ μ§ν μ μμ΅λλ€.
</aside>