azure terraform 将 azure 文件共享附加到 Windows 机器

Posted

技术标签:

【中文标题】azure terraform 将 azure 文件共享附加到 Windows 机器【英文标题】:azure terraform attaching azure file share to windows machine 【发布时间】:2019-07-15 23:58:01 【问题描述】:

问题陈述 我正在创建 Windows 操作系统的 Azure VM 集群。到目前为止,我可以创建 Azure 文件共享。和天蓝色的 Windows 集群。我想将创建的文件共享附加到集群中的每个 VM。无法找到如何在 Windows VM 上添加相同内容的参考。

代码

resource "azurerm_storage_account" "main" 
  name                     = "stor$var.environment$var.cost_centre$var.project"
  location                     = "$azurerm_resource_group.main.location"
  resource_group_name          = "$azurerm_resource_group.main.name"
  account_tier             = "$var.storage_account_tier"
  account_replication_type = "$var.storage_replication_type"



resource "azurerm_storage_share" "main" 
  name = "storageshare$var.environment$var.cost_centre$var.project"

  resource_group_name  = "$azurerm_resource_group.main.name"
  storage_account_name = "$azurerm_storage_account.main.name"

  quota = "$var.storage_share_quota"


resource "azurerm_virtual_machine" "vm" 
  name                  = "vm-$var.location_id-$var.environment-$var.cost_centre-$var.project-$var.seq_id-$count.index"
  location              = "$azurerm_resource_group.main.location"
  resource_group_name   = "$azurerm_resource_group.main.name"
  availability_set_id   = "$azurerm_availability_set.main.id"
  vm_size               = "$var.vm_size"
  network_interface_ids = ["$element(azurerm_network_interface.main.*.id, count.index)"]
  count                 = "$var.vm_count"

  storage_image_reference 
    publisher = "$var.image_publisher"
    offer     = "$var.image_offer"
    sku       = "$var.image_sku"
    version   = "$var.image_version"
  

  storage_os_disk 
    name          = "osdisk$count.index"
    create_option = "FromImage"
  

  os_profile 
    computer_name  = "$var.vm_name-$count.index"
    admin_username = "$var.admin_username"
    admin_password = "$var.admin_password"
  

  os_profile_windows_config 

  depends_on = ["azurerm_network_interface.main"]


【问题讨论】:

【参考方案1】:

Azure 不提供类似的功能,因此您无法在本地执行此操作,您需要创建一个脚本并在 vm 上运行该脚本使用脚本扩展名\dsc 扩展名,或者如果 terraform 支持 - 使用 terraform。

https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux

【讨论】:

以上是关于azure terraform 将 azure 文件共享附加到 Windows 机器的主要内容,如果未能解决你的问题,请参考以下文章

azure terraform 将 azure 文件共享附加到 Windows 机器

在 azure 后端存储中使用状态文件将 terraform 的输出传递到 Azure Devops Pipeline

Terraform - 将类型对象作为参数传递给 Azure 模板部署

terraform 模块依赖于 Azure

使用 Terraform 导入 Azure 上的现有资源

如何使用 terraform 将多个 IP 动态添加到 azure servicebus 防火墙