title: Migrate to istio from nginx ingress
body: <p>I've simple single page golang web application, I'm trying to migrate to istio.</p>
  
  <p>My prod setup (via nginx ingress):</p>
  
  <pre><code>---
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: goapp
    annotations:
       kubernetes.io/ingress.class: nginx
       kubernetes.io/tls-acme: "true"
  spec:
    tls:
    - hosts:
      - mycustomapp.mycustomapp.com
      secretName: go-tls
    rules:
    - host: mycustomapp.mycustomapp.com
      http:
        paths:
        - path: /
          backend:
            serviceName: mycustomapp
            servicePort: 80
  </code></pre>
  
  <p>And I'm trying to build at least http configuration for istio</p>
  
  <pre><code>    apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
        name: goapp
        annotations:
           kubernetes.io/ingress.class: istio
      spec:
        rules:
        - host: mycustomapp.mycustomapp.com
          http:
            paths:
            - path: /
              backend:
                serviceName: mycustomapp
                servicePort: 80
  </code></pre>
  
  <p>But I always get 404 from istio lb on clean cluster with istio 0.7.1 only installed. Samples like bookinfo and httpbin works well</p>
  
  <p>Application yaml:</p>
  
  <pre><code>   kind: Deployment
      apiVersion: apps/v1
      metadata:
        labels:
          k8s-app: mycustomapp
        name: mycustomapp
      spec:
        replicas: 1
        selector:
          matchLabels:
            k8s-app: mycustomapp
        template:
          metadata:
            labels:
              k8s-app: mycustomapp
          spec:
            containers:
            - name: mycustomapp
              image: xxxx.azurecr.io/mycustomapp:999
              ports:
              - containerPort: 80
                protocol: TCP
            imagePullSecrets:
            - name: xxxx
            serviceAccountName: mycustomapp
      ---
      kind: Service
      apiVersion: v1
      metadata:
        annotations:
          prometheus.io/scrape: 'true'
        labels:
          k8s-app: mycustomapp
        name: mycustomapp
      spec:
        type: ClusterIP
        ports:
          - port: 80
            targetPort: 80
        selector:
          k8s-app: mycustomapp
  </code></pre>