<p>I'm new to istio, and I want to access my app through istio ingress gateway, but I do not know why it does not work.
This is my <code>kubenetes_deploy.yaml</code> file content:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: batman
  labels:
    run: batman
spec:
    #type: NodePort
  ports:
  - port: 8000
    #nodePort: 32000
    targetPort: 7000
    #protocol: TCP
    name: batman
  selector:
    run: batman
    #version: v1
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: batman-v1
spec:
  replicas: 1
  selector:
    matchLabels:
      run: batman
  template:
    metadata:
      labels:
        run: batman
        version: v1
    spec:
      containers:
      - name: batman
        image: leowu/batman:v1
        ports:
          - containerPort: 7000
        env:
          - name: MONGODB_URL
            value: mongodb://localhost:27017/articles_demo_dev
      - name: mongo
        image: mongo
</code></pre>

<p>And here is my istio <code>ingress_gateway.yaml</code> config file:</p>

<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: batman-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 15000
      name: http
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: batman
spec:
  hosts:
  - "*"
  gateways:
  - batman-gateway
  http:
    - match:
      route:
      - destination:
          host: batman
          port:
            number: 7000
</code></pre>

<p>I created the ingress gateway from example, and it looks well but when I run <code>kubectl get svc istio-ingressgateway -n istio-system</code> I can't see the listening port <code>15000</code> in the output。I donot know way.</p>

<p>Is there anyone can help me? Thanks.</p>

<p>First of all, as @Abhyudit Jain mentioned you need to correct port in VirtualService to 8000</p>

<p>And then you just add another port to your <strong>istio-ingressgateway</strong> service</p>

<pre><code>kubectl edit svc istio-ingressgateway -n istio-system
</code></pre>

<p>add section:</p>

<pre><code>ports:
  - name: http
    nodePort: 30001
    port: 15000
    protocol: TCP
    targetPort: 80
</code></pre>

<p>This will accept HTTP traffic on port <strong>15000</strong> and rout it to your destination service on port <strong>8000</strong></p>

<p>simple schema as follows: </p>

<pre><code>incoming traffic --&gt; istio-gateway service --&gt; istio-gateway --&gt; virtual service --&gt; service --&gt; pod
</code></pre>
