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