Cloud Composerを使わず、GKEでAirflowを構築し、ロードバランサーにGCP HTTPS Load Balancer+Google管理の証明書を使用した。
通常の管理画面表示には問題なかったものの、VariablesなどのPOST系のアクションをすると、http接続に戻ってしまう問題があった。
どうやら、LBがSSLを行い、webserver側にはhttpで通信しているため、そちらに戻してしまうようだった。
github.com
下記のenable_proxy_fixを使えば大丈夫だった。
https://airflow.apache.org/docs/stable/howto/run-behind-proxy.html
cfgファイルで行う場合は下記のように入れる。
airflow.cfg
[webserver] enable_proxy_fix = True
今回はローカルはそのままにしておきたかったので、k8sで環境変数で設定する方式を利用した。
template:
metadata:
creationTimestamp: null
labels:
app: airflow
tier: webserver
spec:
containers:
- args:
- webserver
env:
- name: AIRFLOW__WEBSERVER__ENABLE_PROXY_FIX