Почему бы вам не запускать стручки Kubernetes более часа от Composer? - PullRequest
0 голосов
/ 25 октября 2018

В документации Cloud Composer прямо говорится, что:

Из-за проблемы с клиентской библиотекой Kuthonnetes Python ваши модули Kubernetes должны разрабатываться не более часа.для запуска.

Тем не менее, он не предоставляет больше контекста, чем это, и я не могу найти абсолютно актуальную проблему в клиентском проекте Kubernetes Python.

Для тестированияэто я пробежал капсулу в течение двух часов и не увидел никаких проблем.Какая проблема создает это ограничение и как оно проявляется?

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Есть и другие идеи и здесь .

В настоящее время длительные задания в GKE всегда в конечном итоге завершаются с ошибкой 404 (https://bitbucket.org/snakemake/snakemake/issues/932/long-running-jobs-on-kubernetes-fail). Мы считаем, чтопроблема в клиенте Kubernetes, так как мы определили, что хотя _refresh_gcp_token вызывается по истечении срока действия токена, следующий вызов API по-прежнему завершается с ошибкой 404.

Вы можете увидеть здесь что Snakemake использует Python-клиент kubernetes.

0 голосов
/ 02 ноября 2018

https://issues.apache.org/jira/browse/AIRFLOW-3253 является причиной (и, надеюсь, мое исправление скоро будет объединено).Как и предполагали другие, это касается любого, кто использует клиент Python Kubernetes с аутентификацией GCP.Если вы проходите проверку подлинности с помощью учетной записи службы Kubernetes, у вас не должно возникнуть никаких проблем.

Если вы проходите проверку подлинности с помощью учетной записи службы GCP с помощью gcloud (например, с помощью GKEPodOperator), вы, как правило, увидите эту проблему с заданиями, которые занимаютболее часа, поскольку срок действия токена истекает через час.

0 голосов
/ 25 октября 2018

Я не очень хорошо знаком с экосистемами клиентской библиотеки Cloud Composer или Kubernetes Python, но сортировка средства отслеживания проблем GitHub по большинству комментариев показывает этот открытый элемент в верхней части списка: https://github.com/kubernetes-client/python/issues/492

Похоже, существует проблема с истечением срока действия токена:

@ yliaog Это проблема для нас, так как мы запускаем модули kubernetes в виде пакетных процессов и отслеживаем состояние модулей с помощью статического клиента.После инициализации объекта client он не обновляется, и поэтому любое задание, которое занимает более 60 минут, не будет выполнено.Просматривая python-base, кажется, что мы могли бы создать класс-обертку, который генерирует нового клиента (или обновляет конфигурацию) каждые n минут или проверяет состояние перед каждым вызовом (как предложено @mvle).Лучшее решение было бы в swagger-codegen, но временное решение, вероятно, было бы очень полезно для многих людей.

- @flylo, https://github.com/kubernetes-client/python/issues/492#issuecomment-376581140

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