반응형
Intro
- Node에 Pod가 배포 될때 Pod에 설정된 Resource Request/limit값에 따라 배포가 가능할 수도있고 불가능할 수도 있습니다.
- 그만큼 Pod의 Resource Request/limit설정은 매우 중요합니다.
- 오늘은 Resource Request/limit의 개념과 설정 방법에 대해 알아보고자합니다.
Resource Requests/Limits
- Request는 pod를 생성할때 필요한 Resource 최소치
- Limits은 Pod가 사용할 수 있는 Resource 최대치
- 만약 다음과 같은 리소스를 가진 Node가 있고
- 다음과 같은 Request를 가진 Pod가 있을때
- 노드에 자원이 충분하기 때문에 배포가 잘되지만
- 같은 Request값을 가진 Pod를 두개를 배포했을때는 Node에 자원이 부족하여 할당 할 수 없음
- 다음과같이 하나의 pod를 배포했을때 CPU limit을 설정해놓는경우 CPU사용량이 limit을 넘어섰을때 throttling 이 발생할 수 있음
- Memory limit의 경우 설정해놓은 limit을 넘어서 지속적으로 사용할 경우 pod가 종료됨
Resource Requests/limits 단위
- cpu : 단위 없이 숫자로만 표현하며 단위는 vcpu임(AWS를 예를 들면 1= 1vcpu)
- memory : 이진 바이트 값인 Mi, Gi 단위를 사용함
참고 [바이트 단위 표]
Resource Requests/limits yaml예시
apiVersion: v1
kind: Pod
metadata:
name: simple-webapp-color
labels:
name: simple-webapp-color
spec:
containers:
- name: simple-webapp-color
image: simple-webapp-color
ports:
- containerPort: 8080
resources:
requests:
memory: "1Gi"
cpu: 1
limits:
memory: "2Gi"
cpu: 2
반응형
'IT > CKA' 카테고리의 다른 글
[CKA독학]kubernetes Cluster Maintenance 정리(drain/cordon/uncordon/ectd 백업&복구) (0) | 2021.06.04 |
---|---|
[CKA독학]kubernetes Static pod/multi scheduler 정리 (0) | 2021.06.03 |
[CKA독학]kubernetes 스케줄링 정리(taint&tolerations/NodeSelector/NodeAffinity) (0) | 2021.06.02 |
[CKA독학]kubernetes pod/replicaset/deployment/service 명령어 및 manifest정리 (0) | 2021.06.01 |
[kubernetes]서비스 타입 비교(ClusterIP/NodePort/LoadBalancer) (0) | 2021.05.24 |