도커, 쿠버네티스, 젠킨스

aiden·2025년 11월 28일

Backend

목록 보기
19/19

도커(Docker), 쿠버네티스(Kubernetes), 젠킨스(Jenkins)는 모두 소프트웨어 개발 및 배포에 사용되는 도구이다.

각각 다음과 같은 역할을 한다.

  1. 도커(Docker): 컨테이너 기반의 애플리케이션 배포를 가능하게 하는 도구이다. 컨테이너는 애플리케이션과 그것을 실행하는 데 필요한 모든 의존성을 포함하기 때문에 도커를 사용하면 개발 환경과 운영 환경 간의 차이를 최소화할 수 있다.
  2. 쿠버네티스(Kubernetes): 컨테이너화 된 애플리케이션의 배포, 스케일링 및 관리를 자동화하는 오픈소스 플랫폼이다. 쿠버네티스를 사용하면 수백, 수천 개의 컨테이너를 효과적으로 관리하고 조정할 수 있다.
  3. 젠킨스(Jenkins): 지속적인 통합(Continuous Integration) 및 지속적인 배포(Continuous Deployment)를 지원하는 도구이다. 즉, 개발자가 코드를 변경하면 젠킨스는 이를 자동으로 빌드하고, 테스트하고, 프로덕션 환경에 배포한다.

세 도구는 서로 연관되어 작동한다.

  • 도커를 사용해 애플리케이션을 컨테이너화하면, 이 컨테이너는 어디에서든 동일하게 실행되기 때문에 개발, 테스트, 프로덕션 환경 간의 차이를 제거할 수 있다.
  • 젠킨스는 개발자가 코드를 변경하면 자동으로 이 코드를 빌드하고, 이를 도커 컨테이너로 패키지화하여 테스트하고 배포한다.
  • 쿠버네티스는 이렇게 배포된 컨테이너를 클러스터 환경에서 관리한다. 쿠버네티스는 컨테이너를 적절한 위치에 스케줄링하고, 애플리케이션의 상태를 모니터링하고, 필요에 따라 컨테이너를 스케일링하거나 롤백하는 등의 작업을 수행한다.

따라서 도커, 쿠버네티스, 젠킨스는 각각 애플리케이션의 컨테이너화, 클러스터 관리, 지속적인 통합 및 지속적인 배포를 담당하며, 함께 사용될 때 효과적인 DevOps 파이프라인을 구성하는 핵심 요소가 된다.

도커, 쿠버네티스, 젠킨스는 DevOps 파이프라인 도구라고 볼 수 있다.

개발부터 테스트, 배포, 운영에 이르는 소프트웨어 개발 생명주기 전반을 자동화하고 효율화하는데 중요한 역할을 한다.

  • 도커는 애플리케이션과 그 실행 환경을 컨테이너라는 격리된 환경으로 패키지화하는 기능을 제공한다.
  • 젠킨스는 소스 코드의 변경을 감지하여 자동으로 빌드, 테스트, 배포하는 지속적인 통합(CI) 및 지속적인 배포(CD)를 지원한다.
  • 쿠버네티스는 이렇게 생성된 컨테이너들을 대규모로 관리하고, 서비스를 유지하면서 스케일링하고, 장애가 발생했을 때 복구하는 등의 역할을 한다.
profile
파인애플 좋아하세요?

0개의 댓글