Вариант контейнера модели публикации веб-приложения Azure не работает с Terraform

Я хочу создать веб-приложение с контейнером в качестве модели публикации с использованием Terraform. Единственный вариант, который я нашел в документации Terraform, — это использовать ресурс azurerm_linux_web_app с блоком application_stack, но я получил ошибку, что это неподдерживаемый тип блока. Как я могу указать Azure, чтобы она предоставила веб-приложению модель container, а не code публикации, используя Terraform? У меня есть общедоступный образ Docker, и я буду ссылаться на него в своей службе приложений. Я очень ценю любую помощь, которую вы можете оказать.

моя версия терраформа v1.9.2
мой хашикорп/азурерм ~> 3.0

Ошибка:

│ Error: Unsupported block type
│ 
│   on main.tf line 122, in resource "azurerm_linux_web_app" "app":
│  122:   application_stack{
│ 
│ Blocks of type "application_stack" are not expected here.

main.tf

resource "azurerm_linux_web_app" "app" {
  name                = "${var.app_service_name_prefix}${random_string.random.result}"
  location            = data.azurerm_resource_group.rg.location
  resource_group_name = data.azurerm_resource_group.rg.name
  service_plan_id     = azurerm_service_plan.asp.id

  application_stack{
    docker_image_name = var.docker_image_name
    docker_registry_url = var.docker_registry_url
  }

  app_settings = {
    "STORAGE_CONNECTION_STRING"  = azurerm_storage_account.storage.primary_connection_string
  }

}

Версия вашего провайдера, вероятно, отличается от той, которую вы ожидаете. Вы можете выполнить terraform providers в корневом модуле для подтверждения.

Matthew Schuchard 14.07.2024 16:42
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ошибка:Unsupported block type

Блок Application_stack поддерживается только в более старых версиях поставщика terraform Azurerm. В качестве обходного пути для предоставления веб-приложению образа Docker контейнера вы можете включить linux_fx_version = "DOCKER|<dockerimage>" в блок site_config = {}, как показано ниже.

Обратитесь к SO от @Nancy Xiong, чтобы узнать о соответствующем подходе.

terraform {
  required_providers {
    azurerm = {
      source = "hashicorp/azurerm"
      version = "3.112.0"
    }
  }
}
provider "azurerm"{
features{}
}
data "azurerm_resource_group" "main" {
 name = "Jahnavi"
 }
 resource "azurerm_service_plan" "example" {
  name                = "example"
  resource_group_name = data.azurerm_resource_group.main.name
  location            = data.azurerm_resource_group.main.location
  os_type             = "Linux"
  sku_name            = "P1v2"
}

resource "azurerm_linux_web_app" "app" {
  name                = "examplejahapps"
  location            = data.azurerm_resource_group.main.location
  resource_group_name = data.azurerm_resource_group.main.name
  service_plan_id     = azurerm_service_plan.example.id
  site_config{
    linux_fx_version = "DOCKER|<dockerimagepath>"
  }
}

Я попробовал это, но последняя версия linux_fx_version не поддерживается. и я не могу понизить рейтинг. Мои версии упомянуты в посте.

Abubakar Riaz 20.07.2024 15:57

3.112.0 сделал свое дело

Abubakar Riaz 20.07.2024 16:01

Другие вопросы по теме

Похожие вопросы

Развертывание Docker Compose в Azure
Как использовать токен доступа для создания сеанса клерка?
Не удается загрузить файл в исходную группу Azure Front Door из-за задержки?
Как получить метаданные (список общих файловых ресурсов) учетной записи хранения и настроить действие копирования данных для копирования черно-белых учетных записей хранения в ADF?
Дополнительные файлы (блочные BLOB-объекты), создаваемые при копировании хранилища BLOB-объектов в ADF
Невозможно найти модуль «../server/require-hook» Развертывание веб-приложения Nextjs Azure с помощью действий GitHub
Как очистить определенную папку при развертывании в эту папку с помощью «az webapp Deploy»
Приложение Nuxt 3 развернуто в Azure. Переменные среды игнорируются в разделе nitro файла nuxt.config.ts
SQL позволяет вставлять повторяющиеся данные, когда две вставки выполняются почти одновременно
Чтение настроек диагностики Azure Entra ID