气流KubernetesPodOperator气流异常(';吊舱启动失败:{error}';.format(error=ex))
我正在运行一个KubernetesPodOperator,它带有一个自定义docker图像,该图像是用microk8s导入的。在airflow中运行DAG时,我会看到以下日志,直到收到超时消息气流KubernetesPodOperator气流异常(';吊舱启动失败:{error}';.format(error=ex)),kubernetes,airflow,ubuntu-18.04,microk8s,Kubernetes,Airflow,Ubuntu 18.04,Microk8s,我正在运行一个KubernetesPodOperator,它带有一个自定义docker图像,该图像是用microk8s导入的。在airflow中运行DAG时,我会看到以下日志,直到收到超时消息AirflowException('Pod启动失败:{error}'。格式(error=ex)) [2020-04-14 23:06:39875]{logging_mixin.py:95}INFO-[34m2020-04-14 23:06:39875[0m]{[34mpod_launcher.py:[0m1
AirflowException('Pod启动失败:{error}'。格式(error=ex))
[2020-04-14 23:06:39875]{logging_mixin.py:95}INFO-[34m2020-04-14 23:06:39875[0m]{[34mpod_launcher.py:[0m141}INFO[0m-事件:[1mk8s-pod-ml-3a541375[0m]有一个类型为[1mPending[0m]的事件
搜索问题我在ubuntus终端上运行了microk8s kubectl get pods,得到:
正如你所看到的,pod的名称在日志中几乎完全相同(除了开始时的1m)但是状态是ErrImageNeverPull
。我在互联网上找不到任何关于该状态或错误的信息,除了“KubernetesPodOperator的默认超时为120秒,这可能会导致在下载更大的图像之前发生超时。”我将默认超时更改为600秒,但不起作用。t他解决了这个问题
Microk8s无法访问docker。我通过运行Microk8s.inspect
并获取
WARNING: Docker is installed.
File "/etc/docker/daemon.json" does not exist.
You should create it and add the following lines:
{
"insecure-registries" : ["localhost:32000"]
}
and then restart docker with: sudo systemctl restart docker
Building the report tarball
Report tarball is at /var/snap/microk8s/1320/inspection-report-20200415_141500.tar.gz
按照警告所述操作后,气流设法将图像部署到pod中。问题
Microk8s无法访问docker。我通过运行Microk8s.inspect
并获取
WARNING: Docker is installed.
File "/etc/docker/daemon.json" does not exist.
You should create it and add the following lines:
{
"insecure-registries" : ["localhost:32000"]
}
and then restart docker with: sudo systemctl restart docker
Building the report tarball
Report tarball is at /var/snap/microk8s/1320/inspection-report-20200415_141500.tar.gz
按照警告所说的操作后,气流设法将图像部署到吊舱中。这回答了你的问题吗?@mdaniel我以前看到过,但不是因为我没有在VM中运行,我没有使用minikube,
docker env
不是Microk8s的子域名,请尝试将imagePullPolicy:Never
添加到吊舱规范中,并让我们知道如果可以的话。@HelloWorld老实说,我不知道在哪里添加它microk8s的配置文件与该线程中显示的配置文件不同,这是否回答了您的问题?@mdaniel我以前看到过,但不是因为我没有在VM中运行,我没有使用minikube,docker env
不是microk8s的子域,请尝试添加imagePullP策略:永远不要
到你的pod规范中,让我们知道它是否有效。@HelloWorld老实说不知道在哪里添加它microk8s的配置文件与该线程中显示的配置文件不同