실습 환경에서는 네임스페이스를 자주 바꾸거나(-n) 컨텍스트를 오가며(kubectl config use-context) 작업하는 일이 많습니다. 운영 환경에서는 클러스터(컨텍스트) 수와 네임스페이스 수가 훨씬 많아져 kubectl만으로 전환하는 게 번거롭고 실수하기 쉬워집니다.
이때 많이 쓰는 도구가 kubectx(컨텍스트 전환), kubens(네임스페이스 전환) 입니다. 둘 다 같은 레포(ahmetb/kubectx)에서 관리됩니다. (GitHub)
1) kubectx / kubens가 해결하는 문제
kubectx (context switching)
- 원래 방식:
kubectl config get-contexts kubectl config use-context <context>- kubectx로는 컨텍스트 전환을 짧게:
kubectx # 컨텍스트 목록 kubectx <context> # 전환
kubens (namespace switching)
- 원래 방식(명령마다
-n붙이거나, context의 기본 namespace를 바꾸거나): kubectl -n dev get pods # 또는 kubectl config set-context --current --namespace=dev- kubens로 빠르게 전환:
kubens # 네임스페이스 목록 kubens dev # 전환
2) kubectx 사용법(컨텍스트 전환)
컨텍스트 목록 보기
kubectx
특정 컨텍스트로 전환
kubectx <context_name>
직전 컨텍스트로 되돌리기
kubectx -
현재 컨텍스트 확인
kubectx -c
팁: 운영에서 실수 방지용으로, 명령 실행 전 항상 “현재 컨텍스트”를 확인하는 습관을 권장합니다.
3) kubens 사용법(네임스페이스 전환)
네임스페이스 전환
kubens <namespace>
직전 네임스페이스로 되돌리기
kubens -
4) 실무에서 자주 헷갈리는 포인트 2가지
(1) “kubens로 바꾼 namespace”는 어디에 저장되나?
kubens는 기본적으로 현재 컨텍스트의 default namespace 설정을 바꾸는 방식(= kubectl config set-context --current --namespace=...)으로 동작합니다.
즉, 같은 컨텍스트 안에서 “기본 네임스페이스”가 바뀌고, 이후 kubectl get pods 같은 명령에 자동 반영됩니다.
(2) KUBECONFIG가 여러 개일 때
kubectl이 보는 kubeconfig는 보통:
- 기본:
~/.kube/config - 또는 환경변수:
KUBECONFIG=/path/a:/path/b
kubectx/kubens도 결국 kubectl이 인식하는 kubeconfig를 그대로 따라갑니다.
멀티 kubeconfig 환경이면, 먼저 KUBECONFIG 정리/통합(또는 원하는 파일을 명확히 지정)한 다음 쓰는 게 안전합니다.
5) 추천 워크플로(실수 방지)
- 컨텍스트 확인/전환
kubectx -c kubectx <cluster-context>- 네임스페이스 확인/전환
kubens kubens <namespace>- 작업 수행 전 다시 한 번 확인(운영 습관)
kubectx -c
원하면, 지금 쟌님이 쓰는 kubeconfig 구조(컨텍스트 이름 규칙, prd/dev 네임스페이스 구조)를 기준으로 “안전한 컨텍스트/네임스페이스 네이밍 + 전환 체크리스트 + alias(k=kubectl) + 자동완성 세팅”까지 한 세트로 정리해 드릴 수 있습니다.
'CKA' 카테고리의 다른 글
| Security - Custom Controller & Operator (0) | 2026.01.02 |
|---|---|
| Security - Custom Resource Definition (0) | 2026.01.02 |
| Security - NetworkPolicy (0) | 2026.01.02 |
| Security - 도커 보안 기초 + 쿠버네티스의 Security Context (0) | 2026.01.02 |
| Security - Secret of Docker Registry (0) | 2026.01.02 |