■ namespace 란?
- 클러스터를 여러개의 논리적인 단위로 나눠서 사용
- API가 하나이지만 목적에 맞춰 여러개로 분리
- namespace를 사용하지 않으면 자동으로 'default namespace' 로 동작
· namespace 조회
$ kubectl get namespace
---
NAME STATUS AGE
default Active 1d
kube-node-lease Active 1d
kube-public Active 1d
kube-system Active 1d
· 쿠버네티스 초기 namespace는 총 4개 다음과 같다.
default | 다른 namespace가 없는 object를 위한 기본 namespace |
kube-system | 쿠버네티스 시스템에서 생성한 object를 위한 namespace |
kube-public | 자동으로 생성되며 모든 사용자가 읽기 권한으로 접근 가능한 namespace |
kube-node-lease | 각 node와 연관된 lease object를 갖고, kubelet이 heartbeat를 보내서 control plane이 node 장애를 탐지 |
※ kube-system
$ kubectl get pods -n kube-system
---
apiServer
controller
proxy
scheduler
□ namespace 설정
※ CLI / YAML 2가지 방법
1. CLI 방법으로 실행
$ kubectl create namespace [namespace 명]
2. YAML 파일로 실행
· 최소한의 YAML 파일 구성
---
apiVersion: v1
kind: namespace
metadata:
name: orange
· 지정한 namespace에서 실행할 Pod를 YAML 파일을 통해 실행
$ kubectl create -f [yaml 파일 명] -n [namespace 명]
□ Switch
· 기본 namespace 는 'default'
$ kubectl config view
· config에 context (blue namespace) 추가
$ kubectl config set-context [blue@kubernetes] \
--cluster=kubernetes \
--user=kubernetes-admin \
--namespace=blue \
· namespace가 default에서 blue로 switch
$ kubectl config use-context [blue@kubernetes]
★ namespace가 단위 중 가장 큼, 따라서 namespace 제거 시 한번에 날아갈 수 있으니 주의!!!
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 아키텍처 (0) | 2022.08.23 |
---|---|
[Kubernetes] 쿠버네티스란? (0) | 2022.08.23 |
[kubernetes] Argo CD Install (0) | 2021.12.22 |
[kubernetes] Helm으로 Jenkins Deploy (1) | 2021.11.12 |
[kubernetes] EKS Cluster 내부에 AWS RDS 구축 (0) | 2021.11.10 |