Konfigurace clusteru virtuálních počítačů Azure s využitím Terraformu

Tento článek ukazuje příklad kódu Terraformu pro vytvoření clusteru virtuálního počítače v Azure.

V tomto článku získáte informace o těchto tématech:

  • Konfigurace clusteru virtuálních počítače Azure

1. Konfigurace prostředí

  • Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

2. Implementace kódu

  1. Vytvořte adresář, ve kterém chcete otestovat ukázkový kód Terraformu, a napište ho jako aktuální adresář.

  2. Vytvořte soubor s názvem a main.tf vložte následující kód:

    module "windowsservers" {
      source              = "Azure/compute/azurerm"
      resource_group_name = azurerm_resource_group.rg.name
      is_windows_image    = true
      vm_hostname         = "mywinvm"                         // Line can be removed if only one VM module per resource group
      admin_password      = "ComplxP@ssw0rd!"                 // See note following code about storing passwords in config files
      vm_os_simple        = "WindowsServer"
      public_ip_dns       = ["winsimplevmips"]                // Change to a unique name per data center region
      vnet_subnet_id      = module.network.vnet_subnets[0]
    
      depends_on = [azurerm_resource_group.rg]
    }
    
    module "network" {
      source              = "Azure/network/azurerm"
      resource_group_name = azurerm_resource_group.rg.name
      subnet_prefixes     = ["10.0.1.0/24"]
      subnet_names        = ["subnet1"]
    
      depends_on = [azurerm_resource_group.rg]
    }
    
    output "windows_vm_public_name" {
      value = module.windowsservers.public_ip_dns_name
    }
    
    output "vm_public_ip" {
      value = module.windowsservers.public_ip_address
    }
    
    output "vm_private_ips" {
      value = module.windowsservers.network_interface_private_ip
    }
    

    Klíčové body:

    • V předchozím příkladu kódu je proměnné pro zjednodušení přiřazena admin_password literálová hodnota. Existuje mnoho způsobů, jak ukládat citlivá data, jako jsou hesla. Rozhodnutí o tom, jak chcete chránit data, vychází z individuálních rozhodnutí týkajících se konkrétního prostředí a úrovně komfortu, které tato data vystavují. Příkladem rizika může být, že uložení takového souboru do správy zdrojového kódu může vést k tomu, že heslo uvidí jiní uživatelé. Další informace o tomto tématu společnost HashiCorp zdokumentuje různými způsoby deklarace vstupních proměnných a technik pro správu citlivých dat (například hesel).

3. Inicializace Terraformu

Spuštěním terraform init init inicializovali nasazení Terraformu.

terraform init

Klíčové body:

  • Tento příkaz stáhne moduly Azure potřebné k vytvoření skupiny prostředků Azure.

4. Vytvoření plánu provádění Terraformu

Spusťte příkaz terraform plan a vytvořte plán spuštění.

terraform plan -out main.tfplan

Klíčové body:

  • Příkaz terraform plan vytvoří plán spuštění, ale nes jeho provedení. Místo toho určuje, jaké akce jsou nezbytné k vytvoření konfigurace zadané v konfiguračních souborech. Tento model umožňuje před provedením jakýchkoli změn skutečných prostředků ověřit, jestli plán provádění odpovídá vašim očekáváním.
  • Volitelný -out parametr umožňuje zadat výstupní soubor pro plán. Použitím parametru zajistíte, že se právě použije plán, který -out jste si prohlédněte.
  • Další informace o zachování plánů provádění a zabezpečení najdete v části s upozorněním zabezpečení.

5. Použití plánu provádění Terraformu

Spuštěním příkazu terraform apply aplikujte plán spuštění na cloudovou infrastrukturu.

terraform apply main.tfplan

Klíčové body:

  • Výše terraform apply uvedený příkaz předpokládá, že jste předtím spustili terraform plan -out main.tfplan příkaz .
  • Pokud jste pro parametr zadali jiný název souboru, použijte stejný název souboru -out ve volání metody terraform apply .
  • Pokud jste parametr -out nepou3/4ít, stačí volat terraform apply bez parametrů.

Řešení potíží s Terraformem v Azure

Řešení běžných problémů při používání Terraformu v Azure

Další kroky