首页 > 解决方案 > Terraform 为 linux 容器创建应用服务

问题描述

我大家。我正在尝试使用 terraform 为我的 docker 映像创建一个 azure 应用程序服务,但显然即使我app_service_plan的配置为用于 linux 环境,默认情况下也会为 Windows 创建此资源。我的配置如下:

resource "azurerm_app_service_plan" "ASP-name" {
  location = var.location
  name = "ASP-name"
  resource_group_name = <resource-group>
  is_xenon = false
  kind = "Linux"
  maximum_elastic_worker_count = 1
  per_site_scaling = false
  reserved = true
  sku {
    capacity = 1
    size = "P1v2"
    tier = "PremiumV2"
  }
}

resource "azurerm_app_service" "app-name" {
  app_service_plan_id = azurerm_app_service_plan.ASP-name.id
  location = var.location
  name = "app-name"
  resource_group_name = <resource-group>
  app_settings = {
    ASPNETCORE_ENVIRONMENT = "Production"
    "DOCKER_REGISTRY_SERVER_PASSWORD"           = "value"
    "DOCKER_REGISTRY_SERVER_URL"                = "value"
    "DOCKER_REGISTRY_SERVER_USERNAME"           = "value"
  }
  client_affinity_enabled = false
  client_cert_enabled = false
  enabled = true

}

有人可以告诉我我做错了什么吗?

标签: azureazure-devopsterraformterraform-provider-azure

解决方案


此示例预配运行单个 Docker 容器的 Linux 应用服务。您需要为您的 docker 镜像提供linux_fx_version.

resource "azurerm_app_service_plan" "ASP-name" {
  location = var.location
  name = "ASP-name"
  resource_group_name = <resource-group>

  kind = "Linux"
  maximum_elastic_worker_count = 1
  per_site_scaling = false
  reserved = true
  sku {
    capacity = 1
    size = "P1v2"
    tier = "PremiumV2"
  }
}

resource "azurerm_app_service" "app-name" {
  app_service_plan_id = azurerm_app_service_plan.ASP-name.id
  location = var.location
  name = "app-name"
  resource_group_name = <resource-group>

  site_config {
  app_command_line = ""
  linux_fx_version = "DOCKER|appsvcsample/python-helloworld:latest"
}

  app_settings = {
   
    "DOCKER_REGISTRY_SERVER_PASSWORD"           = "value"
    "DOCKER_REGISTRY_SERVER_URL"                = "value"
    "DOCKER_REGISTRY_SERVER_USERNAME"           = "value"
  }
  client_affinity_enabled = false
  client_cert_enabled = false
  enabled = true

}

推荐阅读