1. k8s namespace
namespace란 클러스터 하나를 여러 개의 논리적인 단위로 나눠서 사용하는 것
쿠버네티스 클러스터 하나를 여러 팀이나 사용자가 함께 공유
용도에 따라 실행해야 하는 앱을 구분할 때 사용한다.
2. namespace 사용하기
① namespace 생성
- CLI
$ kubectl create namespace blue
$ kubectl get namespaces
- 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 확인
controlplane $ kubectl get namespace
NAME STATUS AGE
default Active 10m
kube-node-lease Active 10m
kube-public Active 10m
kube-system Active 10m
➜ 이 4개의 namespace 는 k8s 설치시 기본적으로 제공하는 namespace이다.
controlplane $ kubectl get pod
// 현재의 namespace 확인
No resources found in default namespace.
controlplane $ kubectl get pod --namespace default
// default namespace의 pod 확인
No resources found in default namespace.
controlplane $ kubectl create namespace orange --dry-run -o yaml
// orange namespace를 생성할 수 있는지(--dry-run 옵션) yaml 파일을 통해 확인
W1207 01:19:03.717366 17583 helpers.go:535] --dry-run is deprecated and can be replaced with --dry-run=client.
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: null
name: orange
spec: {}
status: {}
controlplane $ vi orange-ns.yaml
// yaml 파일을 이용해 namespace를 생성
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: null
name: orange
// 22~26가 namespace를 생성하는데 필요한 yaml 포맷의 컨텐츠
controlplane $ kubectl create -f orange-ns.yaml
namespace/orange created
3. 사용할 namespace switch
기본으로 사용하는 namespace를 default가 아닌 다른 namespace로 switch
① namespace를 포함한 context 등록
② 등록된 namespace로 context 변경
Reference
'Cloud > Kubernetes' 카테고리의 다른 글
[Kubernetes] Kubernetes pod | pod 생성, 관리 (0) | 2021.12.08 |
---|---|
[Kubernetes] 쿠버네티스 아키텍쳐 | yaml, API (0) | 2021.12.07 |
[Kubernetes] 쿠버네티스 아키텍쳐 | 컴포넌트 (0) | 2021.12.07 |
[Kubernetes] 3-2. kubectl command | pod 생성하기 (0) | 2021.12.07 |
[Kubernetes] kubectl 실습 환경 구성 (0) | 2021.12.06 |