Ошибка копирования pip.conf из корзины в Cloud Composer Среда воздушного потока - PullRequest
1 голос
/ 06 февраля 2020

Аналогично этому одинокому вопрошающему Я пытаюсь установить Python пакет из частного репозитория PyPI, чтобы он был доступен для нашего экземпляра Google Cloud Composer Airflow.

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

No module named 'foopackage'

Я не могу найти ссылку на мой pip.conf ни в одном журнале нигде поэтому я не уверен, находится ли файл в нужном месте или имеет правильное содержимое.

Как я могу продолжить отладку этой проблемы?


The Cloud Журналы среды Composer показывают, что была проблема с копированием pip.conf из корзины, но не дают никаких других подробностей:

{
 insertId: "16qa4c8g540zxs3"  
 logName: "projects/{my-env}/logs/composer-agent"  
 receiveTimestamp: "2020-02-06T15:59:03.164564368Z"  

resource: {…}  
 severity: "ERROR"  
 textPayload: "Copying gs://{my-bucket}/config/pip/pip.conf...
"  
 timestamp: "2020-02-06T15:59:00.857642186Z"  
}

Сначала я подумал, что это может быть проблема с разрешениями, но Файл, похоже, имеет те же права доступа, что и другие файлы в этом сегменте.

Где можно получить более подробную информацию о том, что пошло не так при копировании этого файла?

update

Я нахожусь на composer-1.7.2-airflow-1.10.2.

обновление

Учетная запись службы для моей среды Composer уже имеет роль project.editor.

1 Ответ

0 голосов
/ 10 февраля 2020

Это показатель того, что образ Docker, используемый для веб-сервера, не был создан. Чтобы найти причину root, просмотрите журналы Cloud Build в проекте.

Причиной этого является сбой или длительная операция, время ожидания которой истекло на бэкэнде Composer. В некоторых случаях эти ошибки сохраняются в бэкэнде, блокируя будущие попытки. Вы можете попробовать повторно включить API:

Первое решение, которое мне приходит в голову, - это запуск следующих команд в облачной оболочке:

gcloud services disable composer.googleapis.com
gcloud services enable composer.googleapis.com

После включения API обновите Composer. среда как обычно.

При установке пакетов среда Composer повторно создает Docker контейнеры для работников и планировщика Airflow, а затем выполняет непрерывное обновление в кластере GKE, чтобы обновить работников, чтобы сохранить работников доступный. Вы можете проверить Kubernetes Engine > Workloads, чтобы узнать, истекло ли время в вашей среде из-за ожидания того, что планировщик и рабочие вернутся в оперативный режим.

Когда среда Composer использует учетную запись настраиваемой службы и не имеет IAM доступ к использованию Cloud Build, сборки не удастся немедленно, поэтому, пожалуйста, проверьте это. Вы можете диагностировать их, перейдя к Cloud Build > History, и когда вы видите сборки без журнала, это означает, что сборки не удалось выполнить даже до попытки создания контейнера.

Когда ваш пакет реализует привязки, он не будет работать во время выполнения если библиотеки не существуют в системе. Это означает, что он несовместим с Cloud Composer, поскольку получение общих библиотек в среду сборки в настоящее время не поддерживается.

Еще одна вещь, убедитесь, что ваш проект упакован в правильном порядке. Я надеюсь, что вы найдете вышеупомянутую информацию полезной.

...