이번 강의에서는 Kubernetes 클러스터 내에 Discovery Server를 설정하는 방법에 대해 알아보겠습니다. 이를 위해 준비된 Kubernetes 매니페스트 파일을 사용하여 Discovery Server를 설정하고, 이후 필요한 코드 변경 작업을 수행할 것입니다.
1. Kubernetes 매니페스트 파일을 사용한 Discovery Server 설정
-
Helm Chart를 사용하지 않는 이유:
- 단일 설정 작업: Discovery Server는 Kubernetes 클러스터에서 한 번만 설정하면 되므로, 매번 변경할 필요가 없어 매니페스트 파일을 수동으로 실행하는 것이 적합합니다.
- Helm Chart 부족: 현재 Discovery Server에 대한 공식 Helm Chart가 없으며, 매니페스트 파일을 Easybank Helm Chart에 통합하는 것은 많은 작업이 필요하기 때문에 효율적이지 않습니다.
-
Kubernetes 매니페스트 파일 적용:
- Discovery Server를 설정하기 위해 매니페스트 파일을 Kubernetes 클러스터에 적용합니다.
kubectl apply -f kubernetes-discoveryserver.yaml
명령어를 사용하여 서비스, 서비스 계정, 역할 바인딩, 역할, 그리고 디플로이먼트를 생성합니다.
-
설정 확인:
- Kubernetes 대시보드에서 Pod를 확인하여 Discovery Server가 성공적으로 시작되었는지 확인합니다.
- 로그에서 Spring Boot 애플리케이션이 20초 내에 성공적으로 시작되었음을 확인할 수 있습니다.
2. 마이크로서비스 코드 변경 준비
- 섹션 14의 최신 코드 복사:
- Eureka Server 관련 설정을 제거하고, Kubernetes Discovery Server를 사용하도록 코드 변경이 필요합니다.
- 섹션 14에서 최신 마이크로서비스 코드(accounts, cards, config server, gateway server, loans, message)를 복사하여 섹션 17 폴더에 붙여넣습니다.
- Helm 폴더 복사:
- 섹션 16의 Helm 차트를 섹션 17로 복사하여 Eureka Server 관련 설정을 제거하고, Discovery Server와 통합되도록 수정할 준비를 합니다.
- IntelliJ IDEA에서 프로젝트 로드:
- 섹션 17 폴더를 IntelliJ IDEA에서 열고, 프로젝트를 Maven 프로젝트로 로드한 후, 애노테이션 프로세싱을 활성화합니다.
3. 다음 단계 준비
- Discovery Server 실행 확인:
- Kubernetes 클러스터 내에서 Discovery Server가 정상적으로 실행 중인지 확인합니다.
- 모든 디플로이먼트와 Pod가 정상 상태(green color)인지 확인합니다.
결론
이번 강의에서는 Kubernetes 매니페스트 파일을 사용하여 Discovery Server를 설정하는 방법과 이후 마이크로서비스 코드에서 필요한 변경 작업에 대해 준비하는 방법을 설명했습니다. 다음 강의에서는 이러한 변경 작업을 실제로 수행할 것입니다.
감사합니다.