반응형
Kubernetes에서 Pod의 request와 limit 값을 동일하게 설정하는 이유는 주로 예측 가능하고 일관된 리소스 할당을 위해서입니다. 이 두 값은 컨테이너가 사용할 수 있는 CPU 및 메모리의 최소 및 최대 값을 나타냅니다.
Request : 컨테이너가 실행되기 위해 최소한으로 필요한 리소스 양을 나타냅니다. Kubernetes는 이 값에 기반하여 어떤 노드에 Pod를 배치할지 결정하게 됩니다. 예를 들어, 메모리 요청이 1GB이면 해당 Pod는 적어도 1GB의 메모리를 보장받기 위해 노드에 배치됩니다.
Limit : 컨테이너가 사용할 수 있는 최대 리소스 양을 나타냅니다. 이 값은 컨테이너가 정해진 제한을 초과하지 않도록 제한을 두어 다른 Pod에게 영향을 주지 않도록 합니다.
동일한 값으로 설정하는 것은 여러 이유로 유용할 수 있습니다.
- request와 limit를 동일하게 설정하면 일관된 환경을 제공하며, 예측 가능한 동작을 유지할 수 있습니다.
(request 보다 적은 자원을 사용해도 다른 Pod에게 자원을 넘겨주지 않아도 됨)
- Pod가 필요한 만큼의 자원을 사용하면서도 불필요하게 많은 자원을 사용하지 않도록 보장할 수 있습니다.
(limit 보다 많은 자원을 사용하려고 하면 OOM Killer에 의해 종료 될 수 있음)
- 특정 작업이 일정 시간 내에 완료되어야 하는 경우, 일관된 자원 할당은 데드라인과 SLA를 준수하는 데 도움이 될 수 있습니다.
반응형
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Karpenter와 ClusterAutoscaler 비교 (0) | 2024.02.18 |
---|---|
[Kubernetes] CKA, CKAD CERT Bookmarks (0) | 2024.02.12 |
[Kubernetes] namespace 분리하는 이유 (0) | 2024.01.02 |
[kubernetes] k9s 설치 (0) | 2023.12.20 |
[Kubernetes] pod 직접 접근 방법 (0) | 2023.12.18 |