Как перезапустить веб-сервер с управляемым воздушным потоком в Google Composer - PullRequest
0 голосов
/ 08 января 2019

Я использую Google Composer, однако из-за того, что пытаюсь создать динамически созданную группу обеспечения доступности баз данных, я не могу использовать управляемый веб-сервер [1]. Итак, в конце мне нужно добавить плагины, потому что мне нужен доступ к веб-серверу Airflow с использованием REST API, поэтому я устанавливаю следующие плагины, потому что экспериментального REST API недостаточно для моего случая [2]:

Мой управляемый веб-сервер Airflow смог получить изменения, когда я обновил свои плагины. Однако мой самоуправляемый Airflow Webserver не смог принять изменения.

Я понимаю, что мне нужно перезапустить мой Airflow Webserver, однако кажется, что мои модули не перезапускаются после выполнения этой команды:

kubectl get deploy airflow-webserver -o yaml | kubectl replace --force -f -

Для справки мой deploy.yaml можно увидеть, если вы выполняете шаги, упомянутые в [3].

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

[1] Динамическое создание группы доступности базы данных на основе строки, доступной для подключения к базе данных

[2] https://github.com/apache/airflow/blob/master/docs/api.rst

[3] https://cloud.google.com/composer/docs/how-to/managing/deploy-webserver

1 Ответ

0 голосов
/ 10 января 2019

Эта проблема уже решена путем создания новой среды, а затем переноса всех данных в новую среду с использованием [1], текущая версия - 1.4.1 (предыдущая версия, которую я использую, - 1.3.0). Информацию о выпуске можно найти в [2]. Плагины можно установить, скопировав каталог плагинов в каталог плагинов с помощью gcsfuse или с помощью веб-консоли.

Если вы используете плагины для своего веб-сервера, это означает, что ваша конечная точка также защищена IAP. Для доступа к нему программно вы можете использовать служебную учетную запись [3].

[1] https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/composer/tools/copy_environment.py

Обратите внимание, что при использовании бета-версии. Тот, который создан с помощью следующей команды:

gcloud beta composer environments create <env> --location=<location> --airflow-version <version> --node-count <node-count>

Сначала вы должны создать окружение, а затем запустить предоставленный мной скрипт, поскольку эта бета-версия доступна на v1beta1. Между тем скрипт поддерживает только API v1.

Обратите также внимание, что если вы сами используете другие ресурсы k8s в старой среде, это не будет поддержано упомянутым мною сценарием. Сценарий только создает резервную копию всей конфигурации вашего воздушного потока, то есть: DB, DAG и журналы. Поэтому, если вы используете веб-сервер с самостоятельным управлением, вам необходимо заново создать развертывание для этого веб-сервера.

[2] https://cloud.google.com/composer/docs/release-notes

[3] https://cloud.google.com/iap/docs/authentication-howto

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...