Skip to content

Commit

Permalink
doc: 4장 요약
Browse files Browse the repository at this point in the history
  • Loading branch information
b.eom committed Nov 12, 2023
1 parent 0202be6 commit 7975790
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions GrulsuitG/week2/Chapt 4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Chapt 4. 파드 내 프로세스에서 cgroups 사용하기

cgroups와 리눅스 네임스페이스는 커닐이 프로세스를 IP 주소, 메모리 할당등을 할 수 있도록 도와주는 도구이다.

프로세스가 모든 리소스에 대한 액세스 권한을 갖고 실행된다면 의도치 않게끔 동작하여 다른 프로그램에 영향을 주거나 문제가 생길 수 있다.
따라서 cgroups를 통해 리소스를 제한하여 다른 프로세스의 자원을 사용할 수 없게끔 한다.

즉, 수 많은 파드가 실행되고 있는 쿠버네티스 환경에서 파드에 대한 cgroups를 가져서 리소스를 관리하는 것이 중요하다.

## kubelet의 리소스 관리방법

쿠버네티스에서는 OS가 비활성 메모리를 스왑할 수 없다.
왜냐하면 예측 가능한 방식으로 많은 양의 프로세스를 스케줄링하는 것이 임의의 한 프로세스 상태를 효율적으로 관리하는 것 보다 훨씬 중요하기 때문이다.

### QoS (Quality of Service)

중요한 서비스의 품질을 저하시키지 않고 사용량이 많은 시간에 서비스를 최적으로 수행할 수 있도록 균형을 유지해주는 것.

결정 규칙은 다음과 같다.

- BestEffort : 메모리 & CPU 요청이 없는 파드(우선순위 낮음)
- Burstable : 메모리 | CPU 요청을 갖지만 제한이 없는 파드(우선순위 중간)
- Guaranteed : 메모리 & CPU 요청을 모두 갖는 파드 (우선순위 높음)

## 모니터링

현실에서는 이러한 관리들을 수동으로 하는 것이 아닌 모니터링을 통해 관리한다.
쿠버네티스는 자체 모니터링 표준으로 `프로메테우스`로 정했다.

우리가 관심을 가져야하는 메트릭 유형은 다음과 같은 세 가지이다.

- 게이지(gauge): 초당 요청량
- 히스토그램(histogram): 다양한 유형의 이벤트를 시간 간격으로 표시
- 카운터(Counter): 증가하는 이벤트의 개수

0 comments on commit 7975790

Please sign in to comment.