Namespace

2022. 5. 29. 20:50kubernetes

Namespace : 리소스간의 사용 공간 즉 명칭을 사용하는 소속 공간

이러한 소속 공간을 서비스 별, 사용자(권한) 별, 환경에 따라 분류하여 리소스를 배치한다. 

  > 서비스 : DNS 이름이 분리되는 용도로 사용

  > RBAC(역할 기반 접근 제어 role-based access control) : 권한에 딸 NS에 접근 방식을 설정

 

https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/namespaces/

 

namespace 생성 및 관리- 명령형 커맨드namespace 목록 확인

kubectl get namespaces

- 기본적으로 존재하는 namespace

▶ kube-system: Kubernetes의 핵심 컴포넌트가 존재하는 작업 공간
▶ kube-public: 모든 사용자가 읽기 권한으로 존재하는 작업 공간
▶ kube-node-lease: 노드의 HeartBeat 체크를 위한 Lease 리소스가 존재하는 작업 공간
▶ default: 기본으로 설정 되있는 작업 공간

 

namespace 생성

kubectl craete ns 네임스페이스명

namespace 삭제

kubectl delete ns 네임스페이스명

모든 네임스페이스에 파드를 확인

kubectl get pods -A | --all-namespaces

지정한 namespace 파드를 확인

kubectl get pods -n 네임스페이스명

YAML로 네임스페이스 정의

apiVersion: v1
kind: Namespace
metadata:
  name: dev

yaml파일로 정의한 네임스페이스 생성

kubectl create -f 파일명.yaml

YAML파일로 네임스페이스를 지정한 pod 정의 

apiVersion: v1
kind: Pod
metadata:
  name: myweb
  namespace: dev
spec:
  containers:
    - name: myweb
      image: httpd
      ports:
        - containerPort: 80
          protocol: TCP

YAML 파일로 네임페이스를 지정해서 정의한 pod 생성

kubectl create -f 파일명.yaml

YAML 파일로 네임페이스를 지정해서 정의한 pod 삭제

kubectl delete -f 파일명.yaml

'kubernetes' 카테고리의 다른 글

Pod Lifecycle/Lifetime  (0) 2022.05.31
Label과 LabelSelector, Annotations  (0) 2022.05.29
Workload - Pod  (0) 2022.05.29
Kubernetes Objects  (0) 2022.05.19
Kubespray로 Kubernetes 설치  (0) 2022.05.17