5. Namespace, ResourceQuota, LimitRange
Kubernetes Cluster
- 전체 자원항목을 지원(ex 메모리, cpu등)
- 클러스터 안에는 여러개의 NameSpace를 만들 수 있고 그 안에 여러 Pod을 만들 수 있다.
- 생성된 Pod는 클러스터네 메모리를 할당 받는다
ResourceQuota, LimitRange가 필요한 이유
1. ResourceQuota
-
특정 NameSpace의 Pod이 집중 생성되는것을 막는다
-
최대사용 자원량의 한계를 지정할 수 있다.
-
다른 NameSpace의 리소스 침범을 막는다
spec:
hard:
requests.memory: 1Gi
limits.memory: 1Gi
2. Limit Range
- NameSpace안에 들어올 수 있는 최대 Pod를 제한 할 수 있다.
spec:
limits:
- type: Container
min:
memory: 0.1Gi
max:
memory: 0.4Gi
maxLimitRequestRatio:
memory: 3
defaultRequest:
memory: 0.1Gi
default:
memory: 0.2Gi
기타
- 한 NameSpace안에 있는 같은 오브젝트의 경우 Pod이름이 중복되지 않음
- 이름도 uuid처럼 유일 key로 쓸 수 있음
- 타 NameSpace 에 존재하는 pod에 접근할 경우 직접 타 NameSpace 로 접근 불가하다
- PV 나 Node로 우회접근 가능
- Pod 마다 IP를 갖고 있음 이를 통해 접근 가능