Запуск группы экземпляров контейнера Azure для запуска каждый день - PullRequest
0 голосов
/ 06 июля 2019

Я использую Terraform для настройки инфраструктуры, в которой я хочу запускать Docker-контейнер (используя ACI) каждый день, используя одну и ту же (по умолчанию) команду каждый раз.

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

В настоящее время я пытаюсь использовать приложения логики, но я не могу найти правильное действие. В идеале у группы контейнеров должен быть веб-хук, который может запускать ее, или у логических приложений должно быть действие, которое может запускать команды CLI Azure.

Любой ввод?

provider "azure" {

}

resource "azurerm_resource_group" "test" {
  name     = "testResourceGroup1"
  location = "North Europe"
}

data "azurerm_container_registry" "test" {
  name                = "..."
  resource_group_name = "..."
}

resource "azurerm_container_group" "example" {
  name                = "example-continst"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  os_type             = "Linux"
  ip_address_type     = "Public"
  restart_policy      = "Never"

  image_registry_credential {
    username = "${data.azurerm_container_registry.test.admin_username}"
    password = "${data.azurerm_container_registry.test.admin_password}"
    server = "${data.azurerm_container_registry.test.login_server}"
  }

  container {
    name   = "main"
    image  = "${data.azurerm_container_registry.test.login_server}/compute-instance"
    cpu    = "1.0"
    memory = "1.0"

    ports {
      port     = 443
      protocol = "TCP"
    }
  }
}

resource "azurerm_logic_app_workflow" "test" {
  name                = "workflow1"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
}

resource "azurerm_logic_app_trigger_recurrence" "test" {
  name         = "run-every-day"
  logic_app_id = "${azurerm_logic_app_workflow.test.id}"
  frequency    = "Day"
  interval     = 1
}

1 Ответ

1 голос
/ 08 июля 2019

Для группы контейнеров нет веб-крюка для создания триггера, позволяющего запускать группу контейнеров каждый день. Для приложения логики, как я знаю, оно не поддерживает запуск команд Azure CLI.

Для вашей цели - запуск группы контейнеров каждый день. Для группы контейнеров остановка и запуск также означает создание новой группы контейнеров с такой же конфигурацией. См. Ручная остановка или запуск контейнеров в экземплярах контейнеров Azure . В соответствии с этим и в приложении логики вы можете создать временный триггер, который создает группу контейнеров и позже удаляет ее, а затем повторяет триггер каждый день.

...