하나의 클러스터 내에서 리소스를 논리적으로 분리하고 관리하기 위한 도구
ex) 건물 안에 여러 개의 사무실이 있는 것처럼, 하나의 쿠버네티스 클러스터 안에 여러 개의 네임스페이스를 만들어 각각의 목적으로 사용할 수 있다.
리소스 격리: 각 네임스페이스는 독립적인 공간으로, 다른 네임스페이스의 리소스와 격리된다. 이를 통해 서로 다른 팀이나 프로젝트가 같은 클러스터를 공유하면서도 리소스 충돌을 방지할 수 있다.
권한 관리: 각 네임스페이스에 대한 접근 권한을 다르게 설정하여, 특정 사용자나 팀에게만 특정 네임스페이스에 대한 접근을 허용할 수 있다.
리소스 할당: 각 네임스페이스에 할당되는 리소스(CPU, 메모리 등)를 제한하여, 특정 네임스페이스가 다른 네임스페이스의 리소스를 과도하게 사용하는 것을 방지할 수 있다.
환경 분리: 개발, 테스트, 운영 환경을 별도의 네임스페이스로 분리하여 관리할 수 있다.
네임스페이스 생성: kubectl create namespace <네임스페이스 이름> 명령어를 사용하여 네임스페이스를 생성
네임스페이스 선택: kubectl config set-context --current --namespace <네임스페이스 이름> 명령어를 사용하여 현재 작업 중인 네임스페이스를 변경
네임스페이스 조회
kubectl get namespaces
특정 네임스페이스의 리소스 조회
kubectl get pods -n my-namespace
YAML로 네임스페이스 생성
apiVersion: v1
kind: Namespace
metadata:
name: my-namespace
환경별 분리:
팀/프로젝트별 분리:
리소스 쿼터 설정: