Я написал небольшой плагин для Apache Airflow, который отлично работает в моем локальном развертывании. Однако, когда я использую Google Composer, пользовательский интерфейс зависает и перестает отвечать на запросы. Есть ли способ перезапустить веб-сервер в Google Composer
Использование плагина в Google Composer приводит к сбою
Ответы (1)
(Примечание: этот ответ в настоящее время скорее наводит на размышления, чем дорабатывает.)
Что касается перезапуска веб-сервера...
Что не работает:
- Я просмотрел веб-интерфейс Airflow в документации. который описывает использование веб-сервера, но без доступа к нему из CLI или перезапуска.
- Хотя вы также можете выполнять команды интерфейса командной строки Airflow в Composer. , сегодня я не вижу команды для перезапуска веб-сервера в интерфейсе командной строки Airflow.
Я проверил интерфейс командной строки gcloud в Google Cloud SDK, но не нашел команды, связанной с перезапуском. Вот несколько идей, которые могут помочь перезапустить веб-сервер Airflow в Composer:
В интерфейсе командной строки gcloud есть команда обновления для изменить свойства среды. Я бы предположил, что он перезапускает планировщик и веб-сервер (в новых контейнерах) после того, как вы измените один из них, чтобы применить новый параметр. Вы можете установить произвольную переменную среды для проверки, но может сработать просто запуск команды обновления без изменений.
Обновление среды gcloud beta composer ...
Кроме того, вы можете обновлять свойства среды, за исключением переменных среды. в консоли GCP.
Я думаю, что повторный запуск команды импорта плагинов также приведет к перезапуску планировщика/веб-сервера.
Плагины хранения сред gcloud beta composer...
В более сложной настройке Composer поддерживает развертывание самоуправляемого Airflow. веб-сервер. Следуя связанному руководству, вы можете: подключиться к кластеру GKE вашего экземпляра Composer, создать файлы конфигурации развертывания и обслуживания Kubernetes для веб-сервера, а также выполнить развертывание с помощью kubectl create
. Затем вы можете запустить kubectl replace
или kubectl delete
в модуле, чтобы запустить новый запуск.
Все это кажется слишком большим, поэтому, надеюсь, появится документация или более простой способ добиться перезапуска веб-сервера, чтобы преуспеть в этих обходных путях.