작성
·
79
0
MSA 학습 후, CI/CD 를 학습중입니다. MSA 학습 시, api gateway 와 service discovery 에 대한 학습 후, 쿠버네티스를 학습하니, spring api gateway 와 eureka 의 역할을 쿠버네티스 환경에서 커버가 되는 것 처럼 보이는데요. 쿠버네티스 환경에서도 여전히 유효한지 궁금합니다.
답변 2
0
안녕하세요, 이도원입니다.
Spring Cloud와 K8s는 그 사용 용도와 제공하는 서비스의 내용이 다릅니다. 물론 중복되는 부분이 있을 수 있으나, 많은 부분은 다릅니다. 말씀하신 것처럼 API Gateway나 Service Discovery는 K8s에 기본적으로 포함되는 Resource인 Ingress나 Service 등으로 대체하여 가능하며, 실제로 K8s Cluster에서 MSA 애플리케이션을 운영하실거라고 하면, Outer Architecture에 대한 부분은 K8s + 연관 서비스의 조합으로 처리하시고, Inner Architecture 부분은 Spring Boot +Spring Cloud 라이브러리 등으로 처리하시면 됩니다. 아래 링크에서 소개하는 부분을 참고하시면 도움이 되실 수 있을 것 같습니다.
https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. CommitAndRun님께서 쿠버네티스 환경에서 API Gateway와 Service Discovery의 역할에 대해 궁금해하셨군요.
쿠버네티스(Kubernetes)는 자체적으로 서비스 디스커버리와 라우팅 기능을 제공합니다. 이것은 쿠버네티스의 내부 DNS와 서비스 객체를 통해 이루어집니다. 따라서 Spring Cloud Eureka는 쿠버네티스와 중복되는 역할을 하게 됩니다. 쿠버네티스 내에서는 별도로 Eureka를 사용할 필요 없이 쿠버네티스의 내장 기능을 활용하여 서비스 디스커버리를 처리할 수 있습니다.
API Gateway의 경우, 쿠버네티스에서는 주로 Ingress Controller를 이용하여 외부 트래픽을 내부 서비스로 라우팅하는 역할을 합니다. Spring Cloud Gateway가 제공하는 기능 중 일부는 쿠버네티스의 Ingress나 서비스 개념을 통해 대체될 수 있지만, 특정한 필터링, 인증, 로깅 등의 복잡한 로직이 필요하다면 여전히 Spring Cloud Gateway를 독립적인 마이크로서비스로 운영할 수 있습니다.
유사한 질문들이 여러 개 있어서 추가 정보가 필요하다면 관련한 답변을 확인해 보시면 좋을 것 같습니다:
- 애플리케이션 구성관련하여 질문드립니다.
- 안녕하세요! 질문이 있습니다.!
- k8s 환경에 spring cloud gateway 접목이 어떻게 하면 가능할까요??
이러한 링크를 통해 좀 더 심도 있는 내용을 확인하실 수 있으며, 구체적인 설정이나 활용 예제를 통해 쿠버네티스 환경에서 MSA를 구성하는 전반적인 흐름을 이해하실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.