본문 바로가기

IT Study/Kubernetes

kubernetes namespace

쿠버네티스 namespace

namespace란 클러스터내의 논리적인 단위로 분리 단위.

각자다른 클러스터환경에서 분리되어 운영되지 않으면 관리와사용적인 측면에서 어려움을 겪게된다.

따라서 쿠버네티스에선 운영목적에 따라 논리적인단위로 분리하여 구분할수있는 네임스페이스를 사용하게된다.

 

● 서비스목적에 따른 namespace

● 환경,운영에 따른 namespace

● 프로젝트별 namespace

 

 

 

쿠버네티스 default namespace

쿠버네티스 클러스터의 네임스페이스기본값은 4가지로 구성되어있다.

네임스페이스의 기본값은 dafult를 사용한다.

 

# kubectl get namespaces    ( or kubectl get ns )
NAME                 STATUS     AGE
default                   Active     331d
kube-node-lease   Active     331d
kube-public            Active     331d
kube-system          Active     331d

 

default

-> 기본으로 할당되어있는 네임스페이스

    별도의 네임스페이스 지정이없으면 default 값으로 생성된다.

 

kube-node-lease

-> 노드들의 연결정보를 관리하는 네임스페이스.

 

kube-public

-> 모든 사용자의 접근이 가능하고 오브젝트들을 관리하기 위한 네임스페이스

 

kube-system

->클러스터의 관리자영역의 네임스페이스,시스템에 의해 생성되는 API오브젝트들을 관리하기위한 네임스페이스

 

 

 

 

쿠버네티스 namespace 생성 및 삭제

 

네임스페이스의 생성은 명령어를 통한 생성방법과 yaml형태의 생성방법이 있다.

 

 

명령어 CLI 생성 ( test 네임스페이스 생성)

 

yaml형태의 생성 (test2 네임스페이스 생성)

yaml 템플릿을 만들어서 생성

 

네임스페이스를 지정하여 파드생성 CLI방법 ( test 네임스페이스 -> testpod 생성)

 

네임스페이스를 지정하여 파드생성 yaml에서 지정하여 생성할수 있음 ( test2 네임스페이스 -> testpod2 생성)

yaml 수정 metadata의 namespace: test2 추가

 

네임스페이스를 삭제하게되면 네임스페이스 안에 포함되어있는 여러가지 api 즉 pod들도 함께 삭제된다.

 

쿠버네티스 namespace switch (변경하기) config

 

기본으로 적용되어있는 dafult 네임스페이스가아닌 다른 네임스페이스로 변경하여  사용하는방법.

네임스페이스 변경을 위해선 쿠버네티스의 context를 수정해야한다.

#kubectl config --help   해당명령어로 자세하게 확인할수 있음.

 

현재 config context 전체정보 확인

(#kubectl config current-context  명령어로 현재 context정보만 확인가능)

context항목에서 name: kubernetes-admin@kubernetes가 네임스페이스의 기본값인 default 임

 

context 추가 방법

 

context 변경 방법

 

 

context 추가및 변경을 통하여 용도 및 운영에 필요한 클러스트,네임스페이를 지정하여 작업할수 있다.

'IT Study > Kubernetes' 카테고리의 다른 글

kubernetes init container  (0) 2023.01.11
kubernetes Probe? self-healing  (0) 2023.01.11
kubernetes pod  (0) 2023.01.07
kubernetes yaml  (0) 2023.01.06
kubernetes ? 쿠버네티스?  (0) 2023.01.04