<p>Following the documentation I try to setup the Seldon-Core quick-start <a href="https://docs.seldon.io/projects/seldon-core/en/v1.11.1/workflow/github-readme.html" rel="nofollow noreferrer">https://docs.seldon.io/projects/seldon-core/en/v1.11.1/workflow/github-readme.html</a></p>
<p>I don't have LoadBalancer so I would like to use port-fowarding for accessing to the service.</p>
<p>I run the following script for setup the system:</p>
<pre class="lang-sh prettyprint-override"><code>#!/bin/bash -ev
kind create cluster --name seldon

kubectl cluster-info --context kind-seldon
sleep 10
kubectl get pods -A

istioctl install -y
sleep 10
kubectl get pods -A

kubectl create namespace seldon-system
kubens seldon-system
helm install seldon-core seldon-core-operator \
     --repo https://storage.googleapis.com/seldon-charts \
     --set usageMetrics.enabled=true \
     --namespace seldon-system \
     --set istio.enabled=true
sleep 100
kubectl get validatingwebhookconfigurations
kubectl create namespace modelns
kubens modelns
kubectl apply -f - &lt;&lt; END           
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
  name: iris-model
  namespace: modelns
spec:
  name: iris
  predictors:
  - graph:
      implementation: SKLEARN_SERVER
      modelUri: gs://seldon-models/v1.12.0-dev/sklearn/iris
      name: classifier
    name: default
    replicas: 1
END
sleep 100
kubectl get pods -A
kubectl get svc -A
INGRESS_GATEWAY_SERVICE=$(kubectl get svc --namespace istio-system --selector=&quot;app=istio-ingressgateway&quot; --output jsonpath='{.items[0].metadata.name}')
kubectl port-forward --namespace istio-system svc/${INGRESS_GATEWAY_SERVICE} 8080:80 &amp;
</code></pre>
<p>I gess the port-forwarding argument <code>8080:80</code> is probably wrong.</p>
<p>I'm using the following script for testing:</p>
<pre class="lang-sh prettyprint-override"><code>#!/bin/bash -ev

export INGRESS_HOST=localhost
export INGRESS_PORT=8080
SERVICE_HOSTNAME=$(kubectl get inferenceservice sklearn-iris -n kserve-test -o jsonpath='{.status.url}' | cut -d &quot;/&quot; -f 3)

curl -X POST http://$INGRESS_HOST:$INGRESS_PORT/seldon/modelns/iris-model/api/v1.0/predictions \
    -H 'Content-Type: application/json' \
    -d '{ &quot;data&quot;: { &quot;ndarray&quot;: [1,2,3,4] } }'
</code></pre>
<p>But I got the following error:</p>
<pre class="lang-sh prettyprint-override"><code>Handling connection for 8080
E1012 10:52:32.074812   
52896 portforward.go:400] an error occurred forwarding 8080 -&gt; 8080: 
error forwarding port 8080 to pod b9bd4ff03c6334f4af632044fe54e1c2531e95976a5fe074e30b4258d145508a, 
uid : failed to execute portforward in network namespace &quot;/var/run/netns/cni-2b4d8573-3cfe-c70e-1c36-e0dc53cbd936&quot;: failed to connect to localhost:8080 inside namespace &quot;b9bd4ff03c6334f4af632044fe54e1c2531e95976a5fe074e30b4258d145508a&quot;,
 IPv4: dial tcp4 127.0.0.1:8080: connect: connection refused IPv6 dial tcp6 [::1]:8080: connect: connection refused
</code></pre>
<p>Please can somebody known how to fix this? What is the right port forwarding argument?</p>

ucsky
<p>If you install with istio enabled you also need to install the istio gateway.</p>
<p>I've tested your flow and it didn't work, and then did work after installing the following istio gateway.</p>
<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: seldon-gateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - &quot;*&quot;
</code></pre>
<p>You can read more about istio configuration on Seldon Core here: <a href="https://docs.seldon.io/projects/seldon-core/en/latest/ingress/istio.html" rel="nofollow noreferrer">https://docs.seldon.io/projects/seldon-core/en/latest/ingress/istio.html</a></p>
