<p>I am trying to deploy multiple applications on Azure kubernetes and each application will have its own namespace and nodes (based on the nodeselector, taint &amp; tolerance).</p>
<p>I am also planning to deploy Istio service mesh along with the individual applications on the application specific namespace.</p>
<p>Somehow I could not make the decision on where and how many times Istio should be deployed.</p>
<p>Being Istio a service mesh, it should support multiple host/applications. However, I also want to maintain clear the segregation between the application as much as possible.</p>
<p>Should I go ahead and deploy Istio along with the individual applications?</p>

One Developer
<p>Usually the Istio control plane would be installed in its own namespace highly available one time. This means with multiple instances of its components. Istio itself deploys envoy proxies with each istio enabled application that send their corresponding metrics to the deployed control plane. Hence I would advise you to install the control plane just one single time in a seperated namespace, additionally that corresponds with the segregation strategy you pursue with your applications as well.</p>
<p>As for how to enable istio with your applications take a look at the following document: <a href="https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/" rel="nofollow noreferrer">https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/</a></p>
<p>You have two options:</p>
<ol>
<li>Installing the sidecar containers manually.</li>
<li>Let the sidecars be injected automatically.</li>
</ol>
