新增連線、變數和環境變數

您可以使用 Helm chart 以程式化的方式將連線、變數和任意環境變數新增到您的 Airflow 部署中。

連線和敏感環境變數

values.yamlsecretextraSecret 區段下,您可以使用 Helm chart 將連線字串和敏感環境變數傳遞到 Airflow 中。為了說明,讓我們建立一個名為 override.yaml 的 yaml 檔案,以覆蓋 values.yaml 檔案中這些區段下的值。

# override.yaml

secret:
  - envName: "AIRFLOW_CONN_GCP"
    secretName: "my-airflow-connections"
    secretKey: "AIRFLOW_CONN_GCP"
  - envName: "my-env"
    secretName: "my-secret-name"
    secretKey: "my-secret-key"

extraSecrets:
  my-airflow-connections:
    data: |
      AIRFLOW_CONN_GCP: 'base64_encoded_gcp_conn_string'
  my-secret-name:
    stringData: |
      my-secret-key: my-secret

變數

Airflow 支援變數,讓使用者可以製作動態 DAG。您可以在 Airflow 中透過三種方式設定變數 - UI、命令列和 DAG 檔案內。請參閱管理變數以瞭解更多資訊。

使用 Helm chart,您也可以將環境變數注入到 Airflow 中。因此,在範例 override.yaml 檔案中,我們可以覆蓋 values.yaml 檔案的 env 區段中感興趣的值。

env:
  - name: "AIRFLOW_VAR_KEY"
    value: "value_1"
  - name: "AIRFLOW_VAR_ANOTHER_KEY"
    value: "value_2"

如果您需要將名稱或值設為範本,您也可以使用 extraEnvextraEnvFrom

extraEnv: |
  - name: AIRFLOW_VAR_HELM_RELEASE_NAME
    value: '{{ .Release.Name }}'

extraEnvFrom: |
  - configMapRef:
      name: '{{ .Release.Name }}-airflow-variables'

extraConfigMaps:
  '{{ .Release.Name }}-airflow-variables':
    data: |
      AIRFLOW_VAR_HELLO_MESSAGE: "Hi!"

此條目是否有幫助?