<p>I am trying to configure kong ingress controller for apache nifi.</p>
<p>About nifi:</p>
<p>Apache nifi instance is running on minikube, and it exposes a rest api that can be accessed with URLs:</p>
<blockquote>
<p>http://ip:port/nifi-api/....</p>
</blockquote>
<p>calls t /nifi-api work and results are returned as expected.</p>
<p>Service name for nifi instance in its yaml is 'nifi'.</p>
<p>For kong:</p>
<p>Installed kong on minikube, following <a href="https://docs.konghq.com/kubernetes-ingress-controller/2.10.x/deployment/minikube/" rel="nofollow noreferrer">this</a>.
I can see kong resources created.</p>
<p><a href="https://i.stack.imgur.com/S7nU4.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/S7nU4.png" alt="enter image description here" /></a></p>
<p>For creating ingress to put nifi api behind kong, following <a href="https://docs.konghq.com/kubernetes-ingress-controller/2.10.x/guides/getting-started/" rel="nofollow noreferrer">this</a>.</p>
<p>My ingress yaml:</p>
<pre><code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nifi-api-routing
  annotations:
    konghq.com/strip-path: 'true'
spec:
  ingressClassName: kong
  rules:
  - host: kong.example
    http:
      paths:
      - path: /nifi-api
        pathType: ImplementationSpecific
        backend:
          service:
            name: nifi
            port:
              number: 30026
</code></pre>
<p>backend.service.name and backend.service.port are from service yaml for nifi. path is '/nifi-api' as nifi exposes its endpoints at it. host name 'kong.example' is same as one used in <a href="https://docs.konghq.com/kubernetes-ingress-controller/2.10.x/guides/getting-started/" rel="nofollow noreferrer">link</a>.</p>
<p>My question is what all this means to client. If I call:</p>
<p><a href="http://kong.example/nifi-api/.." rel="nofollow noreferrer">http://kong.example/nifi-api/..</a>.</p>
<p>It doesn't work. Browser cant reach the site.</p>
<p>curl -i $PROXY_IP still says 'no route matched with those values'.</p>

Mandroid
<p>Your issue should not be related to Kubernetes/Minikube but to the missing route to connect your host (<code>kong.example</code>).</p>
<p>To fix it, first, delete the ingress:</p>
<pre><code>kubectl delete ingress nifi-api-routing
</code></pre>
<p>enable ingress on minikube:</p>
<pre><code>minikube addons enable ingress
</code></pre>
<p>get the minikube ip:</p>
<pre><code>minikube ip
&gt; 192.168.x.x
</code></pre>
<p>and use it to add a new line into the file <code>/etc/hosts</code> to create the route:</p>
<pre><code>192.168.x.x kong.example
</code></pre>
<p>finally, re-create your ingress with:</p>
<pre><code>kubectl apply -f ingressyaml
</code></pre>
<p>If you search the ingress with <code>kubectl get ingress</code>, you should see something like:</p>
<pre><code>NAME             CLASS   HOSTS          ADDRESS       PORTS   AGE
nifi-api-routing nginx   kong.example   192.168.x.x   80      5m
</code></pre>
<p>Now, you can try to browse host with <code>curl http://kong.example/echo</code>.</p>
