Namespace
: 하나의 k8s Cluster를 여러개 논리적인 단위(namespace)로 나누어서 개체를 관리하는 것

(App 배포 및 Project를 진행할 때 편리)

 

namespace 생성하기

kubectl create ns globalvision
- kubectl run myhome --image=nginx --port 80 -n globalvision

- kubectl run mygame --image pengbai/docker-supermario --port 8080 -n globalvision
- kubectl get pod -n globalvision : 확인

 

서비스 생성

kubectl api-resources | grep -i service : Namespace를 지정해야 하는지 확인.(namespace 부분이 true라면 지정해야 함)

- kubectl expose pod mygame --type NodePort --port 8080 -n globalvision

외부에서 nodeport로 접속

 

1. Polaris dashboard 생성

- kubectl apply -f https://github.com/fairwindsops/polaris/releases/download/5.2.0/dashboard.yaml

- kubectl expose -n polaris deployment polaris-dashboard --type=NodePort --name=polaris2 --port=8080
- kubectl get svc -n polaris

 

서비스 포트 확인(polaris2)
NodePort로 웹 브라우저에서 접속

 

Polaris dashboard 앱 삭제

-  kubectl delete ns polaris

 

 

 

2. Chaos Mesh 생성(script설치)

-  curl -o chaos.sh https://mirrors.chaos-mesh.org/v2.0.1/install.sh : 다운로드

curl -sSL https://mirrors.chaos-mesh.org/v2.0.1/install.sh | bash : 설치

 

kubectl get all -n chaos-testing
Nodeport 로 웹 브라우저에서 접속

Chaos Mesh dashboard 삭제

kubectl delete ns chaos-testing

 

--> k8s에서 App 배포할 때는 App 만든 개발자는 App 대한 고유한 namespace 만들어서 App 배포하도록 하는 경향이 있다. 이렇게 하면 어떤 App 설치 되었는지 쉽게 알  있고 삭제할 때도 편리하다.

 

 

※ Namespace 삭제
 
objectcontroller삭제할 때는 각각 하나씩 삭제해도 되지만 한꺼번에 몽땅 삭제할 있다
 
1. yaml 파일로 만들었다면 yaml 파일로 삭제하면 된다
kubectl apply -f http://down.cloudshell.kr/k8s/metallb.yaml
kubectl delete -f http://down.cloudshell.kr/k8s/metallb.yaml
 
2. namespace삭제하면 거기에 들어있는 모든 objectcontroller가 한꺼번에 삭제된다.

-  kubectl delete -f http://down.cloudshell.kr/k8s/namespace.yaml
kubectl delete ns globalvision
 
 
 

'Study > Cloud' 카테고리의 다른 글

Kubernetes - Service  (0) 2022.07.22
Kubernetes - Pod  (0) 2022.07.21
Kubernetes - yaml  (0) 2022.07.21
Kubernetes - Deployment & Service  (0) 2022.07.20
Kubernetes 소개 및 설치  (0) 2022.07.19

+ Recent posts