brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 19. 2021

쿠버1탄-29.쿠버네티스-ResourceQuota(선택

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



<1> 특정 네임스페이스에 생성 가능한 Pod수를 제한해보자~

<2> 삭제

<3> 다음 과정



<1> 특정 네임스페이스에 생성 가능한 Pod수를 제한해보자~


1

네임스페이스 ns3 만듬

리소스 쿼터 정함


2

cat << EOF > ns3-quota-pod-count.yaml

apiVersion: v1

kind: Namespace

metadata:

  name: ns3

---

apiVersion: v1

kind: ResourceQuota

metadata:

  name: resource-quota-pod-count

  namespace: ns3

spec:

  hard:

    count/pods: 3

    count/services: 1

EOF



3

kubectl apply -f ns3-quota-pod-count.yaml


4

모니터링1

watch -d 'kubectl get quota -n ns3; echo; kubectl get pod -n ns3'


5

네임 스페이스 확인

kubectl get namespaces ns3

NAME   STATUS   AGE

ns3    Active   50s


6

기본 네임스페이스에는 쿼터가 없음

kubectl get quota

No resources found in default namespace.


7

ns3에는 쿼터가 있음

kubectl get quota -n ns3

NAME                       AGE   REQUEST                                LIMIT

resource-quota-pod-count   97s   count/pods: 0/3, count/services: 0/1




8

Pod 3개까지는 생성되고, 4개부터는 생성 실패

for i in {1..4}; do kubectl run -n ns3 over-pod-$i --image=nginx --restart=Never; echo "--------------"; sleep 10; done;


pod/over-pod-1 created

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

pod/over-pod-2 created

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

pod/over-pod-3 created

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

Error from server (Forbidden): pods "over-pod-4" is forbidden: exceeded quota: resource-quota-pod-count, requested: count/pods=1, used: count/pods=3, limited: count/pods=3

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


9

NAME         READY   STATUS    RESTARTS   AGE

over-pod-1   1/1     Running   0          61s

over-pod-2   1/1     Running   0          51s

over-pod-3   1/1     Running   0          41s




<2> 삭제


kubectl delete -f ns3-quota-pod-count.yaml




<3> 다음 과정


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



감사합니다.

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