如何在ConfigMap中指定位于Kubernetes上运行的docker容器中的目录?
我在一个设置中工作,我在Kubernetes上部署了一个运行气流的docker容器。我要做的是将dags定义文件与包含气流安装的docker容器打包,以进行版本控制,然后让定义dags_文件夹目录的ConfigMap在气流docker中指定dags定义文件所在的目录 Dockerfile是k8s名称空间如何在ConfigMap中指定位于Kubernetes上运行的docker容器中的目录?,docker,kubernetes,airflow,configmap,Docker,Kubernetes,Airflow,Configmap,我在一个设置中工作,我在Kubernetes上部署了一个运行气流的docker容器。我要做的是将dags定义文件与包含气流安装的docker容器打包,以进行版本控制,然后让定义dags_文件夹目录的ConfigMap在气流docker中指定dags定义文件所在的目录 Dockerfile是k8s名称空间 RUN mkdir /home/airflow/ \ && mkdir /home/airflow/dags \ && chown airflow
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
您必须创建配置文件
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
必须使用子路径afflow.cfg将configmap装载到容器中需要的任何位置。