Airflow 无法在开发计算机上使用KubernetesPodOperator
我试图使用KubernetesPodOperator在开发的iMac(10.15.6)机器上进行测试。 用于minikube和kubectl的版本如下所示。使用的气流版本为apache气流[kubernetes]==1.10.11 我无法使用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'问题 如果我在
,那么我会得到FileNotFoundError:[Errno 2]没有这样的文件或目录:'/root/.kube/config'
问题
,那么我会得到kubernetes.config.config\u exception.ConfigException:未设置服务主机/端口。
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具有不同的名称和装载路径。知道是什么引起的吗??