Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes吊舱操作员卷装载失败,导致吊舱无法生成_Kubernetes_Airflow_Kubernetes Pod_Airflow Scheduler_Airflow Operator - Fatal编程技术网

Kubernetes吊舱操作员卷装载失败,导致吊舱无法生成

Kubernetes吊舱操作员卷装载失败,导致吊舱无法生成,kubernetes,airflow,kubernetes-pod,airflow-scheduler,airflow-operator,Kubernetes,Airflow,Kubernetes Pod,Airflow Scheduler,Airflow Operator,我正在尝试将通过yaml文件配置的spark submit作业转换为airflow dag,并通过airflow运行它。当我尝试装入卷并加载配置映射时,作业失败。 在yaml中,volumne装载代码块与此类似 volumeMounts: - mountPath: /etc/jtp name: config-vol 要加载的配置映射是这样的 volumes: - configMap: name: qa-jtp-llt name: config

我正在尝试将通过yaml文件配置的spark submit作业转换为airflow dag,并通过airflow运行它。当我尝试装入卷并加载配置映射时,作业失败。 在yaml中,volumne装载代码块与此类似

  volumeMounts:
    - mountPath: /etc/jtp
      name: config-vol
要加载的配置映射是这样的

  volumes:
  - configMap:
      name: qa-jtp-llt
    name: config-vol
现在,当我试着把同样的东西翻译成我的dag时,它会转换成这样的东西

  volumes:
  - configMap:
      name: qa-jtp-llt
    name: config-vol
从kubernetes.client导入模型为k8s
从气流导入DAG
从日期时间导入时间增量
从日期时间导入日期时间
从airflow.utils.dates导入天\u
从airflow.providers.cncf.kubernetes.operators.kubernetes_pod导入KubernetesPodOperator
从airflow.utils.trigger\u规则导入TriggerRule
volume\u mount=k8s.V1VolumeMount(name='config-vol',mount\u path='/etc/jtp',sub\u path=None,read\u only=True)
configmaps=[k8s.V1EnvFromSource(config\u map\u ref=k8s.V1ConfigMapEnvSource(name='config\u name'))]
体积=k8s.v1体积(
name='config-vol',
persistent_volume_claim=k8s.v1 persistent volumeclaimvolumesource(claim_name='config-vol'),
)
默认参数={
“所有者”:“气流”,
“依赖于过去”:False,
“等待下游”:False,
“开始日期”:日期时间(2020年10月8日),
'电子邮件':['airflow@example.com'],
“失败时发送电子邮件”:False,
“重试时发送电子邮件”:False,
“最大活动运行次数”:1,
“追赶”:真的吗
}a
dag=dag(
“样本工作”,
默认参数=默认参数,
description='kubernetes吊舱操作员上运行的示例作业',
计划时间间隔=无,
)
样本作业=KubernetesPodOperator(
task_id='task-1',
name='sample-job',
namespace='namespace1',
image='image\u name',
图像\u pull\u policy='Always',
卷=[卷],
卷装载=[卷装载],
configmaps=configmaps,
cmds=[“/opt/entrypoint.sh”,“驱动程序”],
论据=[
“--class”,“某物,这个东西,main class”,
'myjar_file_name.jar',
'属性\文件\ 1.properties',
“属性文件2.properties”,
],
dag=dag,

)
在“namespace1”命名空间中,很可能没有名为“config vol”的pvc

您需要为V1VolumeMount提供正确的PVC名称(name='existing-PVC-name',…)

您应该能够在该名称空间中列出可用的pvc,包括:

kubectl -n namespace1 get pvc

很可能您在“namespace1”命名空间中没有名为“config vol”的pvc

您需要为V1VolumeMount提供正确的PVC名称(name='existing-PVC-name',…)

您应该能够在该名称空间中列出可用的pvc,包括:

kubectl -n namespace1 get pvc

尝试将多个卷装载到KubernetesPodOperator时,即使KubernetesPodOperator具有不同的卷,我也会得到
FileNotFoundError:[Errno 2]没有这样的文件或目录:'/data/afflow/report\u configs'
。我相信
卷数
是列表类型,将装载列表中的所有卷(每个卷具有不同的pvc/pv)。添加多个卷/volumeMount无效。有什么建议吗?这可能与您的问题有关。这不是同一个问题,但我的问题是多卷。我能够通过在k8s\U pod\U操作符中提到执行器配置来实现这一点。
executor\u config
可以保存多个卷,如本例所示。尝试将多个卷装载到KubernetesPodOperator时,我得到了
FileNotFoundError:[Errno 2]没有这样的文件或目录:'/data/afflow/report\u configs'
。我相信
卷数
是列表类型,将装载列表中的所有卷(每个卷具有不同的pvc/pv)。添加多个卷/volumeMount无效。有什么建议吗?这可能与您的问题有关。这不是同一个问题,但我的问题是多卷。我能够通过在k8s\U pod\U操作符中提到执行器配置来实现这一点。如本例所示,
executor\u config
可以容纳多个卷