11. Pod 배포 문제 해결

발행: (2026년 2월 21일 오전 11:30 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

실험실 정보

주니어 DevOps 팀원이 Kubernetes 클러스터에 스택을 배포하는 데 어려움을 겪었습니다. 파드가 시작되지 않고 오류가 발생합니다. 문제를 신속히 해결하고 바로 잡아봅시다.

  • 파드 이름: webserver
  • 주 컨테이너: nginx-container (이미지 nginx:latest)
  • 사이드카 컨테이너: sidecar-container (이미지 ubuntu:latest)

목표는 파드를 Running 상태로 만들고 애플리케이션에 접근할 수 있게 하는 것입니다.

Note: jump_host에 있는 kubectl 유틸리티는 이미 Kubernetes 클러스터와 연동되도록 설정되어 있습니다.

초기 점검

kubectl get pods
kubectl describe pod webserver

파드가 멈춰 있다면, 수정된 정의를 적용하기 전에 삭제하세요:

kubectl delete pod webserver

수정된 파드 정의 만들기

apiVersion: v1
kind: Pod
metadata:
  name: webserver
  labels:
    app: web-app
spec:
  containers:
  - name: nginx-container
    image: nginx:latest   # Fixed: removed extra 's'
    ports:
    - containerPort: 80
    volumeMounts:
    - name: shared-logs
      mountPath: /var/log/nginx
  - name: sidecar-container
    image: ubuntu:latest
    command:
      - sh
      - -c
    args:
      - while true; do cat /var/log/nginx/access.log /var/log/nginx/error.log; sleep 30; done
    volumeMounts:
    - name: shared-logs
      mountPath: /var/log/nginx
  volumes:
  - name: shared-logs
    emptyDir: {}

매니페스트 적용:

kubectl apply -f webserver-fixed.yaml

배포 확인

kubectl get pods
kubectl describe pod webserver

각 컨테이너의 로그 확인:

kubectl logs webserver -c nginx-container
kubectl logs webserver -c sidecar-container

파드 내부에서 웹 서버 테스트:

kubectl exec webserver -c nginx-container -- curl -s localhost:80 | head -n 5

출력에 기대한 HTML 내용이 표시되면 파드가 정상적으로 실행 중이며 애플리케이션에 접근할 수 있는 것입니다.

리소스 및 다음 단계

크레딧

  • 모든 실험실은 KodeKloud에서 제공되었습니다.
  • 귀중한 리소스를 제공해 주셔서 감사합니다.
0 조회
Back to Blog

관련 글

더 보기 »