본문 바로가기
클라우드/쿠버네티스

CKAD 정복의 시작: 쿠버네티스 Context와 Namespace 완벽 설정 가이드

by gasbugs 2026. 2. 1.

오늘 다룰 주제는 CKAD(Certified Kubernetes Application Developer) 시험의 시작이자 끝이라고 할 수 있는 **"작업 환경 설정(Context & Namespace)"**입니다. 시험장에 들어가서 가장 먼저 마주하게 될 환경이며, 실무에서도 멀티 클러스터 환경을 다루는 엔지니어에게는 공기와도 같은 기술이죠.

잘못된 Context에서 작업하다가 엉뚱한 클러스터의 자원을 삭제하는 아찔한 경험을 하지 않으려면, 오늘 내용을 완벽하게 숙달해야 합니다. 🚀

 


🏗️ 쿠버네티스 작업 환경의 핵심: Context와 Namespace

쿠버네티스 클러스터를 관리할 때 우리는 보통 ~/.kube/config 파일을 사용합니다. 이 파일 안에는 여러 클러스터 정보와 사용자 정보가 들어있는데, 이를 효율적으로 전환하며 사용하는 것이 핵심입니다.

1. Kubeconfig의 구조 이해하기 📂

Kubeconfig 파일은 크게 세 가지 요소의 조합으로 이루어집니다.

  • Clusters: 접속할 클러스터의 주소(API Server)와 인증 정보.
  • Users: 클러스터에 접속할 사용자 계정 혹은 토큰.
  • Contexts: "어떤 유저(User)가 어떤 클러스터(Cluster)의 어떤 네임스페이스(Namespace)를 기본으로 사용할 것인가"를 정의한 연결 고리.

2. Context 관리하기: "내가 지금 어디에 있나?" 📍

CKAD 시험에서는 문제마다 "어느 Context에서 작업하라"는 지시가 내려집니다. 이때 Context 전환을 실수하면 아무리 정답을 작성해도 점수를 얻을 수 없습니다.

  • 현재 사용 중인 Context 확인
    kubectl config current-context
    
  • 전체 Context 목록 확인
    kubectl config get-contexts
    
  • Context 전환하기 (가장 중요!)
    # 특정 context로 전환
    kubectl config use-context <context-name>
    

3. Namespace: 클러스터 안의 논리적 구역 🏢

네임스페이스는 하나의 물리적 클러스터를 여러 개의 논리적인 가상 클러스터로 나누는 단위입니다. 시험 문제의 90% 이상은 특정 네임스페이스 안에서 자원을 생성하라고 요구합니다.

  • 특정 네임스페이스의 자원 조회
    kubectl get pods -n <namespace-name>
    
  • 기본 네임스페이스 고정하기 (시간 단축 꿀팁!) 매번 -n namespace를 입력하는 것은 번거롭고 실수할 확률이 높습니다. 현재 Context의 기본 네임스페이스를 아예 바꿔버릴 수 있습니다.이 명령어를 사용하면 이후 kubectl get pods만 쳐도 해당 네임스페이스의 자원이 보입니다.
    kubectl config set-context --current --namespace=<namespace-name>
    

4. 실전 툴 추천: kubectx와 kubens 🛠️

실무에서는 명령어가 너무 길기 때문에 오픈소스 도구인 kubectx와 kubens를 많이 사용합니다. (시험장에서는 사용 불가할 수 있으니 기본 명령어도 꼭 익혀두세요!)

# context 전환 (kubectx)
kubectx my-cluster-name

# namespace 전환 (kubens)
kubens dev-team

5. CKAD 시험장 필수 체크리스트 ✅

시험 환경에 접속하자마자 다음 단계를 습관화하세요.

  1. Context 확인: 문제 상단에 적힌 kubectl config use-context ... 명령어를 복사해서 실행하세요.
  2. Namespace 확인: 작업해야 할 네임스페이스가 명시되어 있다면, 명령어 끝에 항상 -n <name>을 붙이거나 아예 set-context로 고정하세요.
  3. 검증: 자원을 생성한 후에는 반드시 kubectl get all -n <namespace>로 내가 의도한 곳에 잘 생성되었는지 확인하세요.

💡 마무리하며

Context와 Namespace 관리는 단순한 설정을 넘어 안전한 운영의 핵심입니다. 특히 우리처럼 여러 자격증을 제패하려는 '쿠버스트로넛'들에게는 손가락이 자동으로 반응해야 하는 기본기죠. ⌨️

오늘 배운 설정법을 통해 여러분의 터미널이 한층 더 정교한 조종석이 되길 바랍니다.