Istio virtualservice issue for Airflow webservice

5/13/2020

I am trying to setup istio for Airflow webservice My current airflow url is http://myorg.com:8080/appv1/airflow (without istio)

After i tried to integrate with istio i have written the virtual service as given below but i end up getting a 404 Not Found. I am trying to access the url from http://myorg.com/v1airlfow

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: airflow-vservice
  namespace: "{{ .Release.Namespace }}"
spec:
  hosts:
  - "*"
  gateways:
  - airflow-gateway
  http:
  - name: airflow-http
    match:
    - uri:
        exact: "/v1airflow"
    - uri:
        exact: "/v1airflow/"
    rewrite:            
      uri: "/appv1/airflow/"
    route:
    - destination:
        host: {{ .Release.Name }}-airflow-web.{{ .Release.Namespace }}.svc.cluster.local
        port:
          number: 8080
    headers:
      request:
        set:
          X-Forwarded-Proto: "http"
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: airflow-gateway
  namespace: "{{ .Release.Namespace }}"
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: airflow-http
      protocol: HTTP
    hosts:
    - "*"
-- rufus-atd
airflow
istio
kubernetes

1 Answer

5/18/2020
  • uri: prefix: "/v1airflow"
    • uri: prefix: "/v1airflow/home"
    • uri: prefix: "/v1airflow/static"
    • uri: prefix: "/v1airflow/login"
    • rewrite: regex: ^/v1airflow/(.*)$

Got it working

-- rufus-atd
Source: StackOverflow