패스잇
인프라 & 클라우드 · 심화

Linux 커널의 cgroups와 namespaces가 컨테이너 기술(예: Docker, Kubernetes)의 핵심 구성 요소인 이유를 설명하고, 이 두 기술이 어떻게 상호작용하여 프로세스 격리 및 리소스 제한을 구현하는지 구체적으로 설명해주세요.

힌트 · cgroups는 리소스 사용량을 제어하고 격리하며, namespaces는 프로세스, 네트워크, 파일 시스템 등의 격리된 뷰를 제공합니다. 이 둘이 결합되어 컨테이너 환경을 만듭니다.

cgroupsnamespaces컨테이너 격리리소스 제한커널 기능

모범답안

네, 이해했습니다. 면접에서 답변하는 것처럼 자연스럽고 간결하게 작성해보겠습니다.

cgroups와 namespaces는 컨테이너 기술의 핵심입니다. namespaces는 프로세스, 네트워크, 파일 시스템 등을 격리하여 컨테이너가 마치 독립된 시스템처럼 보이게 합니다. 예를 들어, PID namespace를 사용하면 컨테이너 내부의 프로세스는 PID 1번부터 시작할 수 있습니다.

cgroups는 CPU, 메모리, I/O 등 시스템 리소스 사용량을 제한하고 격리합니다. 컨테이너가 과도하게 리소스를 사용하는 것을 방지하여 다른 컨테이너나 호스트 시스템에 영향을 주지 않도록 합니다.

이 둘은 함께 작동하여 컨테이너 격리를 구현합니다. namespaces로 격리된 환경을 만들고, cgroups로 리소스 사용량을 제한하는 것이죠. Docker나 Kubernetes 같은 컨테이너 런타임은 이 두 가지 커널 기능을 활용하여 컨테이너를 실행하고 관리합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Linux 면접 질문

← Linux 면접 질문 전체 보기