본문 바로가기
DevOps/Kubernetes

[Kubernetes] : 네임스페이스 기본 이해

by 오주현 2022. 3. 23.
반응형

네임스페이스를 간단하게 사용해 본다.

 

네임스페이스는 쿠버네티스에서 namespace 또는 ns라는 이름으로 사용할 수 있고 kubectl get namespaces 명령어로 확인이 가능하다.

kubectl get namespaces
kubectl get ns

둘 중 아무거나 사용해도 상관없다.

 

기본적으로 네임스페이스는 생성하지 않아도 3개가 존재한다. 각 논리적인 리소스 공간이라서 각 네임스페이스에는 포드, 레플리카셋, 서비스 같은 리소스가 따로 존재한다.

 

kubectl get pods --namespace default

default라는 이름의 네임스페이스에 생성된 포드를 확인해 본다. 이 default 네임스페이스는 쿠버네티스를 설치하면 자동으로 사용되도록 설정되어 있는 네임스페이스이다.

 

—namespace 옵션을 명시하지 않으면 default 네임스페이스를 사용하는 것이다.

 

kubectl get pods -n kube-system

kube-system이라는 네임스페이스의 포드를 확인해 본다. 내가 생성하지 않은 여러 개의 포드가 실행되고 있는데 쿠버네티스 클러스터 구성에 필수적인 컴포넌트들과 설정 값이 존재하는 네임스페이드이기 때문이다.

 

kubectl get service -n kube-system

kube-system 네임스페이스에는 쿠버네티스의 포드, 서비스 등을 이름으로 찾을 수 있게 DNS 서버의 서비스가 미리 생성되어 있다.

 

보통 앞으로 네임스페이스를 사용하는 경우 모니터링, 로드 밸렁싱 인그레이스(Ingress) 등의 특정 목적을 위한 용도가 대부분일 것이다.

 

이런 네임스페이스들은 논리적으로 구분된 것이고 물리적으로 격리되지는 않았다.

 

네임스페이스와 라벨의 차이는 네임스페이스가 라벨보다 더 넓은 용도로 사용이 가능하다. 특정 오브젝트 사용해서 포드 자원 사용을 제한하거나 포드에 항상 사이드카 컨테이너를 붙이게 설정하는 등 여러 설정을 할 수있다.

포드에서 설명한 리눅스 네임스페이스와 헷갈리면 안 된다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글