반응형
k8s namespace
-
k8s api 종류 중 하나
-
물리적인 클러스터 하나를 여러 개의 논리적인 단위로 나눠서 사용
-
쿠버네티스 클러스터 하나를 여러 팀이나 사용자가 함께 공유
- 용도에 따라 실행해야 하는 앱을 구분할 때 사용
-
- 수 많은 pod를 용도에 따라 논리적으로 분류하여 활용하는 방법
- 통합솔루션에서
Example
- 롯데에서 클러스터 하나를 롯데 홈쇼핑, 백화점, 면세점에서 나눠서 사용한다고 가정
- 클러스터를 3개의 namespace로 구분하여 각 회사에 할당
- blue (API - Pod - Service - P.V) -> 롯데 홈쇼핑
- orange (API - Pod - Service - P.V) -> 롯데 백화점
- green (API - Pod - Service - P.V) -> 롯데 면세점
네임스페이스 사용하기
- 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 gree-ns.yaml
- CLI
- namespace 관리
- kubectl get namespace
- kubectl delete namespace
네임스페이스 실습
- 시스템에 네임스페이스 개수 확인
- kubectl get namespaces
- master node에 기본으로 들어있는 namespace 종류
- default - 네임스페이스 선택하지 않았을 때 기본 값
- 명령시 네임스페이스명 지정하지 않으면 default 네임스페이스 결과 출력됨
- kube-node-lease
- kube-public
- kube-system - master node의 운영환경에 필요한 pods들
- api server, 스케줄러 등
- default - 네임스페이스 선택하지 않았을 때 기본 값
- 네임스페이스의 pods 확인
- kubectl get pods --namespace [네임스페이스명]
- kubectl get pods -n [네임스페이스명]
- 모든 네임스페이스의 pods 확인
- kubectl get pods --all-nm
- 네임스페이스 생성(CLI)
- kubectl create namespace blue
- 네임스페이스 생성(yaml)
- kubectl create namespace orange --dry-run -o yaml > orange-ns.yaml (yaml파일 생성)
- vi orange-ns.yaml (yaml파일 수정)
- kubectl create -f orange-ns.yaml (yaml파일로 생성)
- 네임스페이스에서 pod 생성하기
- kubectl create -f nginx.yaml -n blue
- yaml 파일 내에서 metadata에 namespace를 지정하여 입력 후 yaml파일로 pod 생성하면 지정된 namespace에 pod 생성
- 네임스페이스 switch - 기본으로 사용할 네임스페이스를 default가 아닌 다른 것으로 변경
- namespace를 포함한 context 등록
- kubectl config --help (config 도움말)
- kubectl config view
- kubectl config set-context blue@kubernetes --cluster=kubernetes --user=kubernets-admin --namespace=blue
- 현재 context 확인
- kubectl config current-context
- 등록된 namespace로 context 변경
- kubectl config use-context blue@kubernetes
- namespace를 포함한 context 등록
- 네임스페이스의 pod 삭제하기
- kubectl delete pods mypod -n default
- 네임스페이스 삭제하기
- 네임스페이스 삭제하면 안의 내용물들도 다 삭제됨
- kubectl delete namespace blue
- 네임스페이스 삭제하면 안의 내용물들도 다 삭제됨
Reference
반응형
'Kubernetes(k8s) > 따배쿠(따라하면서 배우는 쿠버네티스) 학습' 카테고리의 다른 글
[k8s] single/multi-container Pod (0) | 2023.02.13 |
---|---|
[k8s]Kubernetes yaml 템플릿 & API (0) | 2023.02.13 |
[k8s]Kubernets 아키텍처 - 동작 원리 & 컴포넌트 (0) | 2023.02.10 |
[k8s]kubectl실습(command, pod 생성) (0) | 2023.02.08 |
[k8s]kubectl 개요 (0) | 2023.02.08 |