[Kubernetes] Namespace

🔠 쿠버네티스 클러스터 하나를 여러 개 논리적인 단위로 나눠서 사용하는 것입니다.
  • 클러스터 하나를 여러 개 팀이나 사용자가 함께 공유
  • 클러스터 안에서 용도에 따라 실행해야 하는 앱을 구분
  • 네임스페이스별로 별도의 쿼터를 설정해서 특정 네임 스페이스의 사용량을 제한할 수도 있습니다.
$ 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사용불가] )

Leave a Comment