Kubernetes에서 Namespace는 Kubernetes에서 리소스를 격리하고 관리하는 데 중요한 기능을 담당합니다. 하지만 많은 사용자가 작성자처럼 처음 Kubernetes를 접할 때 Namespace의 개념과 이를 어떻게 확인하고 탐색할 수 있는지에 대해 혼란스러워할 수 있습니다. 이 글에서는 Kubernetes에서 Namespace를 쉽게 탐색하고 확인하는 방법에 대해 알아보겠습니다.
1. Namespace란 무엇인가?
Namespace는 Kubernetes에서 논리적으로 클러스터의 리소스를 그룹화하고 격리하는 방법입니다. 이는 다중 사용자 환경에서 서로 다른 팀이나 프로젝트가 리소스를 충돌 없이 사용할 수 있게 해줍니다. 예를 들어, 개발팀과 운영팀이 같은 클러스터를 사용하더라도 각 팀의 리소스는 서로 다른 Namespace에 존재할 수 있어 격리된 환경을 유지할 수 있습니다.
2. Namespace 확인하기
Kubernetes에서 Namespace를 확인하는 가장 기본적인 방법은 kubectl get namespaces
명령어를 사용하는 것입니다. 이 명령어를 통해 현재 클러스터에 존재하는 모든 Namespace를 확인할 수 있습니다. 예를 들어, 다음과 같은 명령어를 실행하면
kubectl get namespaces
결과는 다음과 같습니다.
NAME STATUS AGE
default Active 10d
kube-system Active 10d
kube-public Active 10d
development Active 5d
production Active 5d
이 출력 결과에서 각 Namespace의 이름, 상태, 생성된 시점을 확인할 수 있습니다.
3. 특정 Namespace의 리소스 탐색
Namespace 내에 있는 리소스를 탐색하려면 kubectl get
명령어에 -n
플래그를 사용하여 특정 Namespace를 지정할 수 있습니다. 예를 들어, development
Namespace에 있는 모든 Pod를 확인하려면 다음 명령어를 사용합니다:
kubectl get pods -n development
이 명령어는 development
Namespace에 있는 모든 Pod의 리스트를 출력합니다. 이 방법을 통해 특정 Namespace에서 리소스를 탐색하고 관리할 수 있습니다.
4. 현재 컨텍스트의 Namespace 변경
다양한 Namespace를 자주 변경하며 작업해야 하는 경우, 현재 컨텍스트의 Namespace를 변경하여 작업의 효율성을 높일 수 있습니다. 이를 위해 kubectl config set-context
명령어를 사용합니다. 예를 들어, 현재 컨텍스트를 production
Namespace로 변경하려면 다음 명령어를 실행합니다:
kubectl config set-context --current --namespace=production
이제 kubectl get pods
명령어를 사용하면 기본적으로 production
Namespace에서 Pod 정보를 가져오게 됩니다.