NGINX 마이크로서비스 배포 및 업데이트

KubernetesBeginner
지금 연습하기

소개

이번 챌린지에서는 기술 스타트업의 주니어 데브옵스 엔지니어로서 쿠버네티스 실무 능력을 발휘하게 됩니다. NGINX 를 마이크로서비스로 사용하는 웹 애플리케이션을 업데이트하되, 서비스 중단을 최소화하는 것이 핵심입니다. 쿠버네티스 디플로이먼트의 이미지 버전을 최신으로 갱신하고, 롤링 업데이트가 성공적으로 이루어졌는지 검증하는 과정을 수행합니다.

이 콘텐츠는 챌린지 과제입니다. 가이드에 따라 학습하는 일반 실습과 달리, 스스로의 힘으로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상담하거나 모범 답안을 확인해 보세요. 통계 데이터에 따르면 이 과제는 입문자 수준이며, 100%의 통과율과 학습자들로부터 100%의 긍정적인 평가를 기록하고 있습니다.

NGINX 디플로이먼트 업데이트

주니어 데브옵스 엔지니어인 귀하의 임무는 기존 디플로이먼트를 업데이트하여 서비스 중단을 최소화하면서 새로운 버전을 배포하는 것입니다.

사전 준비

시작하기 전에 다음 환경이 준비되어 있는지 확인하세요:

minikube start
kubectl apply -f ~/project/k8s-manifests/nginx-deployment.yaml

디플로이먼트 상태를 확인합니다:

kubectl get deployments

과제

  1. web-app 디플로이먼트가 nginx:1.24.0-alpine 이미지를 사용하도록 업데이트하세요.
  2. 롤링 업데이트 방식을 통해 서비스 중단 없이 업데이트가 성공적으로 완료되었는지 확인하세요.

요구 사항

  • 업데이트 수행 시 kubectl 명령어를 사용해야 합니다.
  • 업데이트 과정 중에 서비스 중단 없이 배포가 계속 유지되는지 확인하세요.
  • kubectl rollout status를 사용하여 업데이트 진행 상황을 모니터링하세요.
  • 포드의 이미지를 확인하여 업데이트된 버전을 검증하세요.

힌트

  • 이미지를 업데이트하려면 kubectl edit deployment web-app 또는 kubectl set image 명령어를 사용하세요.
  • kubectl rollout status로 배포 상태를 추적할 수 있습니다.
  • 실행 중인 포드와 컨테이너 이미지를 확인하려면 kubectl get pods -o jsonpath를 활용하세요.
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 NGINX 웹 애플리케이션 디플로이먼트를 최신 이미지 버전으로 업데이트하며 쿠버네티스 실무 역량을 증명했습니다. 프로세스 전반에 걸쳐 서비스 중단이 없음을 보장하고 롤링 업데이트의 성공을 검증했습니다. 이 실습은 쿠버네티스 환경에서 업데이트를 수행할 때 고가용성을 유지하는 것이 얼마나 중요한지 잘 보여줍니다.