[참고] Openshift 의 oc new-project 와 oc create ns 의 차이점

리눅스/OpenShift|2023. 5. 10. 09:04
반응형

Openshift 에서는 프로젝트를 만들기 위한 명령어 oc new-project 와 oc create ns (namespace) 를 제공하고 있으며 이 두 명령어는 기본적으로 동일한 결과를 가져옵니다.


모두 새로운 프로젝트 (Project) / 네임스페이스 (Namespace) 를 생성하는 명령어로 사용법도 거의 동일합니다.

다만 "oc new-project" 명령어는 프로젝트 (Project) 를 생성할 때 기본적으로 몇 가지 설정 값을 지정해 줍니다.

예를 들어, "oc new-project" 명령어는 프로젝트 (Project) 에 대한 일부 RBAC (Role-Based Access Control) 권한을 생성하고, 프로젝트 (Project) 를 위한 라벨 (label) 을 자동으로 추가합니다.

반면에 "oc create ns" 명령어는 단순히 네임스페이스 (Namespace) 를 생성하는 명령어로, 추가적인 설정이나 라벨 (label) 을 지정하지 않습니다.

따라서 두 명령어를 사용하는 것은 개인적인 선호나 상황에 따라 다를 수 있지만, 일반적으로는 두 명령어 모두 같은 결과를 가져오며, 기능적인 차이는 크지 않습니다.

 

 

[명령어로 확인하기]

 

1) 생성

# oc new-project cdh1
Now using project "cdh1" on server "https://api.az1.sysdocu.kr: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/e2e-test-images/agnhost:2.33 -- /agnhost serve-hostname

# oc create ns cdh2
namespace/cdh2 created

 

2) RoleBinding 확인

파란색 부분에서 차이가 보입니다.

 

# oc get rolebinding -n cdh1
NAME                    ROLE                               AGE
admin                   ClusterRole/admin                  5m52s
system:deployers        ClusterRole/system:deployer        5m51s
system:image-builders   ClusterRole/system:image-builder   5m51s
system:image-pullers    ClusterRole/system:image-puller    5m51s

 

# oc get rolebinding -n cdh2
NAME                    ROLE                               AGE
system:deployers        ClusterRole/system:deployer        5m45s
system:image-builders   ClusterRole/system:image-builder   5m45s
system:image-pullers    ClusterRole/system:image-puller    5m45s

 

3) Project 속성 확인

파란색 부분에서 차이가 보입니다.

 

# oc describe ns cdh1
Name:         cdh1
Labels:       kubernetes.io/metadata.name=cdh1
              pod-security.kubernetes.io/audit=restricted
              pod-security.kubernetes.io/audit-version=v1.24
              pod-security.kubernetes.io/warn=restricted
              pod-security.kubernetes.io/warn-version=v1.24
Annotations:  openshift.io/description: 
              openshift.io/display-name: 
              openshift.io/requester: system:admin
              openshift.io/sa.scc.mcs: s0:c27,c9
              openshift.io/sa.scc.supplemental-groups: 1000720000/10000
              openshift.io/sa.scc.uid-range: 1000720000/10000
Status:       Active

No resource quota.

No LimitRange resource.

 

# oc describe ns cdh2
Name:         cdh2
Labels:       kubernetes.io/metadata.name=cdh2
              pod-security.kubernetes.io/audit=restricted
              pod-security.kubernetes.io/audit-version=v1.24
              pod-security.kubernetes.io/warn=restricted
              pod-security.kubernetes.io/warn-version=v1.24
Annotations:  openshift.io/sa.scc.mcs: s0:c27,c14
              openshift.io/sa.scc.supplemental-groups: 1000730000/10000
              openshift.io/sa.scc.uid-range: 1000730000/10000
Status:       Active

No resource quota.

No LimitRange resource.

 

 

반응형

댓글()