brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 19. 2021

쿠버1탄-28. 쿠버네티스-limitRange(선택)

다음은 쿠버네티스 스터디 자료를 참고해  정리한 내용입니다.


특정 네임스페이스에 할당 되는 자원의 범위 , 기본값지정


<1>  특정 네임스페이스에 할당 되는 자원의 범위 , 기본값지정 limitrange

<2> 삭제

<3> 범위 넘어선 Pod 생성 시도

<4> limitrange 삭제

<5> 다음과정



<1>  특정 네임스페이스에 할당 되는 자원의 범위 , 기본값지정 limitrange

 

1

cat << EOF > limitrange.yaml

apiVersion: v1

kind: LimitRange

metadata:

  name: limit-range

spec:

  limits:

  - default:               # 1. 자동으로 설정될 기본 Limit 값

      memory: 256Mi

      cpu: 250m

    defaultRequest:        # 2. 자동으로 설정될 기본 Request 값

      memory: 128Mi

      cpu: 125m

    max:                   # 3. 자원 할당량의 최대값

      memory: 0.5Gi

      cpu: 500m

    min:                   # 4. 자원 할당량의 최소값

      memory: 100Mi

      cpu: 100m

    type: Container        # 5. 각 컨테이너에 대해서 적용

EOF



2

kubectl apply -f limitrange.yaml


3

확인

kubectl get limitranges

NAME          CREATED AT

limit-range   2021-07-19T09:21:11Z

limits        2021-07-18T12:30:31Z


kubectl describe limitranges limit-range

Name:       limit-range

Namespace:  default

Type        Resource        Min    Max    Default Request  Default Limit  Max Limit/Request Ratio

----        --------  ---           ---    ---------------  -------------  -----------------------

Container   cpu            100m   500m   125m             250m           -

Container   memory    100Mi  512Mi  128Mi            256Mi          -



5

pod 생성하고 확인

kubectl run webpod --image nginx


NAME         READY   STATUS    RESTARTS   AGE   IP   NODE   NOMINATED NODE   READINESS GATES

pod/webpod   1/1     Running   0          14s   100.112.62.135   ip-172-20-39-212.ap-southeast-1.compute.internal   <none>           <none>


6

kubectl describe pod webpod | grep Limits -A 5

    Limits:

      cpu:     250m

      memory:  256Mi

    Requests:

      cpu:        100m

      memory:     128Mi




<2> 삭제


kubectl delete pod webpod




<3> 범위 넘어선 Pod 생성 시도


1

cat << EOF > pod-exceed.yaml

apiVersion: v1

kind: Pod

metadata:

  name: pod-exceed

spec:

  containers:

  - name: ubuntu

    image: ubuntu

    command: ["tail"]

    args: ["-f", "/dev/null"]

    resources:

      limits:

        memory: "800Mi"

        cpu: "750m"

      requests:

        memory: "500Mi"

        cpu: "500m"

EOF



2

생성

kubectl apply -f pod-exceed.yaml


Error from server (Forbidden): error when creating "pod-exceed.yaml": pods "pod-exceed" is forbidden: [maximum cpu usage per Container is 500m, but limit is 750m, maximum memory usage per Container is 512Mi, but limit is 800Mi]


범위를 넘어서 실패함

리밋!!!

max 보며 된다?

메모리 max가 0.5Gi = 512M 인데  800으로 해서 실패

cpu max가 500m인데 750으로 해서 안됨



<4> limitrange 삭제


kubectl delete -f limitrange.yaml



<5> 다음과정


https://brunch.co.kr/@topasvga/1727


감사합니다.





        

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari