【问题标题】:Triggering Azure Container Instance group to start every day每天触发 Azure 容器实例组启动
【发布时间】:2019-07-06 11:41:31
【问题描述】:

我正在使用 Terraform 设置一个基础架构,我想在其中每天运行一个 Docker 容器(使用 ACI),每次都使用相同的(默认)命令。

我最初的想法是使用 Terraform 来配置一个 Container Group 资源,然后我剩下的唯一任务就是确保它每天都启动。但是,我无法弄清楚如何最简单地做到这一点。

目前,我尝试使用逻辑应用,但找不到正确的操作。理想情况下,容器组有一个可以触发它启动的 Web 挂钩,或者逻辑应用有一个可以运行 Azure CLI 命令的操作。

有什么意见吗?

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
}

【问题讨论】:

  • 我正在尝试做类似的事情。为什么在 Azure 中每天只运行一次 Docker 映像如此困难?在文档中,我不断得到淡化的解决方法。你找到解决办法了吗?

标签: azure terraform azure-container-service terraform-provider-azure azure-container-instances


【解决方案1】:

对于容器组,没有webhook来创建触发器让容器组每天启动。据我所知,对于逻辑应用,它不支持运行 Azure CLI 命令。

为了您每天启动容器组的目的。对容器组来说,停止和启动,也意味着创建一个具有相同配置的新容器组。见Manually stop or start containers in Azure Container Instances。根据这一点,在逻辑应用程序中,您可以创建一个时间触发器,该触发器创建容器组并稍后将其删除,然后每天重复触发器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多