你能帮帮我吗?
我正在尝试在 VPC 中的 Kubernetes (AWS( 中启动 Apache 气流。 我正在使用舵稳定/气流 7.1.1
一切开始都很好。但是要访问 Web 界面,我需要通过入口 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 是可以的:
https://public.host.com/airflow/health
但是当我打开管理 Web 终结点时:
https://public.host.com/airflow/admin
我有很多没有重写的网址 - 它们指向 public.host.com 但不指向 public.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
但是我找不到如何使用入口执行此操作...:((
请帮帮我!
不再实际。 使用以下方法赢得了它:
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"