나그네소
kubernets namespace 본문
Kubernetes 에서의 Namespace를 설명 한다.
1. kubernetes namespace란
논리적으로 분리 된 Kubernetes 라고 생각 하면 된다.
쉽게 얘기 하면 대한항공 쿠버네티스, 아시아니항공 쿠버네티스 . 기타 항공 쿠버네티스 위와 같이
각각의 (namespace : 대한항공, 아시아나 항공, 기타 항공) 논리적으로 완벽하게 분리 됨으로 써
사용 자는 하나의 장비에서 여러대의 쿠버네티스를 사용 할 수 있다고 생각 하면 된다.
- namespace
- 클러스터 하나를 여러 개의 논리 적인 단위로 나눠서 사용
- 쿠버네트시 클러스터 하나를 여러 팀이나 사용자가 함께 공유
- 용도에 따라 실행해야 하는 앱을 구분할 때 사용
2. namespace Command
- k get namespace
현재 운영 되고 있는 kubernetes namespace 항목을 보여 준다. - k get pods -n goldilocks
goldilocks namespace 에서의 pod 항목을 보여 준다. - k get pods -n default
default namespace 에서의 pod 항목을 보여 준다.
참고 : 기본 적으로 default 항목의 namespace 사용 하고 있다. - k create namespace blue
blue namespace 생성 한다. - kubernetes namespace 실제 생성 하지 않고 yaml file 형식으로 파일을 만든다.
kuber-master:/home/son_kube] k create namespace orange --dry-run -o yaml
W1102 09:30:24.236317 15199 helpers.go:639] --dry-run is deprecated and can be replaced with --dry-run=client.
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: null
name: orange
spec: {}
status: {}
- orange namespace yaml 파일을 생성 하고 yaml 파일을 이용하기 위하여 Edit 한다.
- k create namespace orange --dry-run -o yaml > orange-ns.yaml
apiVersion: v1
kind: Namespace
metadata:
name: orange
--> 위와 같이 수정
--> k apply -f orange-ns.yaml
- k create -f nginx.yaml -n blue
- yaml 파일 수정
apiVersion: v1
kind: Pod
metadata:
name: my-nginx
namespace orange
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
- kuber-master:/home/son_kube/tmp] k get pods -n blue
NAME READY STATUS RESTARTS AGE
my-nginx 1/1 Running 0 2m26s
'Cloud > Kubernetes' 카테고리의 다른 글
kubernetes pod container 정리 (0) | 2022.11.09 |
---|---|
kubernetes yaml 템플릿 과 API (0) | 2022.11.09 |
Kubernetes for Goldilocks DB POD 생성 (0) | 2022.11.08 |
kubernetes 동작 원리 (0) | 2022.11.02 |
kubernetes 명령어 (0) | 2022.11.01 |