새로운 버전의 서버로 업데이트하기

artp·2025년 1월 7일

kubernetes

목록 보기
10/18
post-thumbnail

실제 서버를 운영하는 환경에서는 새로운 기능 추가나 버그 수정으로 서버 버전을 업데이트할 일이 자주 발생합니다. 이번 글에서는 앞에서 생성한 스프링 부트 백엔드 서버를 쿠버네티스를 활용해 새로운 버전으로 업데이트하는 방법을 알아보겠습니다.

1. 애플리케이션 코드 수정

스프링 부트 애플리케이션 코드를 수정합니다.
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 WorldVersion 1.0)
    }
}

2. 스프링 부트 프로젝트 빌드

코드 수정을 마쳤다면 프로젝트를 빌드합니다.

$ ./gradlew clean build

이 명령어는 프로젝트의 이전 빌드 결과물을 제거하고 새로 빌드합니다.

3. 새로운 Docker 이미지 생성

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

$ docker build -t spring-sever:1.0 .

4. Docker 이미지 확인

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

$ docker image ls

5. 쿠버네티스 매니페스트 파일 수정

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

containers:
  - name: spring-container
    image: spring-serer:1.0

6. 쿠버네티스에 매니페스트 적용

수정된 매니페스트 파일을 쿠버네티스에 적용하여 업데이트를 수행합니다.

$ kubectl apply -f spring-deployment.yaml

7. 업데이트 상태 확인

업데이트가 정상적으로 이루어졌는지 확인하려면 kubectl get pods 명령어를 사용합니다.

$ kubectl get pods

정리

새로운 버전의 서버를 배포하려면 다음 단계를 수행합니다.

  1. 애플리케이션 코드를 수정하고 빌드합니다.
  2. Docker 이미지를 새로 생성합니다.
  3. 쿠버네티스 매니페스트 파일을 수정하여 새로운 이미지를 지정합니다.
  4. kubectl apply 명령어로 변경 사항을 적용합니다.
  5. 업데이트 상태를 확인합니다.
profile
donggyun_ee

0개의 댓글