Kubernetes - Object:Namespace, ResourceQuota, LimitRange
Devops/Kubernetes

Kubernetes - Object:Namespace, ResourceQuota, LimitRange

뉴비뉴 2020. 5. 11.

개념

Kubernetes Cluster 안에는 한정 된 자원(CPU, Memory)이 있습니다.

Cluster 내에서는 한정 된 자원으로 Pod의 용량을 할당하고 하는 작업이 이루어집니다.

 

Cluster 안에서 사용할 수 있는 Memory는 4GB라고 예를들어 보겠습니다.

3개의 Namespace가 존재하고 안에 Pod들이 존재합니다. 한 개의 Namespace의 Pod에서 3GB라는 Memory를 잡고 있다면 다른 Namespace들을 속도가 느려지거나 여러 문제를 발생시킬 것 입니다. 이러한 문제를 예방하기 위해 ResourceQuota로 해당 네임스페이스가 가질 수 있는 자원을 관리할 수 있습니다.

3번 째 Namespace를 보면 Pod의 자원이 부족해 문제가 발생할 수 있지만 다른 Namespace안의 Pod에는 영향을 끼치지 않게 됩니다. 하지만 한 Pod가 자원사용량이 너무 크게되면 다른 Pod들이 해당 Namespace에 들어올 수 없게 됩니다. 이러지 못하게 관리하기 위해서 Limit Range를 둬서 Namespace에 들어오는 Pod의 크기를 제한할 수 있습니다.

 

이 말은 즉슨 Namespace에 들어오고 싶은 Pod의 자원사용량이 Litmit Range보다 크다면 들어오지못하고, 작으면 들어올 수 있게 설정할 수 있습니다.

 

참고로 Limit Range, Resource Quota는 Namespace 뿐만 아니라 Cluster에도 필터를 걸어 데이터를 제한할 수 있습니다.

 

Namespace

Namespace 안에는 같은 타입의 오브젝트들은 이름이 중복될 수 없다.

타 Namespace에 있는 자원과 분리가되어 관리가 된다.

노드나 PV는 값을 공유할 수 있다.

Namespace를 삭제하게되면 안에 존재하는 모든 것이 삭제되게 된다.

 

서로 다른 Namespace에서 Pod에 접근이 가능하다.

ResourceQuota

Namespace의 자원한계를 설정하는 오브젝트입니다.

requests.memory: 3Gi

limits.memory: 6Gi

총 3Gi의 자원 중에 2Gi를 사용하는 Pod이 있는데 새로운 2Gi Pod이 들어오려고한다면 접근하지 못하게 됩니다.

Computer Resource와 Objects Count도 추가로 제한이 가능합니다. ex) Pod . . .

 

주의사항

Pod가 생성되어있는 상태에서 ResourceQuota를 만들게되면 어떻게될까?

그냥 만들어지게 된다. Node에 이미 2개의 Pod을 만든 상태에서 ResourceQuota로 Pod 생성 개수를 2개로 제한합니다.

그리고나서 Pod을 생성하게 되면 당연히 이미 2개의 Pod 이 만들어져있기 때문에  생성이 안되어야 하지만, 생성이 됩니다. ResourceQuota를 지정하려면 Pod이 없는 상태로 진행해야 됩니다. 그래야 위와 같은 불상사를 막을 수 있습니다.

 

LimitRange

각각의 Pod마다 Namespace에 들어올 수 있는지 체크를 해줍니다.

min, max 사이의 자원만 들어올 수 있고, maxLimitRequestRatio 는 리퀘스트 값과 리미트 값의 비율이 최대 3배를 넘으면 안된다는 뜻 입니다. defaultRequest, default로 기본적으로 LimitRange를 설정해줄 수 있습니다.

 

 

'Devops > Kubernetes' 카테고리의 다른 글

Kubernetes Django Tutorial (GKE) - 2  (0) 2020.05.12
Kubernetes Django Tutorial (Cloud SQL, Storage) - 1  (0) 2020.05.11
Helm 이란  (0) 2020.05.11
Kubernetes - Object:ConfigMap, Secret  (0) 2020.05.08
Kubernetes 세미나  (0) 2020.04.29

댓글

💲 추천 글