728x90
Lemit Range
https://kubernetes.io/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/
LimitRange를 사용하면 파드 등에 대해 CPU 메모리 리소스의 최솟값과 최대값, 기본값 등을 설정할 수 있다. LimitRange가 네임스페이스에 제한을 주려면 네임스페이스마다 설정이 필요하다. 또 LimitRange는 신규로 파드를 생성할 때 사용되므로 기본 파드에는 영향을 주지 않는다. |
# vi sample-limitrange-container.yaml
apiVersion: v1
kind: LimitRange
metadata:
name: sample-limitrange-container
namespace: jyoonchu
spec:
limits:
- type: Container
default: # 컨테이너의 리소스 제한이 명시적으로 지정되지 않았을 때 사용되는 기본 제한 최대값을 정의하는 것
memory: 500Mi
cpu: 1000m
defaultRequest: # 컨테이너의 리소스 제한이 명시적으로 지정되지 않았을 때 사용되는 기본 제한 최소값을 정의하는 것
memory: 250Mi
cpu: 250m
# 내가 명시하고 싶으면 max,min으로 지정해주기
max:
memory: 500Mi
cpu: 1000m
min:
memory: 250Mi
cpu: 250m
maxLimitRequestRatio: # 최대 CPU 및 메모리 사용량 비율을 제한하는 데 사용됩니다.
memory: 2 # 최소/최대 요청 비율임, 아래 예제 참조
cpu: 4
# k apply -f sample-limitrange-container.yaml
수동으로 입력한 부분과 같이 돌아갈 수 있도록 사용하는 기능임.
# vi sample-resource.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-resource
namespace: jyoonchu
spec:
replicas: 4
selector:
matchLabels:
app: sample-app
template:
metadata:
labels:
app: sample-app
spec:
containers:
- name: nginx-container
image: nginx:1.16
# resources:
# requests: # 최소
# memory: "250Mi"
# cpu: "250m"
# limits: # 최대
# memory: "500Mi"
지정했던 리소스 부분 아래를 모두 주석처리로 가려주었음.
k get pod
k describe -n jyoonchu pod sample-resource-684ff6f4bf-ljvjb
k edit -n jyoonchu deployments.apps sample-resource
k get -n jyoonchu pod
스켈업 해보자
1->5개로 리플리카 변경
쿼터제한에 걸려서 4개가 생성됨
limit range보다 적게 해보자!
k delete -n jyoonchu deployments.apps sample-resource
k apply -f sample-pod.yaml
# vi sample-pod-overrequest.yaml
apiVersion: v1
kind: Pod
metadata:
name: sample-pod-overrequest
namespace: jyoonchu
spec:
containers:
- name: nginx-container
image: 34.22.96.240:5000/nginx:latest
resources:
requests:
cpu: 125m
limits:
cpu: 250m
# k apply -f sample-pod-overrequest.yaml
request보다 limit이 못미치는 상황임
응 안돼!
vi sample-pod-overrequest.yaml
k apply -f sample-pod-overrequest.yaml
request와 limit의 값을 맞춰줌
가능함!!
request와 limit의 값을 오버해보자!
vi sample-pod-overrequest.yaml
k apply -f sample-pod-overrequest.yaml
오류남....
# vi sample-pod-overratio.yaml
apiVersion: v1
kind: Pod
metadata:
name: sample-pod-overratio
namespace: jyoonchu
spec:
containers:
- name: nginx-container
image: 34.22.96.240:5000/nginx:latest
resources:
requests:
cpu: 125m
limits:
cpu: 500m
# k apply -f sample-pod-overratio.yaml
이 오류는 min값의 오류가 있어서 만들어지지 않는 것이다.
다시 수정!
# vi sample-pod-overratio.yaml
# k apply -f sample-pod-overratio.yaml
728x90
'Kubernetes' 카테고리의 다른 글
Kubernetes - 파드 스케쥴 (자동배치, 수동배치) (0) | 2024.02.20 |
---|---|
Kubernetes - 모니터링 (0) | 2024.02.20 |
Kubernetes - ResourceQuota관리 (0) | 2024.02.20 |
쿠버네티스-namespace (0) | 2024.02.19 |
쿠버네티스-ConfigMap (0) | 2024.02.19 |