이세개발
article thumbnail
Published 2023. 9. 6. 15:02
쿠버네티스 01-01 Pod Infra/Kubernetes

쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 배포, 확장, 관리하기 위한 오픈소스 플랫폼입니다. 이 플랫폼을 사용하면 애플리케이션을 빠르게 배포하고, 확장성을 보장하며, 새로운 기능을 빠르게 추가할 수 있습니다.

Pod

쿠버네티스(Pod)는 쿠버네티스 클러스터에서 실행되는 가장 작은 배포 단위입니다. Pod는 하나 이상의 컨테이너 그룹을 포함하며, 공유된 네트워크 네임스페이스와 저장소를 가지고 있습니다. Pod 내의 컨테이너는 동일한 호스트에서 실행되며, 같은 네트워크 인터페이스와 로컬 호스트를 공유합니다.

여기서는 myapp-pod.yaml이라는 쿠버네티스 매니페스트 파일을 사용하여 myapp-pod라는 이름의 Pod를 생성하고 관리하는 방법에 대해 설명하겠습니다.

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
spec:
  containers:
  - name: myapp
    image: ghcr.io/c1t1d0s7/go-myweb:alpine
    ports:
    - containerPort: 8080
      protocol: TCP

위의 YAML 파일은 myapp-pod라는 이름의 Pod를 정의하고 있습니다. 이 Pod는 ghcr.io/c1t1d0s7/go-myweb:alpine 이미지를 기반으로 하는 myapp이라는 이름의 컨테이너를 실행합니다. 컨테이너는 8080번 포트에서 TCP 프로토콜을 사용하여 통신합니다.

이 Pod를 생성하려면 다음 명령어를 사용합니다:

kubectl create -f myapp-pod.yaml

이미 존재하는 Pod의 설정을 변경하려면 다음 명령어를 사용합니다:

kubectl apply -f myapp-pod.yaml

현재 실행 중인 모든 Pod의 상태를 확인하려면 다음 명령어를 사용합니다:

kubectl get pods

특정 Pod의 상세 정보를 확인하려면 다음과 같은 명령어를 사용합니다:

kubectl get pod myapp-pod -o wide
kubectl get pod myapp-pod -o yaml
kubectl get pod myapp-pod -o json
kubectl describe pod myapp-pod

Pod에서 실행 중인 컨테이너의 로그를 확인하려면 다음 명령어를 사용합니다:

kubectl logs myapp-pod
kubectl logs pod/myapp-pod

Pod의 8080번 포트를 로컬의 8080번 포트로 포워딩하려면 다음 명령어를 사용합니다:

kubectl port-forward myapp-pod 8080:8080
kubectl port-forward pod/myapp-pod 8080:8080

마지막으로, Pod를 삭제하려면 다음 명령어를 사용합니다:

kubectl delete -f myapp-pod.yaml

이렇게 쿠버네티스를 사용하면 애플리케이션의 배포와 관리가 훨씬 간편해집니다.

profile

이세개발

@print(name)

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