🔠 쿠버네티스 클러스터 하나를 여러 개 논리적인 단위로 나눠서 사용하는 것입니다.
- 클러스터 하나를 여러 개 팀이나 사용자가 함께 공유
- 클러스터 안에서 용도에 따라 실행해야 하는 앱을 구분
- 네임스페이스별로 별도의 쿼터를 설정해서 특정 네임 스페이스의 사용량을 제한할 수도 있습니다.
$ kubectl get namespaces
NAME STATUS AGE
default Active 2d4h
kube-node-lease Active 2d4h
kube-public Active 2d4h
kube-system Active 2d4h
- default : 기본 네임스페이스
- 쿠버네티스에서 명령을 실행할 때 별도의 네임스페이스를 지정하지 않는다면 항상 default 네임스페이스에 명령을 적용합니다.
- kube-system : 쿠버네티스 시스템에서 관리하는 네임스페이스
- 관리용 파드나 설정이 있습니다.
- kube-public : 클러스터 안 모든 사용자가 읽을 수 있는 네임스페이스
- 보통 클러스터 사용량 같은 정보를 이 네임스페이스에서 관리합니다. 클러스터를 사용하는 모두가 볼 수 있기 때문입니다.
- kube-node-lease : 각 노드의 임대 오브젝트들을 관리하는 네임스페이스
# context 정보 확인
$ kubectl config current-context
minikube
# context 정보로 기본 네임스페이스 정보 확인
$ kubectl config get-contexts minikube
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* minikube minikube minikube default
# 기본 네임 스페이스 변경
$ kubectl config set-context minikube --namespace=minikube
Context "minikube" modified.
# 변경 후 확인
$ kubectl config get-contexts minikube
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* minikube minikube minikube minikube
GitHub : kubectx
+ kubens
( NameSpace 관련 tool [win사용불가] )