我的DAG在堆栈驱动程序中停留在运行状态,并显示一条日志消息“有一个待定类型的事件”。我的DAG在没有卷挂载的情况下可以正常工作,但是看起来好像有卷挂载的问题。你能请人帮忙吗?
我正在尝试将“ / data / storage”路径安装到容器中“ / storage”位置。
from airflow import DAG
from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator
from airflow.contrib.kubernetes.volume import Volume
from airflow.contrib.kubernetes.volume_mount import VolumeMount
from datetime import timedelta
default_args = {
'owner': '',
'start_date': '2020-03-31 03:40:34',
'depend_on_past': False,
'email_on_failure': False,
'email_on_retry': False,
'retries': 0,
'retry_delay': timedelta(minutes=5)
}
volume_mount = VolumeMount('test-volume',
mount_path='/data/storage',
sub_path='storage',
read_only=True)
volume_config= {
'persistentVolumeClaim':
{
'claimName': 'test-volume'
}
}
volume = Volume(name='test-volume', configs=volume_config)
dag = DAG('dag-name', default_args=default_args, schedule_interval=None, catchup=False, concurrency=1, max_active_runs=1)
task1 = KubernetesPodOperator(
# The ID specified for the task.
task_id='task1',
# Name of task you want to run, used to generate Pod ID.
name='task1',
namespace='default',
env_vars={'var1': 'value1'},
image='someimage',
volumes=[volume],
volume_mounts=[volume_mount],
arguments=['arg.json'],
startup_timeout_seconds=3600,
image_pull_policy='Always',
dag=dag)
答案 0 :(得分:1)
您看过这个post吗?首先,您需要创建一个persistent volume,然后使用卷和卷安装来更新DAG。这是full example
答案 1 :(得分:0)