우리 프로젝트는 쿠버네티스(K8s)의 복잡함 대신 Docker 컨테이너를 활용해 EC2에 직접 배포하는 효율적인 방식을 선택했습니다. K8s 단계가 빠지는 대신 Jenkins가 EC2에 접속해 컨테이너를 교체하는 과정이 추가됩니다.

docker build 명령어로 애플리케이션 이미지를 만듭니다.docker pull [우리_이미지]: 저장소에서 새 버전 가져오기docker stop [기존_컨테이너]: 실행 중인 구버전 중지docker rm [기존_컨테이너]: 구버전 삭제docker run -d [새_이미지]: 새 버전으로 서버 실행| 구분 | K8s 환경 | EC2 직접 배포 |
|---|---|---|
| 배포 대상 | K8s 클러스터 (Pod) | AWS EC2 인스턴스 |
| 관리 도구 | kubectl, YAML 설정 | Docker CLI, Shell Script |
| 장점 | 고가용성, 오토스케일링 | 설정이 간편함, 리소스 절약, 직관적임 |
쿠버네티스가 없다고 해서 자동화 수준이 낮은 것은 아닙니다. 오히려 프로젝트 규모에 따라 Jenkins와 Docker를 이용한 EC2 자동 배포가 훨씬 빠르고 안정적인 운영 환경을 제공할 수 있습니다. 이제 "코드 한 줄 커밋"으로 실제 서버까지 테스트할 수 있는 환경을 구축할 수 있습니다.
기능 자체는 비슷해도 도구가 다양하게 있어서 각자의 요구사항과 필요, 환경에 따라서 적절하게 비교해보고 고를 수 있는게 즁요한거같습니다! 도커와 젠킨스를 함께 사용하는 이유 잘읽고갑니다.