brunch

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

by Master Seo

<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



감사합니다.

keyword
매거진의 이전글16. 오라클 클라우드-쿠버네티스-네임스페스 할당범위