文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、修改irflow 配置文件
- 1 导出airflow 配置文件
- 2 修改对应配置
- 3 部署ConfigMap
- 二、Upgrade airflow
- 1 deploy the same K8s namespace,airflow ,and apply airflow configuration with values.yaml
- 2 check the import Variable fromConfigMap
- 总结
前言
`
在上一篇中我们已经在K8s cluster中部署了Airflow,本篇将通过修改values.yaml文件来实现修改Airflow的相关配置,并upgrade airflow。
提示:以下是本篇文章正文内容,下面案例可供参考
一、修改irflow 配置文件首先从helm中导出配置文件,values.yaml,然后打开values.yaml 文件手动修改完你需要修改的配置,本笔记将要通过KuberneteExecutator 来运行任务,并通过K8s中的configmap来定义airflow中的Variable,ConfigMap定义文件如下。
1 导出airflow 配置文件helm show values apache-airflow/airflow > values.yaml2 修改对应配置
executor: "KubernetesExecutor"
# Extra envFrom 'items' that will be added to the definition of airflow containers
extraEnvFrom: |
- configMapRef:
name: airflow-variables. ## ConfigMap name
3 部署ConfigMap
k apply -f airflow-variables.yaml k get configmap ## check the configmap NAME DATA AGE airflow-airflow-config 3 25h airflow-variables 1 24h kube-root-ca.crt 1 25h
airflow-variables.yaml 文件如下:
apiVersion: v1 kind: ConfigMap metadata: namespace: airflow name: airflow-variables data: AIRFLOW_VAR_MY_S3_BUCKET: "my_s3_name"二、Upgrade airflow 1 deploy the same K8s namespace,airflow ,and apply airflow configuration with values.yaml
helm upgrade --install apache-airflow/airflow -n airflow -f values.yaml.2 check the import Variable fromConfigMap
Exec the docker image for the websever or the scheduler
k exec -it airflow-webserver-84fb656485-rm2sj -- bash
airflow@airflow-webserver-84fb656485-rm2sj:/opt/airflow$ python
>>> from airflow.models import Variable
>>> Variable.get('MY_S3_BUCKET')
'my_s3_name'
总结
本篇日记中主要记录了如何导出airflow中配置文件,并对配置文件进行修改,以及如何upgrade修改完的airflow。后续将对如何上载dag文件以及添加requirement.txt的相关操作步骤进行记录



