본문 바로가기

리눅스

쿠버네티스 네임스페이스를 생성하고 확인하고 삭제하는 방법(namespaces)

728x90

쿠버네티스 네임스페이스를 생성하고 확인하고 삭제하는 방법(namespaces)

쿠버네티스에서는 네임스페이스를 통해 리소스를 격리하고 조직화할 수 있습니다.

 

  • 네임스페이스 확인
kubectl get namespaces
$ kubectl get namespaces
NAME              STATUS   AGE
default           Active   2d1h
ingress-nginx     Active   2d1h
kube-node-lease   Active   2d1h
kube-public       Active   2d1h
kube-system       Active   2d1h
metallb-system    Active   2d1h
kubectl get pods --namespace kube-system
kubectl get all --namespace kube-system
  • 네임스페이스 생성
kubectl create namespace <namespace-name>
kubectl create namespace infrateam
$ kubectl create namespace infrateam
namespace/infrateam created
  • 특정 네임스페이스에서 파드 생성
kubectl run myapp --image=nginx --restart=Never -n infrateam
$ kubectl run myapp --image=nginx --restart=Never -n infrateam
pod/myapp created
  • 특정 네임스페이스에 있는 파드 확인
kubectl get pods -n infrateam
$ kubectl get pods -n infrateam
NAME    READY   STATUS    RESTARTS   AGE
myapp   1/1     Running   0          40s
  • 특정 네임스페이스에 있는 파드 삭제
kubectl delete pods myapp -n infrateam
$ kubectl delete pods myapp -n infrateam
pod "myapp" deleted
  • 특정 네임스페이스 삭제
kubectl delete namespace <namespace-name>
kubectl delete namespaces infrateam
$ kubectl delete namespaces infrateam
namespace "infrateam" deleted

 

네임스페이스를 삭제할 때는 해당 네임스페이스에 있는 모든 리소스가 함께 삭제됩니다.

728x90

kubens 명령

  • kubectx, kubens 설치
sudo git clone https://github.com/ahmetb/kubectx /usr/local/kubectx
sudo ln -s /usr/local/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /usr/local/kubectx/kubens /usr/local/bin/kubens
kubectl get pods -n infrateam
  • default 네임스페이스 확인
kubens

namespace1

kubens kube-system
$ kubens kube-system
Context "kubernetes-admin@cluster.local" modified.
Active namespace is "kube-system".
kubens

namespace2

 

참고URL

- kubectx + kubens: Power tools for kubectl : https://github.com/ahmetb/kubectx

 

728x90