<p>Is it possible to make the k3s ingress route a certain path to a certain IP or port of a service which is not running inside the Kubernetes, but on same physical machine?</p>
<p><strong>My use-case</strong></p>
<p>Using single node k3s setup.</p>
<p>I have a special server running on the same host that the k3s is running on.
I'd like to expose it as an HTTP endpoint in the ingress.</p>
<p>e.g:</p>
<pre><code>foo.example.com --&gt; k3s ingress --&gt; 127.0.0.1:99 (port on k3s machine)
</code></pre>
<p>or</p>
<pre><code>foo.example.com --&gt; k3s ingress --&gt; 192.168.1.7:99 (something in the local network)
</code></pre>
<p>Is something like this possible or should there be some reverse proxy before the k3s server?</p>

<blockquote>
<p>Is it possible to make the k3s ingress route a certain path to a
certain IP or port of a service which is not running inside the
Kubernetes, but on same physical machine?</p>
</blockquote>
<p>Yes you can do it with the <strong><a href="https://kubernetes.io/docs/concepts/services-networking/service/#externalname" rel="nofollow noreferrer">ExternalName</a></strong> service.</p>
<p>You define one <strong>service</strong> and it points to specific physical <strong>IP</strong> outside of the cluster.</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: ExternalName
  externalName: my.database.example.com//192.168.4.5
</code></pre>
<p>Further you can use this <strong>service</strong> as normal service of Kubernetes but the request will get forwarded to <strong>external</strong> service.</p>
