新增連線、變數和環境變數¶
您可以使用 Helm chart 以程式化的方式將連線、變數和任意環境變數新增到您的 Airflow 部署中。
連線和敏感環境變數¶
在 values.yaml
的 secret
和 extraSecret
區段下,您可以使用 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"
如果您需要將名稱或值設為範本,您也可以使用 extraEnv
和 extraEnvFrom
。
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!"