- 포드 컨테이너의 리소스 요청
- 리소스 요청을 포함한 포드 만들기: resources:, requests-pod top
- 리소스 요청이 스케쥴링에 미치는 영향
- 포드가 노드에서 실행할 수 있는지 스케줄러가 결정하는 방법: 사용량(X) 요청량(O)
- 포드를 위한 최상의 노드를 선택할 때 스케줄러가 포드의 요청을 사용하는 방법: LeastRequestedPriority, MostRequestedPriority
- 노드의 용량 검사
- 어떤 노드에서 실행할 수 없는 포드 만들기
- 포드가 스케줄되지 않은 이유 알아내기
- 포드가 스케줄될 수 있도록 리소스 해제
- CPU 요청이 CPU 시간 공유에 미치는 영향
- 사용자 지정 리소스의 정의와 요청
- 컨테이너에 사용 가능한 리소스 한계
- 컨테이너가 사용 가능한 리소스 양에 대한 엄격한 한계 설정
- 리소스 한계를 가진 포드 만들기
- 한계 오버커밋
- 한계 초과: CrashLoopBackOff 상태
- 컨테이너 앱이 한계를 확인하는 방법
- 컨테이너는 항상 컨테이너가 아닌 노드의 메모리를 본다
- 컨테이너는 모든 노드의 CPU 코어도 본다
- 컨테이너가 사용 가능한 리소스 양에 대한 엄격한 한계 설정
- 포드의 QoS 클래스 이해: BestEffort, Bustable, Guranteed
- 포드에의 QoS 클래스 정의
- BestEffort 클래스에 포드 할당
- Guaranteed 클래스에 포드 할당
- Bustable QoS 클래스를 포드에 할당
- QoS 클래스의 요청과 한계 사이의 관계를 정의하는 법
- 컨테이너의 QoS 클래스 이해
- 다수의 컨테이너의 포드 QoS 클래스 이해
- 메모리가 부족할 때 어떤 프로세스가 강제 종료되는지 이해하기
- QoS 클래스가 줄을 세우는 방식
- 동일한 QoS 클래스의 컨테이너를 다루는 방법: OutOfMemory 점수
- 포드에의 QoS 클래스 정의
- 네임스페이스당 포드에 대한 기본 요청 및 한계 설정
- LimitRange 리소스 소개
- LimmitRange 객체 만들기
- 한계 적용
- 기본 리소스 요청 및 한계 적용
- 네임스페이스에서 사용 가능한 총 리소스 한계
- ResourceQuota 객체 소개
- CPU와 메모리의 ResourceQuota 생성
- quota와 quota 사용법 검사
- ResourceQuota와 함께 LimitRange 생성
- 영구 스토리지에 할당량 지정
- 생성 가능한 객체 수 제한
- 특정 포드 상태나 QoS 클래스의 할당량 지정
- ResourceQuota 객체 소개
- 포드 리소스 사용 모니터링
- 실제 리소스 사용량 수집 및 검색: cAdvisor 에이전트, Heapster 컴포넌트
- 힙스터 활성화
- 클러스터 노드의 CPU 및 메모리 사용량 표시
- 개별 포드의 CPU와 메모리 사용량 표시
- 리소스 사용 통계의 히스토리 저장 및 분석
- 인플러스DB와 그라파나 소개
- 클러스터에서 실행 중인 인플럭스DB와 그라파나
- 그라파나로 리소스 사용 분석
- 파드에 표시된 정보 사용
- 실제 리소스 사용량 수집 및 검색: cAdvisor 에이전트, Heapster 컴포넌트
- 요약
- 리소스 요청을 지정하면 쿠버네티스가 클러스터에서 포드를 스케줄하는 데 도움이 된다
- 리소스 한계를 지정하면 다른 리소스 포드가 기아 상태로 들어가는 것을 방지한다.
- 사용되지 않은 CPU 시간은 컨테이너의 CPU 요청에 따라 할당된다.
- 너무 많은 CPU를 사용한다고 해서 컨테이너를 강제 종료하진 않지만 너무 많은 메모리를 사용하려고 하면 컨테이너를 강제 종료한다.
- 오버커밋된 시스템에서는 포드의 QoS 클래스와 실제 메모리 사용량에 따라 더 중요한 포드의 메모리를 확보하기 위해 컨테이너를 강제 종료한다.
- LimitRange 객체를 사용해 개별 포드에 최소, 최대, 기본 리소스 요청 및 한계를 정의할 수 있다.
- ResourceQuota 객체를 사용해 네임스페이스의 모든 포드가 사용할 수 있는 리소스의 양을 제한할 수 있다.
- 포드의 리소스 요청 및 한계 대비 얼마나 많이 사용하는지 알기 위해서는 충분한 기간 동안 포드가 리소스를 사용하는 방식을 모니터링해야 한다.