Kubernetes · 3 min read · Nov 03, 2025
Kubernetes에서 네임스페이스 생성하는 방법

네임스페이스는 여러 팀이 동일한 클러스터를 사용할 때 유용합니다. 이는 이름 충돌의 가능성이 있을 때 사용됩니다. 여러 클러스터 간의 가상 벽이 될 수 있습니다. 예를 들어, Kubernetes 클러스터 내에서 동일한 이름을 가진 포드를 가질 수 없지만 네임스페이스를 사용하면 클러스터를 가상으로 나누고 동일한 이름을 가진 포드를 가질 수 있습니다.
네임스페이스의 몇 가지 중요한 기능은 다음과 같습니다.
- 동일한 네임스페이스를 사용하는 포드 간의 통신을 돕습니다.
- 동일한 물리적 클러스터 위에 위치할 수 있는 가상 클러스터 역할을 합니다.
- 팀과 그들의 환경 간의 논리적 분리를 제공합니다.
이 기사에서는 네임스페이스를 생성하고 새로 생성된 네임스페이스에 포드를 생성할 것입니다. 또한 네임스페이스를 기본 네임스페이스로 설정하는 방법도 살펴보겠습니다.
전제 조건
- 최소 1개의 워커 노드가 있는 Kubernetes 클러스터입니다.
Kubernetes 클러스터를 생성하는 방법을 배우고 싶다면 여기를 클릭하세요. 이 가이드는 AWS Ubuntu 18.04 EC2 인스턴스에서 1개의 마스터와 2개의 노드를 가진 Kubernetes 클러스터를 생성하는 데 도움이 됩니다.
우리가 할 일
- 네임스페이스 생성하기
네임스페이스 생성하기
Kubernetes 클러스터에서 사용 가능한 모든 네임스페이스를 나열하려면 다음 명령을 실행하십시오. 여러 개의 네임스페이스를 가질 수 있으며 네임스페이스는 메타데이터를 가질 수 있습니다.
kubectl get namespace #클러스터의 모든 네임스페이스 가져오기
이제 존재하지 않는 특정 네임스페이스에 포드를 생성해 보겠습니다.
“test-env” 네임스페이스에 포드를 생성하려면 다음 명령을 실행하십시오.
kubectl run nginx --image=nginx --namespace=test-env #존재하지 않는 네임스페이스에 포드 생성 시도.존재하지 않는 네임스페이스에 포드가 생성되지 않으므로 먼저 네임스페이스를 생성해야 합니다.
“test-env” 네임스페이스를 생성하려면 다음 명령을 실행하십시오 (k8s 네임스페이스 생성).
kubectl create namespace test-env #네임스페이스 생성kubectl get namespace #네임스페이스 목록 가져오기
이제 포드를 생성하고자 하는 네임스페이스가 있습니다.
생성한 네임스페이스에 포드를 생성하려면 명령에 –namespace=test-env 옵션을 추가하십시오.
kubectl run nginx --image=nginx --namespace=test-env #네임스페이스에 포드 생성.네임스페이스를 지정하지 않고 포드를 가져오려고 하면 포드의 세부 정보를 얻을 수 없습니다.
kubectl get pods #포드 목록 가져오기“test-env” 네임스페이스에 속하는 포드의 세부 정보를 얻으려면 다음 명령을 사용하십시오.
kubectl get pods --namespace=test-env #지정된 네임스페이스의 포드 목록 가져오기
네임스페이스를 기본 네임스페이스로 설정하여 명령에서 네임스페이스 옵션을 지정할 필요가 없도록 하려면 다음 명령을 사용하십시오.
kubectl config set-context --current --namespace=test-env #기본 네임스페이스 설정이제 포드의 세부 정보를 얻기 위해 명령에서 네임스페이스를 지정할 필요가 없습니다.
kubectl get pods #기본 네임스페이스의 포드 목록 가져오기기본 네임스페이스로 전환하려면 다음 명령을 사용하십시오.
kubectl config set-context --current --namespace=default #기본으로 네임스페이스 확인kubectl get pods #포드 목록 가져오기기본 네임스페이스가 무엇인지 확인하려면 다음 명령을 사용하십시오.
kubectl config view --minify | grep namespace: #kubernetes 구성 파일에서 네임스페이스 추출.kubectl config set-context --current --namespace=test-env #구성 파일에서 기본 네임스페이스 설정.kubectl config view --minify | grep namespace:
어떤 Kubernetes 리소스가 네임스페이스인지 확인하려면 다음 명령을 실행하십시오.
kubectl api-resources --namespaced=true #네임스페이스에 있을 수 있는 Kubernetes 객체 가져오기
어떤 Kubernetes 리소스가 네임스페이스에 없는지 보려면 다음 명령을 사용하십시오.
kubectl api-resources --namespaced=false #네임스페이스에 절대 있을 수 없는 Kubernetes 객체 목록 가져오기
네임스페이스의 세부 정보를 얻으려면 아래 명령을 사용하십시오.
kubectl get namespaces #네임스페이스 목록 가져오기.kubectl describe namespace test-env #네임스페이스 세부 정보 가져오기.
네임스페이스는 .yml 파일을 사용하여 생성할 수도 있습니다.
vim namespace-using-file.yml #네임스페이스 정의 파일 생성
객체 정의 파일에 지정된 네임스페이스를 생성하려면 다음 명령을 실행하십시오.
kubectl create -f namespace-using-file.yml #.yml 파일을 사용하여 네임스페이스 생성kubectl get namespaces #네임스페이스 목록 가져오기
더 이상 네임스페이스가 필요하지 않은 경우 다음 명령을 사용하여 간단히 삭제할 수 있습니다.
kubectl get namespaces #네임스페이스 목록 가져오기kubectl delete namespaces env-prod test-env #네임스페이스 삭제kubectl get namespaces #네임스페이스 목록 가져오기
“kubectl change namespace” 명령을 사용하여 다른 네임스페이스로 전환할 수 있습니다.
결론
이 기사에서는 네임스페이스, 네임스페이스 생성 및 기본 네임스페이스 변경, 네임스페이스에 있는 Kubernetes 리소스와 없는 리소스를 확인하는 방법에 대해 배웠습니다. 또한 Kubernetes 객체인 포드를 원하는 네임스페이스에 생성하는 방법도 살펴보았습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.