Kubernetes · 3 min read · Nov 03, 2025

Kubernetes에서 네임스페이스 생성하는 방법

네임스페이스는 여러 팀이 동일한 클러스터를 사용할 때 유용합니다. 이는 이름 충돌의 가능성이 있을 때 사용됩니다. 여러 클러스터 간의 가상 벽이 될 수 있습니다. 예를 들어, Kubernetes 클러스터 내에서 동일한 이름을 가진 포드를 가질 수 없지만 네임스페이스를 사용하면 클러스터를 가상으로 나누고 동일한 이름을 가진 포드를 가질 수 있습니다.

네임스페이스의 몇 가지 중요한 기능은 다음과 같습니다.

  1. 동일한 네임스페이스를 사용하는 포드 간의 통신을 돕습니다.
  2. 동일한 물리적 클러스터 위에 위치할 수 있는 가상 클러스터 역할을 합니다.
  3. 팀과 그들의 환경 간의 논리적 분리를 제공합니다.

이 기사에서는 네임스페이스를 생성하고 새로 생성된 네임스페이스에 포드를 생성할 것입니다. 또한 네임스페이스를 기본 네임스페이스로 설정하는 방법도 살펴보겠습니다.

전제 조건

  1. 최소 1개의 워커 노드가 있는 Kubernetes 클러스터입니다.
    Kubernetes 클러스터를 생성하는 방법을 배우고 싶다면 여기를 클릭하세요. 이 가이드는 AWS Ubuntu 18.04 EC2 인스턴스에서 1개의 마스터와 2개의 노드를 가진 Kubernetes 클러스터를 생성하는 데 도움이 됩니다.

우리가 할 일

  1. 네임스페이스 생성하기

네임스페이스 생성하기

Kubernetes 클러스터에서 사용 가능한 모든 네임스페이스를 나열하려면 다음 명령을 실행하십시오. 여러 개의 네임스페이스를 가질 수 있으며 네임스페이스는 메타데이터를 가질 수 있습니다.

kubectl get namespace #클러스터의 모든 네임스페이스 가져오기

get-namespaces for kubernetes namespace

이제 존재하지 않는 특정 네임스페이스에 포드를 생성해 보겠습니다.

“test-env” 네임스페이스에 포드를 생성하려면 다음 명령을 실행하십시오.

kubectl run nginx --image=nginx --namespace=test-env #존재하지 않는 네임스페이스에 포드 생성 시도.

존재하지 않는 네임스페이스에 포드가 생성되지 않으므로 먼저 네임스페이스를 생성해야 합니다.

“test-env” 네임스페이스를 생성하려면 다음 명령을 실행하십시오 (k8s 네임스페이스 생성).

kubectl create namespace test-env #네임스페이스 생성
kubectl get namespace #네임스페이스 목록 가져오기

create-namespace

이제 포드를 생성하고자 하는 네임스페이스가 있습니다.

생성한 네임스페이스에 포드를 생성하려면 명령에 –namespace=test-env 옵션을 추가하십시오.

kubectl run nginx --image=nginx --namespace=test-env #네임스페이스에 포드 생성.

네임스페이스를 지정하지 않고 포드를 가져오려고 하면 포드의 세부 정보를 얻을 수 없습니다.

kubectl get pods #포드 목록 가져오기

“test-env” 네임스페이스에 속하는 포드의 세부 정보를 얻으려면 다음 명령을 사용하십시오.

kubectl get pods --namespace=test-env #지정된 네임스페이스의 포드 목록 가져오기

create-pod-in-the-namespace-created

네임스페이스를 기본 네임스페이스로 설정하여 명령에서 네임스페이스 옵션을 지정할 필요가 없도록 하려면 다음 명령을 사용하십시오.

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:

check-current-namespace

어떤 Kubernetes 리소스가 네임스페이스인지 확인하려면 다음 명령을 실행하십시오.

kubectl api-resources --namespaced=true #네임스페이스에 있을 수 있는 Kubernetes 객체 가져오기

resources-with-namespace

어떤 Kubernetes 리소스가 네임스페이스에 없는지 보려면 다음 명령을 사용하십시오.

kubectl api-resources --namespaced=false #네임스페이스에 절대 있을 수 없는 Kubernetes 객체 목록 가져오기

resources-without-namespace

네임스페이스의 세부 정보를 얻으려면 아래 명령을 사용하십시오.

kubectl get namespaces #네임스페이스 목록 가져오기.
kubectl describe namespace test-env #네임스페이스 세부 정보 가져오기.

describe-namespace

네임스페이스는 .yml 파일을 사용하여 생성할 수도 있습니다.

vim namespace-using-file.yml #네임스페이스 정의 파일 생성

create-namespace-using-yml-file

객체 정의 파일에 지정된 네임스페이스를 생성하려면 다음 명령을 실행하십시오.

kubectl create -f namespace-using-file.yml #.yml 파일을 사용하여 네임스페이스 생성
kubectl get namespaces #네임스페이스 목록 가져오기

get-namespaces

더 이상 네임스페이스가 필요하지 않은 경우 다음 명령을 사용하여 간단히 삭제할 수 있습니다.

kubectl get namespaces #네임스페이스 목록 가져오기
kubectl delete namespaces env-prod test-env #네임스페이스 삭제
kubectl get namespaces #네임스페이스 목록 가져오기

delete-namespaces

“kubectl change namespace” 명령을 사용하여 다른 네임스페이스로 전환할 수 있습니다.

결론

이 기사에서는 네임스페이스, 네임스페이스 생성 및 기본 네임스페이스 변경, 네임스페이스에 있는 Kubernetes 리소스와 없는 리소스를 확인하는 방법에 대해 배웠습니다. 또한 Kubernetes 객체인 포드를 원하는 네임스페이스에 생성하는 방법도 살펴보았습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.