나그네소

kubernets namespace 본문

Cloud/Kubernetes

kubernets namespace

나그네소티 2022. 11. 2. 21:31

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