brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 23. 2023

17. 오라클 클라우드 - 쿠버네티스 - Pod수 제한

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

<2> 삭제



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


1

topasvga@cloudshell:~ (ap-seoul-1)$ 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




2

ns3 네임 스페이스 만들어짐

quota-pod-count 만들어짐

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl apply -f ns3-quota-pod-count.yaml

namespace/ns3 created

resourcequota/resource-quota-pod-count created



3

현재 네임 스페이스들 확인

ns3  네임 스페이스가 생김

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get ns

NAME              STATUS   AGE

default           Active   8d

hello             Active   41h

kube-node-lease   Active   8d

kube-public       Active   8d

kube-system       Active   8d

ns3               Active   108s



4

ns3에 쿼터(제약사항)가 생김

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get quota -n ns3

NAME                       AGE   REQUEST                                LIMIT

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


현재 ns3에 파드가 없음

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get pod -n ns3

No resources found in ns3 namespace.



5

디폴트에는 쿼터 제한이 없음

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get quota

No resources found in default namespace.



ns3에만 쿼터 제한이 있음

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get quota -n ns3

NAME                       AGE     REQUEST                                LIMIT

resource-quota-pod-count   2m16s   count/pods: 0/3, count/services: 0/1   


6

ns3에 파드를 4개 만들어 봄.

현재 pod 수 쿼터 제한은 3개임.

4번째는 안만들어져야 함 ~


topasvga@cloudshell:~ (ap-seoul-1)$ 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

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


7

yaml로 만든 ns3 삭제, 쿼터 제한 삭제


topasvga@cloudshell:~ (ap-seoul-1)$ kubectl delete -f ns3-quota-pod-count.yaml

namespace "ns3" deleted

resourcequota "resource-quota-pod-count" deleted



감사합니다.

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