Docker, Kubernetes

[쿠버네티스] 네임스페이스란? (+생성 방법/프로젝트 접근 방법) (OC)

15호의 개발자 2021. 11. 28. 13:41
반응형

[쿠버네티스] 네임스페이스란? (+생성 방법/프로젝트 접근 방법) (OC)

 

 

네임스페이스(Namespace)란?

네임스페이스는 리소스를 논리적으로 구분하는 장벽이다. 따라서 엄밀히 말하자면 이 포스팅의 제목은 틀린 것이지만 혼용하여 사용하는 경우도 간혹 있으므로 그냥 넘어가겠다.

 

이렇게 말해도 잘 이해가 가지 않는다면 도커와 쿠버네티스의 사례를 이용해 이해해보자.

 

도커를 사용할 때는 컨테이너를 논리적으로 구분하는 방법이 없었다. 컨테이너와 그와 관련된 리소스들을 용도에 따라 구분하여 관리할 수 있다면 편할 것이다. 이를 해결하기 위해 쿠버네티스가 네임스페이스(Namespace)라는 오브젝트를 제공하여 리소스를 논리적으로 구분하였다. 즉, 네임스페이스(또는 프로젝트)란 포드, 레플리카셋, 디플로이먼트, 서비스 등과 같은 쿠버네티스 리소스들이 묶여 있는 하나의 가상 공간 또는 그룹이다.

 


쿠버네티스(Kubernetes)의 namespace가 오픈시프트(OpenShift)의 project와 같은 개념이라고 할 수 있다. 아래부터는 오픈시프트 명령어(oc)를 이용하여 작업했다.

 

 

 

프로젝트(또는 네임스페이스) 생성

oc new-project project네임

결과:

1
2
3
4
5
6
7
8
9
10
root@User:~# oc new-project project네임
Now using project "project네임" on server "https://api.aws-test-rosa.spph.p1.openshiftapps.com:6443".
 
You can add applications to this project with the 'new-app' command. For example, try:
 
    oc new-app rails-postgresql-example
 
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
 
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
cs

 

 

생성이 잘 되었는지 확인

oc projects

결과:

1
2
3
4
root@User:~# oc projects
You have access to the following projects and can switch between them with ' project <projectname>':
 
    생략
cs

 

 

생성한 프로젝트에 접근하는 방법

oc project project네임

결과:

1
2
root@User:~# oc project project네임
Already on project "project네임" on server "https://api.aws-test-rosa.spph.p1.openshiftapps.com:6443".
cs

 

 

 

반응형