
실제 서버를 운영하는 환경에서는 새로운 기능 추가나 버그 수정으로 서버 버전을 업데이트할 일이 자주 발생합니다. 이번 글에서는 앞에서 생성한 스프링 부트 백엔드 서버를 쿠버네티스를 활용해 새로운 버전으로 업데이트하는 방법을 알아보겠습니다.
스프링 부트 애플리케이션 코드를 수정합니다.
AppController.java
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AppController {
@GetMapping("/")
public String home() {
return "Version 1.0"; # 리턴값 수정 (Hello World → Version 1.0)
}
}

코드 수정을 마쳤다면 프로젝트를 빌드합니다.
$ ./gradlew clean build
이 명령어는 프로젝트의 이전 빌드 결과물을 제거하고 새로 빌드합니다.

빌드된 JAR 파일을 기반으로 새로운 Docker 이미지를 생성합니다. 여기서는 태깅(tag)을 추가했습니다.
$ docker build -t spring-sever:1.0 .

이미지가 제대로 생성되었는지 확인합니다.
$ docker image ls

쿠버네티스의 매니페스트 파일을 수정하여 새로운 이미지를 사용할 수 있도록 업데이트합니다.
spring-deployment.yaml 파일에서 image 필드를 수정합니다.
spring-deployment.yaml
containers:
- name: spring-container
image: spring-serer:1.0

수정된 매니페스트 파일을 쿠버네티스에 적용하여 업데이트를 수행합니다.
$ kubectl apply -f spring-deployment.yaml

업데이트가 정상적으로 이루어졌는지 확인하려면 kubectl get pods 명령어를 사용합니다.
$ kubectl get pods
새로운 버전의 서버를 배포하려면 다음 단계를 수행합니다.
kubectl apply 명령어로 변경 사항을 적용합니다.