컨테이너를 구성하는 3가지 주요 리눅스 기술

  • Control groups (cgroups)
  • Namespaces
  • Union mount filesystem

 

Namespace

  • 프로세스 별로 커널 자원을 분할(격리)하는 기능
  • 격리하는 자원 
    • Process ID (pid)
    • Network (net)
    • Filesystem/mount (mnt)
    • Inter-oric comms (ipc)
    • UTS (UTS)
    • User (user)

 

 

cgroups / namespaces 비교

cgroup

how much you can use를 제한 > 얼마나 많은 리소스를 사용할 수 있는지를 제한.

cpu, memory, network, storage I/O 에 대해서 프로세스가 쓸 수 있는 사용량을 제한합니다.

 

namespace

what you can see를 제한 > 해당 프로세스가 볼 수 있는 범위를 제한.

프로세스 자신이 파일 시스템이 볼 수 있는 범위를 제한할 수도 있고, 사용자 정보를 제한할 수도 있습니다. 

 

 

cgroup 과 namespace 두가지를 합쳐서 리눅스 컨테이너의 근간이 됩니다. 

각 자원이 격리된 환경에 있고, 그 격리된 환경에서 각각의 자원들을 얼마나 쓸지 제안을 받는것이 컨테이너 기술의 메인입니다. 

 

namespace 종류

  • PID 네임스페이스 - Process ID .정보를 격리합니다. 네임스페이스 외의 다른 프로세스에서 접근 불가능.
  • Network 네임스페이스 - 네트워크 리소스를 격리및 가상 네트워크 장치를 할당
  • User 네임스페이스 - 프로세스별로 UID, GID 정보를 격리
  • Mount 네임스페이스 -  프로세스별로 마운트 되는 파일 시스템을 격리.
  • IPC 네임스페이스 -  inter-process communication을 격리. 다른 프로세스의 접근이나 제어를 방지.
  • UTS  네임 스페이스 - 호스트명인 도메인명을 격리

 

https://fastcampus.co.kr/dev_online_devopskit

 

DevOps 마스터 Kit with Linux, Kubernetes, Docker | 패스트캠퍼스

0부터 시작하는 DevOps의 모든 것! DevOps 엔지니어/SRE가 되기 위한 Linux 기초부터 Docker, Kubernetes의 활용과 이직을 위한 데브옵스 인터뷰 준비까지 이 강의 하나로 빠짐없이 학습해 보세요.

fastcampus.co.kr

 

'linux' 카테고리의 다른 글

[Linux] cgroup으로 CPU 사용 제한하기  (0) 2023.01.14
[Linux] cgroup  (0) 2023.01.12

+ Recent posts