0

我正在一个设置中工作,我在 Kubernetes 上部署了一个运行气流的 docker 容器。我想要做的是将dags定义文件与包含气流安装的docker容器打包(用于版本控制),然后让定义dags_folder目录的ConfigMap指定dags所在的目录(在airflow-docker中)定义文件是。

Dockerfile(airflow 是 k8s 命名空间)

RUN mkdir /home/airflow/ \
    && mkdir /home/airflow/dags \
    && chown airflow:airflow /home/airflow \
    && chown airflow:airflow /home/airflow/dags

...

ADD dags.py /home/airflow/dags
USER airflow

配置映射

  airflow.cfg: |
    [core]
    dags_folder = /home/airflow/dags
4

1 回答 1

1

您必须创建配置文件

airflow.cfg: |
data:
  core: 
    dags_folder = /home/airflow/dags

然后将其挂载到 deployment.yml 文件中。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: your_app_name
  namespace: default or your namespace
spec:
  replicas: 1
  selector:
    matchLabels:
      app: your_app_name
  template:
    metadata:
      labels:
        app: your_app_name
    spec:
      container:
        - name: Your image.
          ports:
           - name: my_app_port
             containerPort: 7000
          volumeMounts:
            - mountPath: /your/directory/airflow.cfg
              subPath: core
              name: name of config_map # this should match with name of config map
      volumes:
        - name: name of the config_map 
          configMap:
            name: your_config_map

于 2019-10-09T17:26:57.353 回答