이세개발
article 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

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

'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
profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!