반응형
default와 defaultRequest는 Kubernetes LimitRange 객체에서 Pod이나 컨테이너에 기본적으로 설정되는 리소스 제한과 요청 값을 정의하는 데 사용됩니다. 이 두 속성은 서로 다른 역할을 합니다.
1. default
- 설명:
- 컨테이너에 리소스 제한(Limits) 값을 기본으로 설정합니다.
- limits는 컨테이너가 사용할 수 있는 최대 리소스(예: CPU, 메모리)를 정의합니다.
- 컨테이너에서 명시적으로 resources.limits를 설정하지 않은 경우, 이 default 값이 적용됩니다.
- 예시:
- 컨테이너의 메모리 사용량이 명시적으로 설정되지 않았다면, 해당 컨테이너는 최대 2Gi의 메모리까지 사용할 수 있습니다.
-
yaml복사편집default: memory: 2Gi
2. defaultRequest
- 설명:
- 컨테이너에 리소스 요청(Requests) 값을 기본으로 설정합니다.
- requests는 컨테이너가 스케줄링될 때 필요한 리소스를 정의하며, 클러스터 내 노드에 스케줄링 가능 여부를 결정하는 데 사용됩니다.
- 컨테이너에서 명시적으로 resources.requests를 설정하지 않은 경우, 이 defaultRequest 값이 적용됩니다.
- 예시:
- 컨테이너가 명시적으로 요청 값을 설정하지 않은 경우, 스케줄러는 해당 컨테이너가 최소 10m(10 밀리코어)의 CPU와 128Mi의 메모리를 필요로 한다고 가정합니다.
-
yaml복사편집defaultRequest: cpu: 10m memory: 128Mi
default vs defaultRequest
속성 | 역할 | 적용 대상 |
default | 컨테이너가 사용할 수 있는 최대 리소스를 정의합니다. | resources.limits |
defaultRequest | 컨테이너가 스케줄링될 때 필요한 최소 리소스 요청을 정의합니다. | resources.requests |
동작 요약
- 스케줄링:
- 스케줄러는 defaultRequest 값을 사용해 컨테이너를 클러스터의 어느 노드에 배치할지 결정합니다.
- 예를 들어, 컨테이너의 요청(requests) 값이 10m CPU와 128Mi 메모리라면, 해당 리소스를 충족할 수 있는 노드에만 스케줄링됩니다.
- 실행 중 리소스 제한:
- 컨테이너는 실행 중에 default 값을 초과하여 리소스를 사용할 수 없습니다.
- 예를 들어, 메모리 사용량이 2Gi를 초과하면 컨테이너는 종료(OOMKilled)될 수 있습니다.
반응형
'K8S' 카테고리의 다른 글
[kubernetes] kubectl alias 설정하기 (0) | 2025.01.23 |
---|---|
[kubernetes] PDB(pod disruption Budget)에 대해 알아보자! (0) | 2024.12.25 |
[kubernetes] Ingress 사용하는 이유 (0) | 2024.12.23 |
[Kubernetes] externalTrafficPolicy와 internalTrafficPolicy (0) | 2024.12.21 |
service와 clusterIP의 관계에 대해 알아보자 (0) | 2024.12.21 |
댓글