Airflow KubernetesPodOperator AirflowException ('Ошибка запуска Pod: {error}'. Формат (error = ex)) - PullRequest
1 голос
/ 15 апреля 2020

Я использую KubernetesPodOperator с обычным docker изображением, которое было импортировано с microk8s. При запуске DAG в потоке воздуха я вижу следующий журнал до тех пор, пока не получу сообщение об истечении времени ожидания AirflowException('Pod Launching failed: {error}'.format(error=ex))

[2020-04-14 23:06:39,875] {logging_mixin.py:95} INFO - [[34m2020-04-14 23:06:39,875[0m] {[34mpod_launcher.py:[0m141} INFO[0m - Event: [1mk8s-pod-ml-3a541375[0m had an event of type [1mPending[0m[0m

В поисках проблемы я запустил microk8s kubectl get pods на терминале Ubuntus и получил : enter image description here

, как вы можете видеть, название стручка почти точно такое же в журналах (кроме 1 м в начале), но статус ErrImageNeverPull. Я не смог найти в интернете ничего, касающегося этого состояния или ошибки, за исключением этого с надписью ' Время ожидания по умолчанию для KubernetesPodOperator составляет 120 секунд, что может привести к тайм-аутам, возникающим до загрузки больших изображений. 'Я изменил тайм-аут по умолчанию на 600 секунд, но он не работал.

1 Ответ

0 голосов
/ 16 апреля 2020

Проблема

У 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

После того, как в качестве предупреждения упомянутому воздушному потоку удалось развернуть образ в модуле.

...