Puncte:0

Cum să setați logica pentru a crea mai multe mașini pe azure folosind terraform?

drapel cn

Mai jos este șablonul pe care îl am pentru azure VM.

În Google cloud, avem opțiunea de a seta numărul pentru crearea mai multor mașini, după cum am auzit.

Cum să creați mai multe mașini folosind un singur șablon, astfel încât, pe baza valorii variabile, să fie create acele multe mașini.

Exemplu de șablon pentru mașina virtuală Azure Windows Server.

URL github: legătură

Vreau să păstrez acest repo permanent public, așa că nu postez fișierele directe aici.

drapel cn
Începeți prin a arunca o privire la documentația oficială la https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs
drapel cn
Și, de asemenea, citiți despre meta-argumentul count la https://www.terraform.io/language/meta-arguments/count
Sara June avatar
drapel cn
Mulțumesc pentru răspuns, deoarece puteți observa detaliile, acea opțiune pare să fie disponibilă numai pentru Google cloud, nu pentru azure.
drapel cn
Argumentele Meta sunt disponibile pentru toate modulele, așa că nu sunt sigur că vă înțeleg. La naiba există chiar și un exemplu cu servere Windows aici -> https://buildvirtual.net/terraform-count-examples/... Chiar trebuie să vă editați întrebarea cu un exemplu despre ceea ce faceți și ce eroare întâmpinați.
Puncte:2
drapel jp

O modalitate prin care puteți realiza acest lucru este să declarați proprietățile ca variabile și să le folosiți ca argumente pentru for_each în definiția resursei.

Vezi exemplu aici: https://stackoverflow.com/a/64462458/11942781

Puncte:0
drapel cn

Iată un exemplu aproximativ de lucru despre cum ați putea folosi meta-argumentul „count” cu azurerm_windows_virtual_machine:

furnizorul „azurerm” {
  Caracteristici {}
}
resursă „șir_aleatoriu” „nume utilizator” { lungime = 8 }
resursă „parolă_aleatorie” „parolă” { lungime = 24 }

resursa „azurerm_resource_group” „rg” {
  nume = "numărare-test-win"
  locație = "nordeurope"
}
# Setați numărul de mașini virtuale pe care doriți
variabila „vm_count” {
  implicit = 4
}

resursa „azurerm_virtual_network” „test” {
  nume = "rețea-test"
  adresa_spațiu = ["10.0.0.0/16"]
  locație = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
}

resursa „azurerm_subnet” „test” {
  nume = "intern"
  resource_group_name = azurerm_resource_group.rg.name
  virtual_network_name = azurerm_virtual_network.test.name
  address_prefixes = ["10.0.2.0/24"]
}

resursa „azurerm_network_interface” „nic” {
  count = var.vm_count
  nume = "nic-${count.index}"
  locație = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name

  ip_configuration {
    nume = "intern"
    subnet_id = azurerm_subnet.test.id
    private_ip_address_allocation = „Dinamic”
  }
}

resursă „azurerm_windows_virtual_machine” „vm” {
  count = var.vm_count
  nume = "win-vm-${count.index}"
  resource_group_name = azurerm_resource_group.rg.name
  locație = azurerm_resource_group.rg.location
  dimensiune = „Standard_F2”
  admin_username = random_string.username.result
  admin_password = parola_aleatorie.parola.rezultat
  network_interface_ids = [azurerm_network_interface.nic[count.index].id]

  os_disk {
    cache = „Citește scriere”
    storage_account_type = „Standard_LRS”
  }

  source_image_reference {
    editor = „MicrosoftWindowsServer”
    oferta = "WindowsServer"
    sku = „2016-Datacenter”
    versiune = "cel mai recent"
  }
}

Deși ți-aș sugera să te uiți la scrierea propriului modul sau să te uiți la utilizarea Virtual Machine Scale Sets și să stabilești dacă este mai potrivit pentru cazul tău de utilizare la https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview

Documentația aferentă modulului azurerm pentru versiunea Windows, poate fi găsită la https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_virtual_machine_scale_set

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.