<p>I have the following VirtualService whose <code>hosts</code> mapping (<code>backend</code>) is just the same as <code>host</code> destination (<code>backend</code>). I think it's redundant since we can access the K8S <code>Service</code> directly.</p>

<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: backend
  namespace: default
spec:
  hosts:
  - backend
  http:
  - route:
    - destination:
        host: backend
</code></pre>

<p>Is my understanding correct? If not, is it better practice to define <code>VirtualService</code> for each <code>Service</code>?</p>

Pahlevi Fikri Auliya
<p>You are correct that your virtual service is redundant and not needed. It is, however, best practice to define virtual services for your services right from the start, especially if you plan to use istio traffic management features in the future. This is mentioned in the last paragraph of <a href="https://istio.io/docs/concepts/traffic-management/#rule-evaluation" rel="nofollow noreferrer">this section</a> of the docs.</p>
