Airflow 无法在开发计算机上使用KubernetesPodOperator

Airflow 无法在开发计算机上使用KubernetesPodOperator,airflow,minikube,kubernetes-pod,docker-desktop,airflow-operator,Airflow,Minikube,Kubernetes Pod,Docker Desktop,Airflow Operator,我试图使用KubernetesPodOperator在开发的iMac(10.15.6)机器上进行测试。 用于minikube和kubectl的版本如下所示。使用的气流版本为apache气流[kubernetes]==1.10.11 我无法使用KubernetesPodOperator运行任何吊舱。我有两个问题 如果我在_cluster=False中设置了,那么我会得到FileNotFoundError:[Errno 2]没有这样的文件或目录:'/root/.kube/config'问题 如果我在

我试图使用KubernetesPodOperator在开发的iMac(10.15.6)机器上进行测试。 用于minikube和kubectl的版本如下所示。使用的气流版本为apache气流[kubernetes]==1.10.11

我无法使用KubernetesPodOperator运行任何吊舱。我有两个问题

  • 如果我在_cluster=False中设置了
    ,那么我会得到
    FileNotFoundError:[Errno 2]没有这样的文件或目录:'/root/.kube/config'
    问题
  • 如果我在_cluster=True中设置了
    ,那么我会得到
    kubernetes.config.config\u exception.ConfigException:未设置服务主机/端口。
  • 请注意,我尝试使用kubernetes secrets中的
    Secret
    volume
    ~./kube/config
    装入卷。这发生在
    docker desktop
    minikube

  • 你能帮我做些什么吗
  • 您能为服务端口投诉提供解决方案吗
  • $kubectl版本
    客户端版本:Version.Info{Major:“1”,Minor:“16+”,GitVersion:“v1.16.6-beta.0”,GitCommit:“e7f962ba86f4ce70338210ca356393c37bcc”,GitRestate:“clean”,BuildDate:“2020-01-15T08:26:26Z”,政府版本:“go1.13.5”,编译器:“gc”,平台:“darwin/amd64”}
    服务器版本:Version.Info{Major:“1”,Minor:“17”,GitVersion:“v1.17.3”,GitCommit:“06ad960bfd03b39c8310aaff92d1e7c12ce618213”,gittrestate:“clean”,BuildDate:“2020-02-11T18:07:13Z”,政府版本:“go1.13.6”,编译器:“gc”,平台:“linux/amd64”}
    $minikube版本
    minikube版本:v1.12.1
    提交:5664228288552de9f3a446ea4f51c6f29bbdd0e0
    
    
    从日期时间导入时间增量
    从气流导入DAG
    从airflow.operators.dummy_operator导入dummy operator
    从afflow.contrib.operators.kubernetes\u pod\u operator导入KubernetesPodOperator
    从afflow.kubernetes.volume导入体积
    从afflow.kubernetes.volume\u装入导入VolumeMount
    从airflow.kubernetes.secret导入机密
    从airflow.kubernetes.pod导入端口
    从airflow.utils.dates导入天\u
    默认参数={
    “所有者”:“气流”,
    “依赖于过去”:False,
    “开始日期”:天之前(1),
    '电子邮件':['username@domain.com'],
    “失败时发送电子邮件”:False,
    “重试时发送电子邮件”:False,
    “重试次数”:0,
    “重试延迟”:时间增量(分钟=24*60)
    }
    dag=dag(‘kubernetes_样本’,
    默认参数=默认参数,
    时间间隔=时间增量(分钟=24*60))
    start=DummyOperator(任务id='start',dag=dag)
    机密\u卷\u配置={
    “秘密”:{
    “secretName”:“本地开发机密”
    }
    }
    kubeconfig\u卷\u配置={
    “秘密”:{
    “secretName”:“本地开发机密kubeconfig”
    }
    }
    卷=[
    卷(name='local-dev-secrets',configs=secret\u Volume\u config),
    卷(name='local-dev-secrets-kubeconfig',configs=kubeconfig\u Volume\u config),
    ]
    卷\u装载=[
    VolumeMount('local-dev-secrets',mount\u path='/secrets',sub\u path=None,read\u only=True),
    VolumeMount('local-dev-secrets-kubeconfig',mount_path='/root/.kube/config',sub_path=None,read_only=True),
    VolumeMount('local-dev-secrets-kubeconfig',mount_path='/kubeconfig',sub_path=None,read_only=True)
    ]
    #secret\u folder=secret(deploy\u type='volume',deploy\u target=“/secrets”,secret='local-dev-secrets',key=None)
    #secret\u kubeconfig\u file=secret(deploy\u type='volume',deploy\u target=“/root/.kube/config”,secret='local-dev-secrets-kubeconfig',key=None)
    端口=[端口('http',80),端口('http',443)]
    当前任务=KubernetesPodOperator(
    任务\u id=“当前任务”,
    name=“当前任务”,
    namespace='default',dag=dag,
    image=“busybox:latest”,
    图像\u pull\u policy='Always',
    get_logs=True,
    Doxcom_push=False,#本地开发
    in_cluster=False,
    是_delete_operator_pod=False,
    #hostnetwork=True,
    #端口=[端口],
    #secrets=[secret\u kubeconfig\u文件],
    #config_file=“/kubeconfig”
    卷=卷,
    卷安装=卷安装,
    #cmds=[“ls”、“-alth”、“/”],
    记录故障时的事件=真
    )
    当前_任务。设置_上游(开始)
    
    一旦我将kubeconfig作为卷安装到airflow scheduler容器上。事情按预期进行

    嘿,做那些多卷装载工作??我试图自己添加两个,但不断得到
    FileNotFoundError:[Errno 2]没有这样的文件或目录:'/kubeop/aiffort/report\u configs'
    错误。PVC和PVs具有不同的名称和装载路径。知道是什么引起的吗??