mingming

Kubernetes Pod Resoure 할당하기 본문

kubernetes

Kubernetes Pod Resoure 할당하기

mingming_96 2023. 8. 31. 21:07

Requests & Limits 

Resource Requests  

- Pod를 실행하기 위한 최소 리소스 양 요청

 

Resource Limits

- Pod가 사용할 수 있는 최대 리소스 양을 제한 

- Memory limit을 초과해서 사용되는 파드는 종료되며 다시 스케줄링 된다. 

Example

pod-nginx-requests.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod-resource
spec:
  containers:
  - name: nginx-container
    image: nginx:1.14
    ports:
    - containerPort: 80
      protocol: TCP
    resources:
      requests:
        cpu: 200m
        memory: 250Mi

매니페스트 배포

kubectl apply -f pod-nginx-requests

requests가 잘 적용 되어 있는지 확인

kubectl describe pods nginx-pod-resource

 

pod-nginx-limits.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod-resource
spec:
  containers:
  - name: nginx-container
    image: nginx:1.14
    ports:
    - containerPort: 80
      protocol: TCP
    resources:
      limits:
        cpu: 1
        memory: 500Mi

메모리 사이즈 표현 방식 : 1Mi = 1024Ki

CPU : Core 수로 카운트 1 core = 1000m 

 

매니패스트 배포

kubectl apply -f pod-nginx-limits.yaml

limits 항목이 적용되어있는지 확인

kubectl describe describe pods nginx-pod-resource

limits를 설정하면 자동으로 같은 값의 request가 할당된다.

pod-nginx-pending.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod-resource
spec:
  containers:
  - name: nginx-container
    image: nginx:1.14
    ports:
    - containerPort: 80
      protocol: TCP
    resources:
      requests:
        cpu: 3
        memory: 500Mi
kubectl descirbe pods nginx-pod-resource

Pod에 서버에서 감당할 수 없는 리소스를 할당해주면 Pod가 스케줄링 되지 못하고 Pending 상태에 빠지게 됩니다.

 

FIN

Pod 에 리소스 할당하는 방법을 알아보았습니다. 최소 사양을 규정하는 requests와 최대 사양을 규정하는 limits를 이용해 효율적으로 리소르를 관리할 수 있습니다. 또한 Pod가 무한정으로 많은 리소스를 사용하면 클러스터 전체가 장애상태에 빠질 수 있습니다. 리소스 제한을 설정하여 이러한 장애를 예방하고, 리소스 사용이 너무 높은 Pod를 식별하고 대응할 수 있습니다.

 

'kubernetes' 카테고리의 다른 글

kubernetes controller - Replication Controller  (1) 2023.09.03
Vagrant로 kubernetes Cluster 구축하기  (0) 2023.09.01
EKS Prometheus & Grafana  (1) 2023.08.31
kubernetes static Pod  (2) 2023.08.30
kubernets Metal LB 설치하기  (1) 2023.08.30