K8s namespaces

 

namespace

  • 쿠버네티스 클러스터 하나를 여러 개 논리적인 단위로 나눠서 사용
  • 용도에 따라 실행해야 하는 앱을 구분할 때 사용

 

 

 

namespace 조회

  • # kubectl get ns
  • # kubectl get pod -n kube-system
    • kube-system namespace내의 pod 조회

 

 

 

namespace 생성

namespace 생성

  • # kubectl get ns
  • # kubectl create namespace namespace-test

 

namespace yaml파일 생성

  • # kubectl create namespace test-ns --dry-run=client -o yaml > test-ns.yaml

 

 

 

생성한 네임스페이스에 pod 생성

  • # kubectl create -f ./nginx.yaml -n test-ns

 

apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: test-ns
spec:
  containers:
  - image: nginx:1.14
    name: nginx
    ports:
     - containerPort: 80
     - containerPort: 443

yaml 파일에 namespace 등록

 

 

 

 

생성한 네임스페이스에 deployment 생성

namespace에 nginx컨테이너 생성

  • # kubectl create deployment nginx --image nginx -n office
  • # kubectl get pod --namespace office
    • office네임스페이스의 pod 조회

 

 

 

네임스페이스 조회

네임스페이스 조회

  • # kubectl get all --all-namespaces
  • # kubectl get pods --all-namespaces

 

 

 

디폴트네임스페이스 변경

1) .kube/config 파일에서 default namespace변경

~/.kube/config파일
파일변경 후 변경사항 확인

  • ~/.kube/config 파일에 namespace 추가

 

2) config context 변경

  • # kubectl config set-context test-ns@kubernetes --cluster=kubernetes --user=kubernetes-admin --namespace=test-ns
    • test-ns로 context 생성
  • # kubectl config view
    • context 확인
  • # kubectl config current-context
    • 현재 context 확인
  • # kubectl config use-context test-ns@kubernetes
    • 현재 context switch

 

 

 

네임스페이스 삭제

  • # kubectl delete ns office
    • 네임스페이스 하위의 리소스들도 전부 삭제된다.

'클라우드 > K8s' 카테고리의 다른 글

K8s Network  (0) 2022.03.17
K8s Controller  (0) 2022.03.17
K8s Pod 구성패턴  (0) 2022.03.17
POD  (0) 2022.03.17
K8s 동작원리  (0) 2022.03.17

+ Recent posts