쿠버네티스의 namespace는 쿠버네티스 클러스터 내에서 리소스를 구분하기 위한 가상 클러스터를 말합니다.
하나의 쿠버네티스 클러스터는 여러개의 namespace를 가질 수 있으며, 각각의 namespace는 자체적으로 독립된 공간을 가지고 있습니다. 이를 통해, 하나의 클러스터 안에서 다양한 팀이나 서비스 간에 리소스 충돌을 방지하고, 보안을 강화할 수 있습니다.
각각의 namespace 안에서는, 리소스의 이름이 중복되지 않도록 구분됩니다.
같은 이름의 리소스라도 다른 namespace에 속하면 별개의 리소스로 취급됩니다.
$ kubectl create namespace {ns 명}
apiVersion: v1
kind: Namespace
metadata:
name: hello
$ kubectl get all -n {ns 명}
$ kubectl get svc {Service 명} -o wide -n {ns 명}
$ kubectl get svc {Service 명} -o jsonpath="{.spec.clusterIP}" -n {ns 명}
reference :
- Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA
- 이미지 출처