[따배쿠] 7. namespace
( 참고 : 따배쿠 https://www.youtube.com/watch?v=6n5obRKsCRQ&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c )
Namespace
-
클러스터는 “여러 팀/사용자가 함께 공유”함
-
용도에 따라, 실행해야 하는 앱을 구분할때…
\(\rightarrow\) 클러스터 하나를 “여러 개의 논리적인 단위(=namespace)로 나눠서” 사용
여러 개의 namespace를 생성할 수 있다
-
ex) blue, orange, green이라는 이름의 3개의 namespace
롯데 e-commerce 내에서…
- blue : 롯데 홈쇼핑
- orange : 롯데 백화점
- green : 롯데 면세점
namespace 생성
- cli로 생성
kubectl create namespace blue
- yaml로 생성
kubectl create namespace green --dry-run -o yaml > green-ns.yaml
vim green-ns.yaml
kubectl create -f green-ns.yaml
namespace 관리
kubectl get namespace
kubectl delete namespace
특정 namespace의 pod 가져오기
-
kubectl get pod
-
( =
kubectl get pod --namespace default
) - ( =
kubectl get pod -n default
) - default namespace에서 찾음
-
-
kubectl get pod -n green
특정 namespace에 pod를 실행하기
kubectl create -f nginx.yaml
kubectl get pods -n default
로 확인
kubectl create -f nginx.yaml -n blue
kubectl get pods -n blue
로 확인
특정 namespace의 pod 삭제하기
kubectl delete pods mypod -n default
- default 네임스페이스에서 실행되는 mypod 파드를 삭제하기
- 다른 namespace에서 실행되는 mypod는 잘 살아있음
사용할 namespace를 switch하기
- step 1) namespace를 포함한 context를 config에 등록해야
kubectl config --help
:- config 명령어에 대한 도움말
kubectl config set-context bluekuber --cluster=kubernetes --user=kubernetes-admin --namespace=blue
- config에 등록하기!
kubectl config view
:- 현재 config 설정된 값들 확인하기
- 기존 context외에, 새로운 것이 등록된 것을 알 수 있음
- step 2) 등록된 namespace로 context를 변경
kubectl config use-context NAME
- example)
kubectl config current-context
: 현재의 default namespace 확인kubectl config use-context bluekuber
: switch하기kubectl config current-context
: 현재의 default namespace가 바뀐 것을 확인
namespace 삭제하기
kubectl delete namespaces blue