본문 바로가기

Kubernetes

[Kubernetes] Pod의 request와 limit 값을 동일하게 설정하는 이유

반응형

 

Kubernetes에서 Pod의 request와 limit 값을 동일하게 설정하는 이유는 주로 예측 가능하고 일관된 리소스 할당을 위해서입니다. 이 두 값은 컨테이너가 사용할 수 있는 CPU 및 메모리의 최소 및 최대 값을 나타냅니다.

Request : 컨테이너가 실행되기 위해 최소한으로 필요한 리소스 양을 나타냅니다. Kubernetes는 이 값에 기반하여 어떤 노드에 Pod를 배치할지 결정하게 됩니다. 예를 들어, 메모리 요청이 1GB이면 해당 Pod는 적어도 1GB의 메모리를 보장받기 위해 노드에 배치됩니다.

Limit : 컨테이너가 사용할 수 있는 최대 리소스 양을 나타냅니다. 이 값은 컨테이너가 정해진 제한을 초과하지 않도록 제한을 두어 다른 Pod에게 영향을 주지 않도록 합니다.

동일한 값으로 설정하는 것은 여러 이유로 유용할 수 있습니다.

 

-  request와 limit를 동일하게 설정하면 일관된 환경을 제공하며, 예측 가능한 동작을 유지할 수 있습니다.

(request 보다 적은 자원을 사용해도 다른 Pod에게 자원을 넘겨주지 않아도 됨)

 

- Pod가 필요한 만큼의 자원을 사용하면서도 불필요하게 많은 자원을 사용하지 않도록 보장할 수 있습니다.

(limit 보다 많은 자원을 사용하려고 하면 OOM Killer에 의해 종료 될 수 있음)

 

- 특정 작업이 일정 시간 내에 완료되어야 하는 경우, 일관된 자원 할당은 데드라인과 SLA를 준수하는 데 도움이 될 수 있습니다.

 

 

반응형