프로젝트에서 MSA 아키텍처를 직접 구성했지만, 쿠버네티스를 사용하지 않아 무중단 배포를 시도하며 어려움을 겪었습니다. 이에 쿠버네티스를 학습할 필요를 느꼈으며, 진행 중인 프로젝트에 쿠버네티스를 적용해보고 싶었습니다. 이 게시글은 쿠버네티스 처음 공부하며, 학습 내용들을 정리하기 위해 작성한 게시글입니다. 쿠버네티스 쿠버네티스는 컨테이너 오케스트레이션 툴로, 여러 대의 서버에 걸쳐 컨테이너화된 애플리케이션을 배포하고 관리할 수 있도록 도와주는 도구입니다. 따라서, 쿠버네티스는 도커를 사용한 컨테이너화된 애플리케이션을 배포하고 관리하는 데 사용됩니다. 클러스터 쿠버네티스 클러스터는 마스터 노드와 워커 노드로 구성됩니다. 마스터 노드는 쿠버네티스 클러스터의 제어센터로, 쿠버네티스의 모든 컴포넌트가 실행됩니..
API Gateway
MSA 아키텍쳐를 적용한 Spring Boot 프로젝트를 진행하던 중, SpringCloud를 활용한 API Gateway를 구현 했는데 이때, 라우팅 할 마이크로 서비스들을 직접 지정했습니다. 많은 수의 마이크로 서비스를 직접 지정하다가 이게 맞나.. 싶어 동적으로 라우팅을 하는 방법을 찾아보았습니다. 그렇게 서비스 디스커버리에 대해 조사하게 되었습니다. 1. 동적 서비스 위치 서비스 인스턴스의 위치가 변경되거나 새 인스턴스가 추가되어도 서비스 디스커버리를 통해 실시간으로 찾을 수 있습니다. 이를 통해 서비스 간의 결합도를 낮추고, 확장성을 높이는데 도움이 됩니다. 2. 로드 밸런싱 서비스 디스커버리를 사용하면, 여러 인스턴스 중에서 하나를 선택하는데 사용할 수 있는 로드 밸런싱 기능을 제공합니다. 이..