Toby's Study Blog
article thumbnail

이 오브젝트를 왜 써야하나?

Kubernetes Cluster라고 하여 전체 사용할 수 있는 자원이 있다.

(일반적으로 메모리나 cpu)

클러스터 안에는 여러 namespace를 만들 수 있고

또 namespace 안에 여러 파드를 만들 수 있다.

각 파드는 필요한 자원을 클러스터 자원을 공유하여 사용 하는데

만약 한 namepace 안에 있는 파드가 클러스터 안에 있는 모든

자원을 모두 사용하면

다른 파드 입장에서는 더이상 쓸 자원이 없어 문제가 발생한다..

이런 문제를 해결하기 위해 ResourceQuota 를 namespace 마다

달면 namespace마다 최대 한계를 설정할 수 있다.

그러하여 한계를 넘을 수 없어 다른 namespace에 있는 파드들에 영향을 끼치지 않게 된다.

한 파드가 자원 사용량을 너무 크게 해버리면 다른 파드들이 이 namespace에 더이상 들어올 수 없게 되는데

이러지 못하게 관리하기 위하여 limit range를 두어 namespace에 들어오는

파드의 크기를 제한할 수 있다.

클러스터에도 달아 전체 자원에 대한 제한을 할 수 있다.

1.Namespace

한 네임스페이스 안에 중복 이름 파드 존재 x

타 네임 스페이스에 있는 자원과 분리가 되어 관리됨

셀렉터나 라벨이 같아도 네임스페이스가 다르면

서비스,파드 모두 서로 연결이 되지 않음

Node나 PV같이 모든 네임스페이스에서 공용으로 사용되는 경우도 있음

네임스페이스를 지우면 안 자원들도 모두 지워짐

2.ResourceQuota

네임스페이스의 자원한계를 설정하는 오브젝트

전체 리퀘스트 자원 최대 3gb

메모리 제한 6gb

제한이 있는데 파드에 메모리를 지정해줘야하며 전체

한계치를 넘지 않아야한다.

3.LimitRange

각각의 파드마다 namespace에 들어올 수 있는지 자원을 체크

Min : 파드에서 설정되는 메모리의 리미트 값이 0.1보다 넘어야한다.

Max : 초과할 수 없다.

maxLimitRequestRatio : request값과 limit값의 비율이 최대 3배를 넘지 x

default를 주면 파드를 만들때 request, limit을 넣지 않으면 해당값으로 자동 설정

'kubernetes' 카테고리의 다른 글

Deployment  (0) 2023.08.10
Pod-Lifecycle  (0) 2023.08.10
Service  (0) 2023.08.10
Controller  (0) 2023.08.10
Volume  (0) 2023.08.10
profile

Toby's Study Blog

@Toby12

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그