415 words
2 mins
네임스페이스 개념 정리와 cgroup 차이
섹션 개요
- 네임스페이스의 개념과 역할을 정리한다.
- cgroup과의 차이를 간단히 구분한다.
네임스페이스란?
네임스페이스(namespace)는 프로세스가 보는 세상(view)을 분리하는 커널 기능이다. 같은 호스트에서도 프로세스마다 PID, 네트워크, 마운트 등이 다르게 보이게 만든다. 그래서 컨테이너는 “진짜로 다른 컴퓨터”처럼 보이지만, 실제로는 호스트 커널을 공유한다.
- 네임스페이스는 “격리”에 집중한다. 접근 가능한 범위를 나누는 개념이다.
- 네임스페이스는 자원을 “제한”하지 않는다. 보이는 영역을 바꾼다.
- 네임스페이스는 프로세스 단위로 적용되며, 같은 네임스페이스를 공유할 수 있다.
자주 쓰는 네임스페이스 종류
pid: 프로세스 ID 격리net: 네트워크 스택 격리mnt: 마운트 포인트(파일시스템) 격리uts: 호스트명/도메인명 격리ipc: IPC 리소스 격리user: UID/GID 격리(권한 매핑)cgroup: cgroup 트리 뷰 격리
cgroup과의 차이
네임스페이스는 “보이는 세계를 나누는 것”, cgroup은 “자원을 나누고 제한하는 것”이다. 네임스페이스만으로는 CPU/메모리 제한이 안 되고, cgroup만으로는 네트워크/프로세스 보기가 분리되지 않는다. 그래서 컨테이너는 보통 네임스페이스 + cgroup을 같이 쓴다.
Comments
네임스페이스 개념 정리와 cgroup 차이
https://cheoran.github.io/posts/namespaces-vs-cgroups/