Certified Kubernetes Administrator (CKA) with Practice Tests - CPU, Memory

Albert·2025년 2월 1일

Kubernetes에서 Pod의 CPU 및 메모리 설정 정리

1. CPU 및 메모리 설정 방법

Pod의 resources 필드를 사용하여 최소 요청 값(Requests)과 최대 제한 값(Limits)을 설정할 수 있다.

resources:
  requests:
    memory: "64Mi"
    cpu: "250m"
  limits:
    memory: "128Mi"
    cpu: "500m"

2. CPU, Memory Requests 설정

  • CPU, Memory Requests 설정 필요성

최소 요청 값(Requests)을 설정하지 않으면 CPU와 Memory 할당되지 않을 수 있다. 특히 CPU 의 경우 다른 파드의 버스트로 인하여 할당이 안될 수 있는 부분으로 CPU 는 더욱 최소값에 신경을 기울어야 한다.

  • CPU 사용량 초과 가능

CPU는 사용량을 초과해도 스케줄러가 조절(Throttling)하여 사용 가능하다.

3. CPU와 메모리의 차이점
• CPU: 압축(Compressible) 가능한 자원
• Time-sharing 방식으로 동작하여 작업을 일정한 시간 간격으로 스케줄링함.
• Pod의 CPU Limit을 초과하면 OS 스케줄러가 개입하여 CPU 사용을 제한(Throttling) 한다.
• 클럭 속도(예: 2.4GHz)는 초당 연산 횟수를 의미함.
• Memory: 독점(Non-compressible) 자원
• 한 프로세스가 메모리를 차지하면 다른 프로세스는 사용할 수 없음.
• 설정된 메모리 제한을 초과하면 OOM(Out of Memory) 발생 → 서버가 다운될 수 있음.

4. 정리
• CPU는 공유 자원이므로 요청 값을 설정하지 않으면 할당되지 않을 가능성이 있음.
• CPU 사용량이 초과되면 Kubernetes가 제한을 걸어 조절(Throttling) 가능.
• 메모리는 독점 자원이므로 설정된 제한을 초과하면 OOM으로 서버가 다운될 수 있음.

profile
개발 블로그

0개의 댓글