쿠버네티스 namespace

greenTea·2023년 8월 16일
0

쿠버네티스 namespace

🥳Kubernetes에서 네임스페이스는 단일 클러스터 내에서 리소스 그룹을 분리하는 방법으로 쉽게 생각해서 작업공간을 분리하여 사용한다고 생각하시면 됩니다.

🫡네임스페이스를 사용하는 이유로는 여러 팀이나 프로젝트간에는 다른 환경을 지니고 있는데 만약 하나의 쿠버네티스로 진행을 한다고 생각하시면 pod 관리가 정말 복잡해질 것입니다. 위와 같은 상황을 막기 위해 쿠버네티스에는 namespace라는 것이 존재합니다.

Kubernetes에서 네임스페이스를 확인 하는 방법은 아래와 같습니다.
(현재 환경은 GKE쿠버네티스를 구성하였으며 vm을 하나 생성하여 연결하여 사용하는 상황입니다.)


namespace 확인 명령어

kubectl get namespace

🫠기본적으로 쿠버네티스 명령어는 default namespace에서 진행을 하게 됩니다.

이를 확인 하기 위해 먼저 네임스페이스를 하나 만들어주겠습니다.


namespace 생성

kubectl create namespace name1

🧐맨 아래를 보시면 name1이라는 namespace가 생긴 것을 알 수 있습니다. 이제 name1 namespacenginx pod를 하나 띄워보겠습니다.


다른 namespace에 pod 띄우기

kubectl run my-nginx --image=nginx --namespace=name1

😓my-nginx라는 이름을 갖는 podname1 namespace에 생성하였습니다.
pod가 생성되었는지 kubectl get pods를 실행해보시면 아무 pod도 없는 것을 확인 할 수 있습니다.

그 이유로는 현재 podname1에 생성하였기 때문인데 위 명령어를
kubectl get pods -n name1로 고쳐서 사용해보시면 방금 만든 my-nginx라는 pod를 확인 하실 수 있습니다.


기본 namespace 변경

😑현재는 pod를 생성하는 작업을 진행하면 (명령어에 namespace를 정해주지 않는다면) 모두 default에서 진행하는 것을 알 수 있습니다. 만약에 default가 아닌 name1 namespace를 기본으로 지정해주고 싶다면 아래의 명령어를 이용하시면 됩니다.

1. 현재 context 확인

kubectl config current-context

명령어를 통해 나온 컨텍스틑 복사해줍니다.

kubectl config view

위 명령어를 통해서는 더욱 자세한 설정들을 확인 할 수 있습니다.

2. namespace 변경

kubectl config set-context [복사 컨텍스트] --namespace=[바꿀 네임스페이스]

😁위 명령어를 치시고 나서 kubectl get pods를 치시면 위에서 만든 pod가 보이게 됩니다. 만약 기존 네임스페이스로 돌아가고 싶으시다면 네임스페이스를 default로 바꿔주시면 됩니다.

profile
greenTea입니다.

0개의 댓글