<p>I am trying to develop an application with microservices and Spring Cloud. I am using Zuul as a proxy server, Eureka as a Service discovery and couple of other microservices like product service, order service etc.</p>

<p>For deployment purpose, I am trying to leverage features of Docker and Kubernetes. While learning kubernetes, I realized that kubernetes has "service" object which works as load balancer and can have static IP which does not change even if pods are rescheduled. In that case, can I remove Eureka server (Which works as discovery as well as client side load balancer) from spring cloud and utilize kubernetes "service" object for the same purpose?</p>

<p>If yes, 
    How zuul will identify the service to which it need to redirect the request? Is there any kubernetes object which perform the function of zuul proxy server?</p>

<p>Also if I remove Eureka and Zuul, how can I make it work in local and non kubernetes env?</p>

<p>Kubernetes is a container management tool whereas Spring Cloud is a collection of tools to build microservices architectures. There are overlap, like service discovery, gateway or configuration services. </p>

<p>You can use Spring Cloud to build your microservices architecture by deploying the jars yourself. You don't need kubernetes as such for this.</p>

<p>Difference :
<a href="https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes/" rel="nofollow noreferrer">https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes/</a></p>
