cgroups와 네임스페이스 간의 차이
최근 도커를 배우기 시작했는데 대부분의 무거운 리프팅은 네임스페이스와 cgroup을 사용하여 리눅스 커널에서 하는 것 같습니다.
제가 혼란스러워하는 몇 가지 사항은 다음과 같습니다.
네임스페이스와 cgroup의 차이점은 무엇입니까?이들이 다루는 다양한 사용 사례는 무엇입니까?
도커는 이 위에 무엇을 구현하여 인기를 얻었습니까?
저는 이러한 기능의 내부와 구현 방법을 알고 싶습니다.
이 두 개념에 대한 적절한 링크는 PR 14307에서 수정되었습니다.
후드 아래에 있는 도커는 다음 구성 요소를 기반으로 합니다.
리눅스 커널의 cgroups 및 기능
포함:
- cgroup: Control Group은 작업 세트와 모든 미래 하위를 특수한 동작을 가진 계층적 그룹으로 통합/파티셔닝하는 메커니즘을 제공합니다.
- 네임스페이스: 글로벌 시스템 리소스를 추상화로 래핑하여 네임스페이스 내의 프로세스에 글로벌 리소스의 고유한 분리된 인스턴스가 있는 것처럼 보이게 합니다.
간단히 말해서:
- Cgroups = 사용할 수 있는 양을 제한합니다.
- 네임스페이스 = 표시되는 내용을 제한합니다(따라서 사용).
제롬 페타조니의 "컨테이너의 해부학: 네임스페이스, cgroups 및 일부 파일 시스템 매직"에서 더 많은 정보를 확인할 수 있습니다.
그룹에는 리소스 미터링 및 제한이 포함됩니다.
- 기억
- CPU
- 블록 I/O
- 네트워크
네임스페이스는 프로세스에 고유한 시스템 뷰를 제공합니다.
다중 네임스페이스:
- 뚱딴지
- 그물
- mnt
- uts
- ipc
- 사용자: 도커 1.10의 실험을 졸업한 사용자
(특권이 없는 사용자에게 컨테이너 루트의 데몬별 인스턴스 재매핑이 진행 중입니다. PR12648: 설계 참조)
cgroups는 CPU, 메모리, 네트워크 I/O 또는 파일 시스템에 대한 액세스와 같은 프로세스 또는 프로세스 집합이 사용할 수 있는 리소스를 제한하는 반면 네임스페이스는 프로세스 그룹의 가시성을 시스템의 나머지 부분으로 제한합니다.
자세한 내용은 Linux 커널 C 그룹 및 네임스페이스가 어떻게 현대적인 컨테이너를 가능하게 했는지 방문하십시오.
Cgroups(제어 그룹)는 리소스 관리를 수행합니다.
컨테이너에 제공할 호스트 시스템 리소스의 양을 결정합니다.
예:- 다음과 같은 서비스를 생성하기 위한 리소스를 도커-프로그래밍 yaml 파일에 정의합니다.
리소스:한계:CPU: "0.1"(100밀리코어)메모리: 50M
여기서 이 예에서는 cgroups에게 이러한 리소스를 특정 컨테이너에 할당하도록 명시적으로 요청합니다.
네임스페이스: 프로세스 격리, 컨테이너 완전 격리, 별도의 파일 시스템을 제공합니다.
There are 6 types of namespaces:
1. mount ns - for file system.
2. UTS(Unique time sharing) ns- which checks for different hostnames of running containers
3. IPC ns - interprocess communication
4. Network ns- takes care of different ip allocation to different containers
5. PID ns - process id isolation
6. user ns- different username(uid)
언급URL : https://stackoverflow.com/questions/34820558/difference-between-cgroups-and-namespaces
'programing' 카테고리의 다른 글
jQuery.offset()을 사용하여 위치를 가져오고 설정합니다. (0) | 2023.08.21 |
---|---|
Sequetize.js에서 생성한 SQL을 보려면 어떻게 해야 합니까? (0) | 2023.08.21 |
Android 레이아웃 요소의 배경색 설정 (0) | 2023.08.21 |
스위프트 언어에서 대소문자를 무시한 두 문자열을 비교하는 방법은 무엇입니까? (0) | 2023.08.21 |
데몬의 도커 오류 응답: "충돌... 컨테이너에서 이미 사용 중" (0) | 2023.08.21 |