쿠버네티스에서 네임스페이스(Namespace)는 클러스터 내의 리소스를 논리적으로 분리하여 관리하는 방법을 제공합니다. 네임스페이스를 사용하면 팀, 프로젝트, 환경(예: dev, qa, prod) 등에 따라 리소스를 분리할 수 있습니다.
다음은 myapp-pod
이라는 이름의 Pod를 생성하는 두 가지 YAML 파일입니다. 첫 번째 파일에서는 Pod가 development
네임스페이스에 생성되도록 지정하였습니다. 두 번째 파일에서는 네임스페이스를 지정하지 않았으므로, Pod는 기본적으로 default
네임스페이스에 생성됩니다.
# myapp-pod-ns.yaml
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
namespace: development
spec:
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
protocol: TCP
# myapp-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
spec:
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
protocol: TCP
네임스페이스를 관리하는 방법은 다음과 같습니다:
- 모든 네임스페이스를 표시하려면 다음 명령어를 사용합니다:
kubectl get namespaces
- 특정 네임스페이스에 Pod를 생성하려면
-n
플래그를 사용합니다: kubectl create -f myapp-pod.yaml -n kube-public
- 특정 네임스페이스의 Pod를 표시하려면
-n
플래그를 사용합니다: kubectl get pod myapp-pod -n kube-public
- 특정 네임스페이스의 Pod를 삭제하려면
-n
플래그를 사용합니다: kubectl delete -f myapp-pod.yaml -n kube-public
- 새 네임스페이스를 생성하려면 다음 명령어를 사용합니다:
kubectl create namespace development
- 네임스페이스를 지정하여 Pod를 생성하려면 다음 명령어를 사용합니다:
kubectl create -f myapp-pod-ns.yaml
- 네임스페이스를 지정하여 Pod를 삭제하려면 다음 명령어를 사용합니다:
kubectl delete -f myapp-pod-ns.yaml
- 네임스페이스를 생성하려면 다음 명령어를 사용합니다:
kubectl create -f qa-ns.yaml
- 네임스페이스를 삭제하려면 다음 명령어를 사용합니다:
kubectl delete -f qa-ns.yaml
이렇게 네임스페이스를 사용하면 쿠버네티스 리소스를 효과적으로 분리하고 관리할 수 있습니다.
'Infra > Kubernetes' 카테고리의 다른 글
쿠버네티스 02-01 Controller_Replication (0) | 2023.09.06 |
---|---|
쿠버네티스 01-05 Pod_Lifecycle (0) | 2023.09.06 |
쿠버네티스 01-03 Pod_annotation (0) | 2023.09.06 |
쿠버네티스 01-02 Pod_label (0) | 2023.09.06 |
쿠버네티스 01-01 Pod (0) | 2023.09.06 |