728x90
반응형
namespace
: 네임스페이스는 쿠버네티스 클러스터 하나를 여러 개의논리적인 단위로 나누어서 사용하는 것
쿠버네티스 클러스터 하나를 여러 개 팀이나 사용자가 공유할 수 있다. 또한 클러스터 안에서 용도에 따라 실행해야 하는 앱을 구분할 때도 네임스페이스를 사용한다.
kubectl get namespaces
기본 네임스페이스 별 의미는 다음과 같습니다.
- default : 기본 네임스페이스
- 쿠버네티스에서 명령을 실행할 때 별도의 네임스페이스를 지정하지 않으면 default 네임스페이스에 명령을 적용한다.
- kube-system : 쿠버네티스 시스템에서 관리하는 네임스페이스
- 쿠버네티스 관리용 파드, 설정이 있다.
- kube-public : 클러스터 안 모든 사용자가 읽을 수 있는 네임스페이스
- 클러스터 사용량 관리한다.
- kube-node-lease : 각 노드의 임대 오브젝트(Lease Object)들을 관리하는 네임스페이스
- 쿠버네티스 1.13 이후 알파 기능으로 추가됨.
ResourceQuota
: namespace마다 Pod 등의 오브젝트가 사용할 수 있는 자원의 제한을 걸어둘 수 있다.
Namespace마다 총 리소스의 사용을 제한하는 제약조건의 역할을 한다.
apiVersion: v1
kind: ResourceQuota
metadata:
name: rq-1
namespace: nm-3
spec:
hard:
requests.memory: 1Gi
limits.memory: 1Gi
- metadata
- namespace : 자원 제한을 걸 namespace
- spec
- hard
- requests.memory : 제한할 자원
- limits.memory : 한계치
- hard
LimitRange
: 하나의 파드 또는 컨테이너가 사용 가능한 모든 리소스를 독점할 수 있다는 우려가 있다. 네임스페이스에서 움직이는 포드 하나하나의 리소스량의 상한을 설정한다.
apiVersion: v1
kind: LimitRange
metadata:
name: lr-1
spec:
limits:
- type: Container
min:
memory: 0.1Gi
max:
memory: 0.4Gi
maxLimitRequestRatio:
memory: 3
defaultRequest:
memory: 0.1Gi
default:
memory: 0.2Gi
728x90
반응형