title: Run scalable Service in GKE with fixed Domain and Port
body: <p>I've a shipped app where a URL is hardcoded "upload.mydomain.io:123123/myRoute".</p>
  
  <p>This DNS points to an VM where an NGINX distributes the traffic to services. 
  Now I need to put a highly scalable service in front of the VM, WITHOUT having the possibility to change the hardcoded URL. I've tried so far:</p>
  
  <ul>
  <li>Cloud Functions</li>
  <li>App Engine</li>
  <li>Cloud Run</li>
  <li>My own Kubernetes Cluster.</li>
  </ul>
  
  <p>As an DNS Distributer I use Cloudflare, where I also tried to do something with Page Rules.</p>
  
  <p>Functions -> No Domain in EU</p>
  
  <p>Cloud Run -> Only Port 80</p>
  
  <p>App Engine -> Only Port 8080</p>
  
  <p>Kubernetes Ingress -> I can put my Domain on, also with the port as Service port, but then in the URL the port is gone</p>
  
  <p>This is my Kubernetes Manifest:</p>
  
  <pre><code>apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    creationTimestamp: null
    labels:
      app: myApp-api
    name: myApp-api
  spec:
    replicas: 3
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: myApp-api
      spec:
        containers:
        - name: myApp-api
          env:
          - name: NODE_ENV
            value: production
          image: eu.gcr.io/myApp-123/myApp-api:latest
          imagePullPolicy: Always
          ports:
          - containerPort: 21337
        restartPolicy: Always
  status: {}
  
  
  ---
  
  apiVersion: v1
  kind: Service
  metadata:
    labels:
      app: myApp-api-service
    name: myApp-api-service
  spec:
    ports:
    - name: myApp-api-port
      port: 21337
      targetPort: 21337
    selector:
      app: myApp-api
    type: LoadBalancer
  status:
    loadBalancer: {}
  
  ---
  
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: myApp-api-ingress
  spec:
    tls:
    - hosts:
      - upload.myDomain.io
      secretName: tls-secret
    rules:
    - host: upload.myDomain.io
      http:
        paths:
        - path: /*
          backend:
            serviceName: myApp-api-service
            servicePort: myApp-api-port
  </code></pre>
  
  <p>Is it possible somehow to create this route with some service?</p>