이번 강의에서는 Kubernetes Discovery Server와의 통합을 위해 Gateway Server 프로젝트를 수정하겠습니다. 다음은 단계별로 변경해야 할 사항들입니다.
Spring Cloud starter Netflix Eureka Client
의존성을 제거하고, 대신 Spring Cloud starter Kubernetes Discovery Client
의존성을 추가합니다.s14
에서 s17
로 업데이트합니다.GatewayserverApplication
클래스에 @EnableDiscoveryClient
애노테이션을 추가합니다.uri
설정에 사용된 lb://ACCOUNTS
, lb://LOANS
, lb://CARDS
와 같은 값들을 실제 서비스 URL로 대체합니다.lb://ACCOUNTS
를 http://accounts:8080
으로 변경lb://LOANS
를 http://loans:8090
으로 변경lb://CARDS
를 http://cards:9000
으로 변경lb
는 Load Balancer를 의미하지만, 우리는 클라이언트 측에서의 로드 밸런싱을 피하고자 이 값을 실제 서비스 URL로 변경합니다.discovery locator enabled
, lowercase service ID as true
)을 제거합니다.spring.cloud.kubernetes.discovery.enabled=true
설정을 추가하여 Kubernetes 클러스터 내의 Discovery Server를 사용하도록 설정합니다.spring.cloud.kubernetes.discovery.all-namespaces=true
설정을 추가하여 모든 네임스페이스에서 서비스를 탐색할 수 있도록 합니다.spring.cloud.discovery.client.health-indicator.enabled=false
설정을 추가하여 Kubernetes Discovery 클라이언트가 생성하는 기본 Health Indicator와의 충돌을 피합니다.s17
태그를 사용하여 Docker 이미지를 생성합니다.s17
로 업데이트하고, 이 Helm 차트를 사용하여 모든 마이크로서비스를 Kubernetes 클러스터에 배포합니다.이번 강의에서는 Gateway Server 프로젝트를 Kubernetes Discovery Server와 통합하기 위해 필요한 모든 코드를 수정했습니다. 이는 클라이언트 측에서의 로드 밸런싱을 제거하고, 대신 Kubernetes 클러스터의 Discovery Server를 통해 서비스 탐색과 로드 밸런싱을 수행하도록 합니다. 또한, 모든 마이크로서비스의 Docker 이미지를 새 태그로 생성하고 Kubernetes 클러스터를 설정한 후, Helm 차트를 사용하여 배포를 진행할 예정입니다.
감사합니다.