Terraform无法在Azure上创建免费Web应用程序

fruv7luv  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(156)

尝试设置我的第一个网络应用程序使用terraform在Azure上使用那里freetier。
可以创建资源组和应用程序服务计划,但应用程序创建时出现错误,显示:creating Linux Web App: (Site Name "testazurermjay" / Resource Group "test-resources"): web.AppsClient#C. Status=<nil> <nil>
下面是terraform main.tf文件:

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "test" {
  name     = "test-resources"
  location = "Switzerland North"
}

resource "azurerm_service_plan" "test" {
  name                = "test"
  resource_group_name = azurerm_resource_group.test.name
  location            = "UK South" #azurerm_resource_group.test.location 
  os_type             = "Linux"
  sku_name            = "F1"
}

resource "azurerm_linux_web_app" "test" {
  name                = "testazurermjay"
  resource_group_name = azurerm_resource_group.test.name
  location            = azurerm_service_plan.test.location
  service_plan_id     = azurerm_service_plan.test.id

  site_config {}
}

一开始我认为nameazurerm_linux_web_app的问题,所以我把它从test改成了testazurermjay,但是这不能工作。

gzszwxb4

gzszwxb41#

我能够让它工作但是我必须使用一个名为azurerm_app_servicedepreciated资源而不是azurerm_linux_web_app。我还必须确保我的resource-groupapp service plan在同一个位置。当我最初尝试将资源组和应用程序计划都设置为Switzerland North时,在创建应用程序服务计划时会给予错误(这就是为什么我在原始问题中将计划更改为UK South的原因)。但是-在我将BOTH**资源组和应用服务计划设置为UK South后,可以在同一位置创建它们。然后,我使用azurerm_app_service通过site_config对象中的use_32_bit_worker_process = true变量创建自由层服务。
下面是完整的地形文件:

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "test" {
  name     = "test-resources"
  location = "UK South"
}

resource "azurerm_service_plan" "test" {
  name                = "test"
  resource_group_name = azurerm_resource_group.test.name
  location            = azurerm_resource_group.test.location 
  os_type             = "Linux"
  sku_name            = "F1"
}

resource "azurerm_app_service" "test" {
  name                = "sofcvlepsaipd"
  location            = azurerm_resource_group.test.location
  resource_group_name = azurerm_resource_group.test.name
  app_service_plan_id = azurerm_service_plan.test.id

  site_config {
    use_32_bit_worker_process = true
  }
}

我必须强调,这不是最佳做法,因为azurerm_app_service将在下一版本中删除。这似乎表明Terraform将无法在下一次更新中创建免费的层应用程序服务。

如果有人知道如何用azurerm_linux_web_app来做这件事,或者知道更好的方法来做这件事,让我知道。

izkcnapc

izkcnapc2#

我刚刚遇到了一个类似的问题,“always_on”设置默认为true,但自由层不支持此设置。

resource "azurerm_linux_web_app" "test" {
  name                = "testazurermjay"
  resource_group_name = azurerm_resource_group.test.name
  location            = azurerm_service_plan.test.location
  service_plan_id     = azurerm_service_plan.test.id

  site_config {
    always_on = false
   }
}

相关问题