Vytvoření virtuálního počítače na VMware vCenter pomocí Azure Arc
Tento článek popisuje, jak zřídit virtuální počítač pomocí prostředků vCenter z webu Azure Portal.
Vytvořit virtuální počítač na webu Azure Portal
Jakmile správce připojí VMware vCenter k Azure, reprezentuje prostředky VMware vCenter v Azure a poskytne vám oprávnění k těmto prostředkům, vytvoříte virtuální počítač.
Požadavky
- Předplatné Azure a skupina prostředků, kde máte roli přispěvatele virtuálních počítačů Arc VMware.
- Fond zdrojů, cluster nebo hostitel, na kterém máte roli uživatele prostředku privátního cloudu Arc.
- Prostředek šablony virtuálního počítače, na kterém máte roli uživatele prostředku privátního cloudu Arc.
- Prostředek virtuální sítě, na kterém máte roli uživatele prostředku privátního cloudu Arc.
Pokud chcete vytvořit virtuální počítač na webu Azure Portal, postupujte takto:
Z prohlížeče přejděte na web Azure Portal. Přejděte do zobrazení procházení virtuálních počítačů. Uvidíte jednotné prostředí pro procházení virtuálních počítačů Azure a Arc.
V rozevíracím seznamu vyberte Přidat a pak vyberte počítač Azure Arc.
Vyberte předplatné a skupinu prostředků, do které chcete virtuální počítač nasadit.
Zadejte název virtuálního počítače a vyberte vlastní umístění, které s vámi sdílel správce.
Pokud se podporuje více druhů virtuálních počítačů, vyberte v rozevíracím seznamu druh virtuálního počítače VMware.
Vyberte fond prostředků, cluster nebo hostitele, do kterého se má virtuální počítač nasadit.
Vyberte úložiště dat, které chcete použít pro úložiště.
Vyberte šablonu podle toho, na které virtuální počítač vytvoříte.
Tip
Výchozí hodnoty šablony pro jádra procesoru a paměť můžete přepsat.
Pokud jste vybrali šablonu Systému Windows, zadejte uživatelské jméno, heslo pro účet správce.
(Volitelné) Změňte disky nakonfigurované v šabloně. Můžete například přidat další disky nebo aktualizovat existující disky. Všechny disky a virtuální počítač budou v úložišti dat vybraném v kroku 6.
(Volitelné) Změňte síťová rozhraní nakonfigurovaná v šabloně. Můžete například přidat karty síťového rozhraní nebo aktualizovat stávající síťové karty. Můžete také změnit síť, ke které bude tato síťová karta připojena, za předpokladu, že máte příslušná oprávnění k síťovému prostředku.
(Volitelné) V případě potřeby přidejte do prostředku virtuálního počítače značky.
Po kontrole všech vlastností vyberte Vytvořit . Vytvoření virtuálního počítače by mělo trvat několik minut.
Tento článek popisuje, jak zřídit virtuální počítač pomocí prostředků vCenter pomocí šablony Bicep.
Vytvoření počítače Arc VMware pomocí šablony Bicep
K vytvoření počítače Arc VMware je možné použít následující šablonu bicep. Tady je seznam dostupných šablon Azure Resource Manageru (ARM), Bicep a Terraformu pro prostředky VMware s podporou Arc. Pokud chcete aktivovat jakoukoli jinou operaci Arc, převeďte odpovídající šablonu ARM na šablonu Bicep.
// Parameters
param vmName string = 'contoso-vm'
param vmAdminPassword string = 'examplepassword!#'
param vCenterId string = '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-rg/providers/Microsoft.ConnectedVMwarevSphere/vcenters/contoso-vcenter'
param templateId string = '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-rg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/contoso-template-win22'
param resourcePoolId string = '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-rg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/contoso-respool'
param datastoreId string = '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-rg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/contoso-datastore'
param networkId string = '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-rg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/contoso-network'
param extendedLocation object = {
type: 'customLocation'
name: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso-rg/providers/Microsoft.ExtendedLocation/customLocations/contoso-customlocation'
}
param ipSettings object = {
allocationMethod: 'static'
gateway: ['172.24.XXX.1']
ipAddress: '172.24.XXX.105'
subnetMask: '255.255.255.0'
dnsServers: ['172.24.XXX.9']
}
resource contosoMachine 'Microsoft.HybridCompute/machines@2023-10-03-preview' = {
name: vmName
location:'westeurope'
kind:'VMware'
properties:{}
tags: {
foo: 'bar'
}
}
resource vm 'Microsoft.ConnectedVMwarevSphere/virtualMachineInstances@2023-12-01' = {
name: 'default'
scope: contosoMachine
extendedLocation: extendedLocation
properties: {
hardwareProfile: {
memorySizeMB: 4096
numCPUs: 2
}
osProfile: {
computerName: vmName
adminPassword: vmAdminPassword
}
placementProfile: {
resourcePoolId: resourcePoolId
datastoreId: datastoreId
}
infrastructureProfile: {
templateId: templateId
vCenterId: vCenterId
}
networkProfile: {
networkInterfaces: [
{
nicType: 'vmxnet3'
ipSettings: ipSettings
networkId: networkId
name: 'VLAN103NIC'
powerOnBoot: 'enabled'
}
]
}
}
}
// Outputs
output vmId string = vm.id
Tento článek popisuje, jak zřídit virtuální počítač pomocí prostředků vCenter pomocí šablony Terraformu.
Vytvoření počítače Arc VMware pomocí Terraformu
Požadavky
- Předplatné Azure: Ujistěte se, že máte aktivní předplatné Azure.
- Terraform: Nainstalujte Terraform na svůj počítač.
- Azure CLI: Nainstalujte Azure CLI pro ověřování a správu prostředků.
Pomocí následujícího postupu vytvořte počítač Arc VMware pomocí Terraformu. V tomto článku jsou popsané následující dva scénáře:
- U virtuálních počítačů zjištěných v inventáři vCenter proveďte povolení operace Azure a nainstalujte agenty Arc.
- Vytvořte nový virtuální počítač Arc VMware pomocí šablon, fondu prostředků, úložiště dat a instalace agentů Arc.
Scénář 1
U virtuálních počítačů zjištěných v inventáři vCenter proveďte povolení operace Azure a nainstalujte agenty Arc.
Krok 1: Definování proměnných v souboru variables.tf
Vytvořte soubor s názvem variables.tf a definujte všechny potřebné proměnné.
variable "subscription_id" {
description = "The subscription ID for the Azure account."
type = string
}
variable "resource_group_name" {
description = "The name of the resource group."
type = string
}
variable "location" {
description = "The location/region where the resources will be created."
type = string
}
variable "machine_name" {
description = "The name of the machine."
type = string
}
variable "inventory_item_id" {
description = "The ID of the Inventory Item for the VM."
type = string
}
variable "custom_location_id" {
description = "The ID of the custom location."
type = string
}
variable "vm_username" {
description = "The admin username for the VM."
type = string
}
variable "vm_password" {
description = "The admin password for the VM."
type = string
}
variable "resource_group_name" {
description = "The name of the resource group."
type = string
}
variable "location" {
description = "The location/region where the resources will be created."
type = string
}
variable "machine_name" {
description = "The name of the machine."
type = string
}
variable "vm_username" {
description = "The admin username for the VM."
type = string
}
variable "vm_password" {
description = "The admin password for the VM."
type = string
}
variable "inventory_id" {
description = "The Inventory ID for the VM."
type = string
}
variable "vcenter_id" {
description = "The ID of the vCenter."
type = string
}
variable "custom_location_id" {
description = "The ID of the custom location."
type = string
}
Krok 2: Vytvoření souboru tfvars
Vytvořte soubor s názvem CreateVMwareVM.tfvars a zadejte ukázkové hodnoty proměnných.
subscription_id = "your-subscription-id"
resource_group_name = "your-resource-group"
location = "eastus"
machine_name = "test_machine0001"
inventory_item_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ConnectedVMwarevSphere/VCenters/your-vcenter-id/InventoryItems/your-inventory-item-id"
custom_location_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ExtendedLocation/customLocations/your-custom-location-id"
vm_username = "Administrator"
vm_password = " The admin password for the VM "
Krok 3: Úprava konfigurace tak, aby používala proměnné
Vytvořte soubor s názvem main.tf a vložte následující kód.
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = ">= 3.0"
}
azapi = {
source = "azure/azapi"
version = ">= 1.0.0"
}
}
}
# Configure the AzureRM provider with the subscription ID
provider "azurerm" {
features {}
subscription_id = var.subscription_id
}
# Configure the AzAPI provider with the subscription ID
provider "azapi" {
subscription_id = var.subscription_id
}
# Retrieve the resource group details
data "azurerm_resource_group" "example" {
name = var.resource_group_name
}
# Create a VMware machine resource in Azure
resource "azapi_resource" "test_machine0001" {
schema_validation_enabled = false
parent_id = data.azurerm_resource_group.example.id
type = "Microsoft.HybridCompute/machines@2023-06-20-preview"
name = var.machine_name
location = data.azurerm_resource_group.example.location
body = jsonencode({
kind = "VMware"
identity = {
type = "SystemAssigned"
}
})
}
# Create a Virtual Machine instance using the VMware machine and Inventory Item ID
resource "azapi_resource" "test_inventory_vm0001" {
schema_validation_enabled = false
type = "Microsoft.ConnectedVMwarevSphere/VirtualMachineInstances@2023-10-01"
name = "default"
parent_id = azapi_resource.test_machine0001.id
body = jsonencode({
properties = {
infrastructureProfile = {
inventoryItemId = var.inventory_item_id
}
}
extendedLocation = {
type = "CustomLocation"
name = var.custom_location_id
}
})
depends_on = [azapi_resource.test_machine0001]
}
# Install Arc agent on the VM
resource "azapi_resource" "guestAgent" {
type = "Microsoft.ConnectedVMwarevSphere/virtualMachineInstances/guestAgents@2023-10-01"
parent_id = azapi_resource.test_inventory_vm0001.id
name = "default"
body = jsonencode({
properties = {
credentials = {
username = var.vm_username
password = var.vm_password
}
provisioningAction = "install"
}
})
schema_validation_enabled = false
ignore_missing_property = false
depends_on = [azapi_resource.test_inventory_vm0001]
}
Krok 4: Spuštění příkazů Terraformu
Pomocí příznaku -var-file předejte soubor .tfvars během příkazů Terraformu.
- Inicializace Terraformu (pokud ještě není inicializovaná):
terraform init
- Ověřte konfiguraci:
terraform validate -var-file="CreateVMwareVM.tfvars"
- Naplánujte změny:
terraform plan -var-file="CreateVMwareVM.tfvars"
- Použijte změny:
terraform apply -var-file="CreateVMwareVM.tfvars"
Potvrďte výzvu zadáním ano, aby se změny použily.
Osvědčené postupy
- Použití správy verzí: Zachovejte konfigurační soubory Terraformu pod správou verzí (například Git) a sledujte změny v průběhu času.
- Pečlivě zkontrolujte plány: Před použitím změn vždy zkontrolujte výstup plánu terraformu, abyste pochopili, jaké změny budou provedeny.
- Správa stavu: Pravidelně zálohujte soubory stavu Terraformu, abyste se vyhnuli ztrátě dat.
Pomocí těchto kroků můžete efektivně vytvářet a spravovat virtuální počítače HCRP a Arc VMware v Azure pomocí Terraformu a instalovat agenty hosta na vytvořené virtuální počítače.
Scénář 2
Vytvořte nový virtuální počítač Arc VMware pomocí šablon, fondu prostředků, úložiště dat a instalace agentů Arc.
Krok 1: Definování proměnných v souboru variables.tf
Vytvořte soubor s názvem variables.tf a definujte všechny potřebné proměnné.
variable "subscription_id" {
description = "The subscription ID for the Azure account."
type = string
}
variable "resource_group_name" {
description = "The name of the resource group."
type = string
}
variable "location" {
description = "The location/region where the resources will be created."
type = string
}
variable "machine_name" {
description = "The name of the machine."
type = string
}
variable "vm_username" {
description = "The admin username for the VM."
type = string
}
variable "vm_password" {
description = "The admin password for the VM."
type = string
}
variable "template_id" {
description = "The ID of the VM template."
type = string
}
variable "vcenter_id" {
description = "The ID of the vCenter."
type = string
}
variable "resource_pool_id" {
description = "The ID of the resource pool."
type = string
}
variable "datastore_id" {
description = "The ID of the datastore."
type = string
}
variable "custom_location_id" {
description = "The ID of the custom location."
type = string
}
Krok 2: Vytvoření souboru tfvars
Vytvořte soubor s názvem CreateVMwareVM.tfvars a zadejte ukázkové hodnoty proměnných.
subscription_id = "your-subscription-id"
resource_group_name = "your-resource-group"
location = "eastus"
machine_name = "test_machine0002"
vm_username = "Administrator"
vm_password = "*********"
template_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ConnectedVMwarevSphere/virtualmachinetemplates/your-template-id"
vcenter_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ConnectedVMwarevSphere/VCenters/your-vcenter-id"
resource_pool_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ConnectedVMwarevSphere/resourcepools/your-resource-pool-id"
datastore_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ConnectedVMwarevSphere/datastores/your-datastore-id"
custom_location_id = "/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.ExtendedLocation/customLocations/your-custom-location-id"
Krok 3: Úprava konfigurace tak, aby používala proměnné
Vytvořte soubor s názvem main.tf a vložte následující kód.
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = ">= 3.0"
}
azapi = {
source = "azure/azapi"
version = ">= 1.0.0"
}
}
}
# Configure the AzureRM provider with the subscription ID
provider "azurerm" {
features {}
subscription_id = var.subscription_id
}
# Configure the AzAPI provider with the subscription ID
provider "azapi" {
subscription_id = var.subscription_id
}
# Retrieve the resource group details
data "azurerm_resource_group" "example" {
name = var.resource_group_name
}
# Create a VMware machine resource in Azure
resource "azapi_resource" "test_machine0002" {
schema_validation_enabled = false
parent_id = data.azurerm_resource_group.example.id
type = "Microsoft.HybridCompute/machines@2023-06-20-preview"
name = var.machine_name
location = data.azurerm_resource_group.example.location
body = jsonencode({
kind = "VMware"
identity = {
type = "SystemAssigned"
}
})
}
# Create a Virtual Machine instance using the VMware machine created above
resource "azapi_resource" "test_vm0002" {
schema_validation_enabled = false
type = "Microsoft.ConnectedVMwarevSphere/VirtualMachineInstances@2023-10-01"
name = "default"
parent_id = azapi_resource.test_machine0002.id
body = jsonencode({
properties = {
infrastructureProfile = {
templateId = var.template_id
vCenterId = var.vcenter_id
}
placementProfile = {
resourcePoolId = var.resource_pool_id
datastoreId = var.datastore_id
}
osProfile = {
adminPassword = var.vm_password
}
}
extendedLocation = {
type = "CustomLocation"
name = var.custom_location_id
}
})
depends_on = [azapi_resource.test_machine0002]
}
# Create a guest agent for the VM instance
resource "azapi_resource" "guestAgent" {
type = "Microsoft.ConnectedVMwarevSphere/virtualMachineInstances/guestAgents@2023-10-01"
parent_id = azapi_resource.test_vm0002.id
name = "default"
body = jsonencode({
properties = {
credentials = {
username = var.vm_username
password = var.vm_password
}
provisioningAction = "install"
}
})
schema_validation_enabled = false
ignore_missing_property = false
depends_on = [azapi_resource.test_vm0002]
}
Krok 4: Spuštění příkazů Terraformu
Pomocí příznaku -var-file předejte soubor .tfvars během příkazů Terraformu.
- Inicializace Terraformu (pokud ještě není inicializovaná):
terraform init
- Ověřte konfiguraci:
terraform validate -var-file="CreateVMwareVM.tfvars"
- Naplánujte změny:
terraform plan -var-file="CreateVMwareVM.tfvars"
- Použijte změny:
terraform apply -var-file="CreateVMwareVM.tfvars"
Potvrďte výzvu zadáním ano, aby se změny použily.
Osvědčené postupy
- Použití správy verzí: Zachovejte konfigurační soubory Terraformu pod správou verzí (například Git) a sledujte změny v průběhu času.
- Pečlivě zkontrolujte plány: Před použitím změn vždy zkontrolujte výstup plánu terraformu, abyste pochopili, jaké změny budou provedeny.
- Správa stavu: Pravidelně zálohujte soubory stavu Terraformu, abyste se vyhnuli ztrátě dat.