[kubernetes] pod 실행하기

Kubernetes는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리하는 오픈 소스 플랫폼이며, 다양한 환경에서 일관된 애플리케이션 실행을 가능하게 해주는 컨테이너 오케스트레이션 도구입니다.

 

Kubernetes에서 Pod는 하나 이상의 컨테이너와 스토리지, 네트워크를 공유하며 동일한 환경에서 동작하며 컨테이너를 실행하기 위한 가장 작은 단위입니다. Kubernetes에서 Pod를 실행하는 방법은 간단하며, kubectl 명령줄 도구를 사용하거나 YAML 파일을 작성하여 Pod를 생성할 수 있습니다.

 

 

 


실행 방법

kubectl 명령을 사용한 Pod를 실행하거나 YAML 파일을 사용하여 Pod를 실행할 수 있습니다.

 

kubectl 명령을 사용한 Pod 실행

가장 간단한 방법은 kubectl 명령을 사용하는 것입니다. 예를 들어, Nginx 컨테이너를 실행하려면 다음 명령을 사용할 수 있습니다:

# kubectl run nginx-pod --image=nginx
pod/nginx-pod created

 

 

YAML 파일을 사용한 Pod 실행

더 복잡한 설정이 필요하거나 재사용 가능한 구성을 원한다면 YAML 파일을 작성하여 Pod를 생성할 수 있습니다.

# cat nginx-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx-pod
    image: nginx


# kubectl create -f nginx-pod.yaml
pod/nginx-pod created

 

 

 


확인

kubectl get pods 명령어를 통해 pod의 상태를 확인할 수 있으며 -o wide 옵션을 추가하면 추가 정보 또한 확인할 수 있습니다.

# kubectl get pods nginx-pod -o wide
NAME        READY   STATUS    RESTARTS   AGE   IP          NODE         NOMINATED NODE   READINESS GATES
nginx-pod   1/1     Running   0          23m   10.85.0.4   k8s-wn-001   <none>           <none>

 

  • NAME : Pod의 이름
  • READY : Pod 내의 컨테이너가 실행 중인지와 준비 상태인지의 비율
    • x/y 형식으로 표시되며, x는 준비 상태(Ready)인 컨테이너의 수이고, y는 Pod에 포함된 총 컨테이너 수를 나타냅니다.
  • STATUS : Pod의 현재 상태
    • Pending : Pod가 스케줄링 중이거나 아직 실행 준비가 되지 않은 상태
    • Running : Pod의 모든 컨테이너가 실행 중이며 최소한 하나가 준비 상태
    • Succeeded : Pod가 정상적으로 종료됨(모든 컨테이너 종료)
    • Failed : 하나 이상의 컨테이너가 비정상적으로 종료됨
    • Unknown : Pod 상태를 알 수 없는 경우
  • RESTARTS : Pod 내 컨테이너가 재시작된 횟수
  • AGE : Pod가 생성된 후 경과된 시간
  • IP : Pod의 내부 IP 주소
  • NODE : Pod가 실행 중인 워커 노드의 이름
  • NOMINATED NODE : Pod가 스케줄링될 예정인 노드
  • READINESS GATES : 추가적인 준비 상태 조건(옵션).

 


 

 

Kubernetes에서 Pod를 실행하는 방법에 대해 알아봤습니다.

 

kubectl 명령을 사용하면 빠르게 Pod를 실행할 수 있으며, YAML 파일을 활용하면 재사용 가능한 구성을 작성할 수 있습니다. 또한, kubectl get pods 명령어를 통해 Pod의 상태를 확인하고 디버깅할 수 있으며 -o wide 옵션을 사용하면 Pod가 실행 중인 노드와 IP 정보 등 추가 정보를 확인할 수 있습니다.

 

지금까지 Kubernetes에서 Pod를 실행하는 방법을 알아보는 시간을 가졌습니다.

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://kubernetes.io/docs/concepts/workloads/pods/

 

 

 

 

+ Recent posts