컨테이너를 구성하는 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 |