<p>Is it possible to control the percentage of traffic going to a particular pod with Kubernetes Service, without controlling the number of underlying pod? By default, kube- chooses a backend via a round-robin algorithm.</p>

<p>Yes, possible with the <strong>extra</strong> configuration of <strong>Service mesh</strong>.</p>
<p>If you looking forward to do it using the simple service it's hard to do it based on <strong>%</strong> as the default behavior is <strong>round-robin</strong>.</p>
<p>For example, if you are using the <strong>Istio service mesh</strong></p>
<p>You can route the traffic based on <strong>weight</strong></p>
<pre><code>apiVersion: networking.istio.io/v1beta1
kind: VirtualService
...
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50
</code></pre>
<p>where <strong>subset</strong> you can consider is more like the <strong>label</strong> so you are running the deployments with multiple <strong>labels</strong> and do the routing based on <strong>weight</strong> using the <strong>Istio</strong>.</p>
<p>See the <a href="https://istio.io/latest/docs/tasks/traffic-management/traffic-shifting/" rel="nofollow noreferrer">example</a>.</p>
