Namespace란?
- k8s API중 하나
- cluster 하나를 여러 개의 논리적인 단위로 나눠서 사용
- k8s cluster 하나를 여러 팀이나 사용자가 공유
- 용도에 따라 실행하야 하는 app을 구분할 때 사용
- -namespace , n 옵션을 사용해서 원하는 namespace에 pod 생성 가능
<출처 : kubernetes - Authentication and Authorization - DINO ROMANTIST >
Namespace 생성
- CLI
- blue라는 이름의 namespace 생성 및 확인
kubectl create namespace blue
- yaml
- green이라는 이름의 namespace 생성
kubectl create namespace green --dry-run -o yaml > green-ns.yaml
vi green-ns.yaml
apiVersion: v1
kind: Namespace
metadata:
name: green
kubectl create -f green-ns.yaml
- pod yaml를 수정하여 green namespace에 생성
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: webserver
name: webserver
namespace: green //추가
spec:
containers:
- image: nginx
name: webserver
ports:
- containerPort: 80
- 관리
kubectl get namespace
kubectl delete namespace
Namespace switch
- 기본으로 사용하는 namespace를 default가 아닌 다른 이름의 namespace로 switch
- namespace를 포함한 context 등록
kubectl config set-context NAME --cluster=kubernetes --user=kubernetes-admin --namespace=blue
kubectl config view
kubectl config current-context
- 등록된 namespace로 context 변경 및 확인
kubectl config use-context NAME
kubectl config current-context
Namespace delete
- namespace 삭제 시 지정된 API 전부 삭제
kubectl delete namespace NAME
Yaml template란?
- 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식
- 기본문법
- 구조화된 데이터를 표현하기 위한 데이터 포맷
- Python처럼 들여쓰기로 데이터 계층을 표기
- 들여쓰기를 할 때에는 Tab이 아닌 Space bar를 사용
- 가독성이 좋아 설정 파일에 적합한 형식
- Scalar 문법 : ':'을 기준으로 Key:value를 설정
- 배열 문법 : '-'문자로 여러 개를 나열
- Topdown 방식 아님
- 공식사이트 : The Official YAML Web Site
API verson
- alpha → beta → stable
- k8s object 정의 시 apiVersion이 필요
- k8s가 update하는 API가 있으면 새로운 API가 생성됨
- API Object의 종류 및 버전
- Deployment : apps/v1
- Pod : v1
- ReplicaSet : apps/v1
- ReplicationController : v1
- Service : v1
- PersistentVolume : v1
- kubectl explain를 통해서 apiVersion 확인 가능
참고 :
'INFRA > DevOps' 카테고리의 다른 글
[k8s] LivenessProbe를 이용해서 Self-healing Pod 생성 (0) | 2022.09.13 |
---|---|
[K8s] Container 정리와 Single / Multi Container Pod 생성 (0) | 2022.08.29 |
Secret (0) | 2022.08.22 |
ConfigMap (0) | 2022.08.21 |
Volume(local) (0) | 2022.08.20 |
댓글