<p>Looking at the linkerd ingress documentation <a href="https://linkerd.io/2/tasks/using-ingress/#traefik" rel="nofollow noreferrer">here</a> it says that I need to create an ingress with an annotation of</p>
<pre><code>ingress.kubernetes.io/custom-request-headers: l5d-dst-override:web-svc.emojivoto.svc.cluster.local:80
</code></pre>
<p>this annotation is specific to a single service, which makes it sound like there must be a new ingress with it's own annotation for every service. I couldn't have something like the following for example:</p>
<pre><code>spec:
  rules:
      - host: example.com
        http:
          paths:
            - path: /path-one
              backend:
                serviceName: service-1
                servicePort: 80
            - path: /path-two
              backend:
                serviceName: service-2
                servicePort: 80
</code></pre>
<p>where I could define paths to different services in a single ingress class.</p>
<p>Is my reading of these docs accurate? or am I missing something? I am hoping to avoid creating an ingress for every service I run in linkerd.</p>

<p>Yes, unfortunately you understood correctly about creating separate ingress for each service if you want use <code>ingress.kubernetes.io/custom-request-headers</code>.
Yes, if you would have 1000 services - you should create 1000 ingresses to make it work properly.</p>
<p>Ingress1:</p>
<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web-ingress
  namespace: marcus
  annotations:
    kubernetes.io/ingress.class: &quot;traefik&quot;
    ingress.kubernetes.io/custom-request-headers: l5d-dst-override:service1.marcus.svc.cluster.local:80
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: service1
          servicePort: 80
        path: /
</code></pre>
<p>Ingress2:</p>
<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web-ingress
  namespace: marcus
  annotations:
    kubernetes.io/ingress.class: &quot;traefik&quot;
    ingress.kubernetes.io/custom-request-headers: l5d-dst-override:service2.marcus.svc.cluster.local:80
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: service2
          servicePort: 80
        path: /
</code></pre>
