Лучший подход к запуску контейнера из функции Azure

Несколько общих советов и указаний.

Я хочу запустить задачу в контейнере из лазурной функции. Таким образом, либо запускаемая очередью, либо HTTP, функция запускала контейнер, передавая некоторые параметры, и этот контейнер выполнял свою работу, а затем удалялся, поэтому просто платил за время вычислений. Это может происходить параллельно, но каждый раз совершенно независимо от других.

Поэтому я считаю, что могу использовать Powershell с функциями Azure, но я бы предпочел создать функцию С# с помощью шаблона VS. Есть ли SDK, который позволит мне запускать контейнеры в С#? Может ли кто-нибудь указать мне на доки?

Я знаю, что существуют фреймворки для оркестровки (может быть, слишком сложные) и есть пакетные задания, которые запустят одно, но мне кажется, что мне нужен очень простой подход?

Одна из проблем с Azure — слишком большой выбор!

заранее спасибо Павел


person paulinventome    schedule 29.05.2018    source источник
comment
Вы ДЕЙСТВИТЕЛЬНО хотите использовать для этого функцию Azure? Я думаю, что использование приложения Azure Logic имеет больше смысла. Здесь можно найти вдохновение: blogs.technet.microsoft.com/uktechnet/2018/04/04/   -  person Jan_V    schedule 29.05.2018
comment
Возможно, вы могли бы использовать ACI. Взгляните на эту запись в блоге.   -  person Mikhail Shilkov    schedule 29.05.2018
comment
Ян - да, я думаю, я мог бы использовать ALA (я не изучал их). Просто лазурные функции казались довольно легкими и простыми в настройке — в чем, по вашему мнению, будут различия между приложением Logic и функциями?   -  person paulinventome    schedule 29.05.2018
comment
Михаил, спасибо за этот пост, кажется, он охватывает многое из того, что я ищу, очень ценю это.   -  person paulinventome    schedule 29.05.2018
comment
Вы не сможете сделать это в Функциях Azure. Я бы посоветовал вам взглянуть на что-то вроде рекомендации ACI выше.   -  person Fabio Cavalcante    schedule 30.05.2018


Ответы (2)


Я предлагаю использовать триггер HTTP для вызова функции Azure для запуска экземпляра контейнера Azure с помощью SDK ACI.

Вот хороший пример пошаговое руководство.

Удачи.

person Lou O.    schedule 11.07.2019

Один из способов — использовать K8s CronJob.

  1. Создание службы Kubernetes в Azure
  2. Открыть облачную оболочку
  3. Выберите Баш
  4. az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
  5. рабочие места
  6. cd рабочие места
  7. nano cronjob.yaml и вставьте приведенный ниже образец со своими данными.
  8. Ctrl+X
  9. kubectl применить -f .
  10. kubectl получить cronjobs
  11. После применения определения yaml он должен ответить созданием, а команда в точке 10 покажет расписание cronjob.

Вот ссылка и пример: https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/

*ниже yaml не хочет правильно форматировать *

apiVersion: batch/v1beta1 type: CronJob метаданные: name: some-cronjob spec: schedule: "0 * * * *" jobTemplate: spec: template: spec: restartPolicy: Never containers: - name: some-job image: someuser/someimage env: - имя: SOMESETTING значение: какое-то значение

person Anton Swanevelder    schedule 11.07.2019