Kubernetes Ingress + Apache воздушный поток - PullRequest
0 голосов
/ 30 мая 2020

Не могли бы вы мне помочь?

Я пытаюсь запустить Apache воздушный поток в Kubernetes (AWS), в vp c. Я использую helm stable / airflow 7.1.1

Все запускается нормально. Но чтобы получить доступ к веб-интерфейсу, мне нужно открыть его через входной ELB. У меня есть такая установка. Правило для воздушного потока выглядит следующим образом:

apiVersion: v1
items:
- apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    annotations:
      kubernetes.io/ingress.class: nginx
      nginx.ingress.kubernetes.io/connection-proxy-header: upgrade
      nginx.ingress.kubernetes.io/rewrite-target: /$2
    creationTimestamp: "2020-05-29T14:52:54Z"
    generation: 31
    labels:
      app.kubernetes.io/instance: airflow-dev-web
      app.kubernetes.io/managed-by: Tiller
      app.kubernetes.io/name: airflow-dev-web
      app.kubernetes.io/version: "1.0"
      helm.sh/chart: web-service-0.1.0
    name: airflow
    namespace: dev
    resourceVersion: "45272238"
    selfLink: /apis/extensions/v1beta1/namespaces/dev/ingresses/airflow
    uid: 64f276ad-b51f-4551-8078-51a7184b04b4
  spec:
    rules:
    - host: public.host.com
      http:
        paths:
        - backend:
            serviceName: airflow-dev-web
            servicePort: 8080
          path: /airflow(/|$)(.*)
  status:
    loadBalancer:
      ingress:
      - ip: <public_ip>

Я могу открыть / health с помощью OK:

https://public.host.com/airflow/health

Но когда Я открываю конечную точку веб-администратора:

https://public.host.com/airflow/admin

У меня много непереписанных URL-адресов - они указывают на publi c .host.com, но не на publi c .host.com / airflow / .... Вот так:

URL: https://public.host.com/admin/admin/bootstrap/bootstrap3/css/bootstrap-theme.min.css?v=3.3.5
Status: 404 Not Found

Я обнаружил, что мне нужна специальная настройка для обратного прокси .. Как здесь:

https://airflow.readthedocs.io/en/stable/howto/run-behind-proxy.html

Но я не могу найти, как это сделать с помощью Ingress ....: ((

Пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 30 мая 2020

Больше не актуально. Выиграли его, используя:

nginx.ingress.kubernetes.io/server-snippet: |
          proxy_set_header Host $host;
          proxy_redirect off;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";

Также необходимо будет настроить в потоке воздуха:

ENABLE_PROXY_FIX: "True"

и

baseUrl: "http://local.airflow/airflow"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...