클라우드와 컨테이너의 기초
Linux의 컨테이너를 실현하는 커널 기능 중 네임스페이스(namespaces)와 cgroups(컨트롤 그룹)의 역할의 조합으로 올바른 것은?
- A네임스페이스: 프로세스에서 보이는 것(프로세스 ID, 네트워크, 마운트 등)을 나눈다, cgroups: CPU나 메모리 등 자원의 사용량을 제한·측정한다
- B네임스페이스: CPU나 메모리 등 자원의 사용량을 제한·측정한다, cgroups: 프로세스에서 보이는 것(프로세스 ID, 네트워크, 마운트 등)을 나눈다
- C네임스페이스: 컨테이너마다 별도의 커널을 부팅하여 서로를 격리한다, cgroups: 컨테이너마다 가상의 CPU를 만들어 하드웨어를 모방한다
정답과 해설 보기
정답: A. 네임스페이스: 프로세스에서 보이는 것(프로세스 ID, 네트워크, 마운트 등)을 나눈다, cgroups: CPU나 메모리 등 자원의 사용량을 제한·측정한다
컨테이너는 호스트의 커널 위에서 동작하는 보통의 프로세스에 두 가지 구조로 격리를 적용한 것입니다. 네임스페이스는 프로세스 ID, 네트워크, 마운트(파일 시스템이 보이는 방식), 호스트 이름 등을 그룹별로 나누어, 컨테이너 안의 프로세스에는 자기 몫만 보이게 합니다. cgroups는 프로세스 그룹이 사용할 수 있는 CPU 시간이나 메모리의 양을 제한하고 사용량을 측정합니다. 둘 다 커널의 기능이므로 컨테이너는 별도의 커널을 부팅하지 않으며, 하드웨어를 모방하지도 않습니다.