<p>I want to deploy a few <code>Spring Boot</code> microservices on <code>Kubernetes</code> cluster. One of them is <em>authorization server</em> serving <code>OAuth 2.0</code> tokens. With current deployment (no k8s) only two services are visible to the outer world: <code>api-gateway</code> (Zuul) and <code>authorization-server</code> (Spring OAuth). The rest is hidden behind the <code>api-gateway</code>. During <code>k8s</code> deployment Zuul proxy probably will be substituted by Kubernetes Ingress. </p>

<p>Now the questions: </p>

<ul>
<li>Should I put <code>authorization-server</code> behind the Ingress or not?</li>
<li>What are pros and cons concerning these two solutions?</li>
<li>What are <em>best practices</em>?</li>
<li>Maybe I shouldn't get rid of Zuul at all?</li>
</ul>

<p>Getting rid of Zuul is perfectly reasonable. Ingress should be the only outer-cluster accessible component that provides access to the cluster through ingress rules. 
So yes, authorization-server and microservices should be accessible through ingress.</p>
