본문 바로가기

Kubernetes

Review 2개이상의 프로젝트 하루 5번 이상 평균 빌드/배포시 쿠버네티스 필요성

페이지 정보

작성자 이노힐
댓글 0건 조회 18회
작성일 2026-08-02 11:16:18

본문

개인 서버(On-Premise) 환경에서 Spring Boot + React + Oracle(ATMS) 조합과 Python(블로그) 프로젝트를

하루 5회 이상 빌드·배포한다면, 젠킨스와 쿠버네티스 연동은 매우 현명한 선택입니다.

한정된 개인 서버의 리소스를 극대화하고 배포를 안정화할 수 있습니다.

🛠️ 개인 서버 환경 최적의 연동 아키텍처

[젠킨스 마스터] ──(필요할 때만 요청)──> [쿠버네티스 클러스터]
                                            │
                                            ├──> 빌드용 가상 컨테이너 (동적 생성/삭제)
                                            └──> 실제 서비스 (Spring, React, Python)

 

  1. 젠킨스 빌드용 Pod 동적 생성 (리소스 절약)
    • 하루 5번 이상 발생하는 빌드 요청마다 젠킨스가 쿠버네티스에 "빌드용 컨테이너를 만들어라"고 요청합니다.
    • ATMS 빌드 시: Gradle/Java 전용 컨테이너와 Node.js(React) 컨테이너가 띄워져 빌드 및 도커 이미지를 생성합니다.
    • 블로그 빌드 시: Python 전용 컨테이너가 띄워져 빌드를 수행합니다.
    • 빌드가 끝나면 해당 컨테이너들은 즉시 삭제되어 개인 서버의 RAM과 CPU 자원을 온전히 서비스 운영에 돌려줍니다.
  2. React + Spring Boot 멀티 스테이지 빌드
    • 젠킨스 파이썬/애플리케이션 파이프라인에서 React 소스를 빌드하여 static 파일을 만들고, 이를 Spring Boot의 src/main/resources/static으로 복사한 뒤, 하나의 Jar 파일로 묶어 최종 도커 이미지를 생성하도록 구성하면 관리가 매우 편해집니다.
  3. Oracle DB 연결 및 유지
    • 개인 서버 내에 Oracle DB가 이미 설치되어 있거나 별도 가상머신(VM)에 있다면, 쿠버네티스 내부에서 외부 DB로 연결할 수 있도록 EndpointsService 오브젝트를 생성하여 고정된 도메인(예: atms-db-service)으로 Spring Boot가 Oracle에 접속할 수 있게 세팅합니다.
  4. 쿠버네티스를 통한 무중단 배포 (Rolling Update)
    • 하루 5번 배포할 때마다 서비스가 중단되면 곤란합니다. 쿠버네티스의 Deployment를 이용하면, 젠킨스가 새 도커 이미지를 푸시했을 때 기존 컨테이너를 켜둔 상태에서 새 컨테이너를 하나씩 교체하므로 사용자 접속 끊김이 전혀 없습니다.

 


 

 

댓글목록

등록된 댓글이 없습니다.

댓글쓰기

내용

방문자 집계

  • 오늘 603
  • 어제 1,099
  • 최대 7,414
  • 전체 186,154

Copyright © innohealonline.com. All rights reserved.