쿠버네티스 01-04 Pod_Namespace

hankyo·2023년 7월 4일
0
post-thumbnail

쿠버네티스에서 네임스페이스(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

이렇게 네임스페이스를 사용하면 쿠버네티스 리소스를 효과적으로 분리하고 관리할 수 있습니다.

profile
devops

0개의 댓글