Как запустить пакетное задание на azure кубернетах - PullRequest
0 голосов
/ 09 июля 2020

Каков самый простой способ запустить контейнерное пакетное задание, написанное на C#, в Azure Kubernetes Service?

Этот вопрос предназначен специально для AKS. Итак, я не ищу, чтобы он работал как Azure контейнерный экземпляр или бессерверным способом в Azure.

1 Ответ

1 голос
/ 09 июля 2020

Вы можете использовать задание kubernetes .

Задание создает один или несколько подов и гарантирует, что указанное количество из них успешно завершится. Когда модули успешно завершаются, задание отслеживает успешные завершения. Когда будет достигнуто указанное количество успешных завершений, задача (ie, Job) будет завершена. Удаление задания приведет к очистке созданных им модулей.

Простым случаем является создание одного объекта задания, чтобы надежно запустить один модуль до завершения. Объект Job запустит новый Pod, если первый Pod выйдет из строя или будет удален (например, из-за аппаратного сбоя узла или перезагрузки узла).

Вы также можете использовать задание для параллельного запуска нескольких Pod.

Вот пример конфигурации задания. Он вычисляет π до 2000 знаков и распечатывает его. Для завершения требуется около 10 секунд.

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never
  backoffLimit: 4

Если вы хотите запускать пакетное задание по повторяющемуся расписанию, используйте kubernetes cronjob

...