gpt4 book ai didi

azure - 通过 Terraform 创建 Azure Windows VM

转载 作者:行者123 更新时间:2023-12-04 17:45:18 24 4
gpt4 key购买 nike

在 Azure 中,我尝试使用 Terraform 创建 Windows VM。我之前已经使用 Template.json 文件通过 Powershell 完成了此操作。现在我要处理 terraform,我对它完全陌生。因此,我搜索了一些在Azure中创建VM的示例脚本,并发现this

在此链接中,有一个用于启动 Linux VM 的示例 Terraform 脚本。但我需要从镜像旋转 Windows 虚拟机。我应该在哪里提供图像详细信息。我的完整要求是:

  1. 从镜像创建 Windows 虚拟机(具有资源 ID)
  2. 我已经创建了资源组、虚拟网络、子网。我只需要传递这些值(value)观并创造它们。
  3. 我们已经从门户本身定义了子网地址前缀、Vnet 地址空间。那么我是否必须在脚本中再次给出或者我可以跳过它。
  4. 业务要求是任何虚拟机都不应具有公共(public) IP 和 DNS 名称,因此如果我删除“# Create public IPs”部分,是否不会创建公共(public) IP?

创建Linux机器的脚本是here ,我将其作为引用。

最佳答案

下面是如何使用数据来使用 terraform 中现有资源的示例,还有一个用于创建 Windows VM 的代码块。您需要获取现有的 VNET 并创建 NIC

使用数据指令获取 VNET azurerm_virtual_network,您可以看到以下资源组的语法。您需要将资源组和可能的位置添加到此 block 中。

使用 VNET ID 创建 azurerm_network_interface 资源

将网络接口(interface) ID 添加到虚拟机 (network_interface_ids = [])

Example TF Code to Create and load balance VMs

variable "subscription_id" {}
variable "client_id" {}
variable "client_secret" {}
variable "tenant_id" {}

provider "azurerm" {
tenant_id = "${var.tenant_id}"
subscription_id = "${var.subscription_id}"
client_id = "${var.client_id}"
client_secret = "${var.client_secret}"
}

data "azurerm_resource_group" "resource_group" {
name = "learning-tf-web-rg"
}


resource "azurerm_virtual_machine" "web_server" {
name = "server"
location = "westus2"
resource_group_name = "${data.azurerm_resource_group.resource_group.name}"
network_interface_ids = []
vm_size = "Standard_B2s"

storage_image_reference {
publisher = "MicrosoftWindowsServer"
offer = "WindowsServer"
sku = "2016-Datacenter-Server-Core-smalldisk"
version = "latest"
}

storage_os_disk {
name = "server-os"
caching = "ReadWrite"
create_option = "FromImage"
managed_disk_type = "Standard_LRS"
}

os_profile {
computer_name = "server"
admin_username = "server"
admin_password = "Passw0rd1234"

}

os_profile_windows_config {
}

}

关于azure - 通过 Terraform 创建 Azure Windows VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52419444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com