-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
b.eom
committed
Nov 12, 2023
1 parent
0202be6
commit 7975790
Showing
1 changed file
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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): 증가하는 이벤트의 개수 |