resources
-
쿠버네티스 | Pod 자원관리 (QoS)kubernetes 2021. 7. 25. 16:21
이번 시간에는 쿠버네티스에서는 노드에 메모리 자원이 부족해지면 어떤 포드나 프로세스가 먼저 종료되는지(우선순위)에 대해서 알아보도록 하겠습니다. 쿠버네티스에서는 지정된 Limit와 Request에 따라 내부적으로 우선순위를 계산합니다. 그리고 Pod의 우선순위를 구분하기 위해 3종류의 QoS(Qualitu Of Service) 클래스를 명시적으로 Pod에 설정합니다. 쿠버네티스 OOM(Out Of Memory) 쿠버네티스의 노드에는 각종 노드의 이상 상태 정보를 의미하는 Conditions라는 값이 존재합니다. kubectl describe nodes {node_name} | grep -A9 Conditions MemoryPressure는 기본적으로 노드의 가용 메모리가 100Mi 이하일 때 발생하도록 ..
-
쿠버네티스 | Pod 자원관리kubernetes 2021. 7. 21. 23:23
오늘은 쿠버네티스 리소스 자원관리에 대해서 정리를 해보려고 합니다. 이전에 쿠버네티스 아키텍처를 소개할 때, 쿠버네티스에서 Pod를 어떤 노드에 배포하게 될지는 스케줄러가 정하게 된다고 말씀을 드렸습니다. 스케줄러는 Pod를 배포할 수 있는 여유가 있는 노드로 배포하게 되는데, 이때 각 노드가 여유가 있는지를 판단하는 기준은 각 노드의 CPU, Memory의 사용량 등이 이용됩니다. 따라서 목표는 스케줄러가 어떤 기준으로 노드를 선별하게 되는지 알아보는 것이지만, 그전에 결국 노드의 자원은 노드에 띄워져 있는 쿠버네티스 리소스들의 자원의 합계치 임으로 리소스에 대한 자원을 먼저 알아보도록 하겠습니다. 리소스 단위 Pod의 리소스를 설정하게 되면 다음과 같습니다. apiVersion: v1 kind: Po..