Dela via


Skapa en virtuell dator på VMware vCenter med Hjälp av Azure Arc

I den här artikeln beskrivs hur du etablerar en virtuell dator med hjälp av vCenter-resurser från Azure Portal.

Skapa en virtuell dator i Azure-portalen

När administratören har anslutit en VMware vCenter till Azure, representerat VMware vCenter-resurser i Azure och gett dig behörighet till dessa resurser skapar du en virtuell dator.

Förutsättningar

  • En Azure-prenumeration och resursgrupp där du har rollen Arc VMware VM-deltagare.
  • En resurspool/kluster/värd där du har användarrollen Arc Private Cloud Resource.
  • En mallresurs för virtuella datorer där du har användarrollen Arc Private Cloud Resource.
  • En virtuell nätverksresurs där du har användarrollen Arc Private Cloud Resource.

Följ dessa steg för att skapa en virtuell dator i Azure Portal:

  1. I en webbläsare går du till Azure-portalen. Navigera till bläddrarvyn för virtuella datorer. Du ser en enhetlig bågupplevelse för virtuella Azure- och Arc-datorer.

    Skärmbild som visar den enhetliga bågupplevelsen för virtuella Azure- och Arc-datorer.

  2. Välj Lägg till och välj sedan Azure Arc-dator i listrutan.

    Skärmbild som visar fliken Grundläggande för att skapa en virtuell Azure Arc-dator.

  3. Välj den prenumeration och resursgrupp där du vill distribuera den virtuella datorn.

  4. Ange namnet på den virtuella datorn och välj sedan en anpassad plats som administratören har delat med dig.

    Om flera typer av virtuella datorer stöds väljer du VMware i listrutan Typ av virtuell dator.

  5. Välj resurspoolen /klustret/värden som den virtuella datorn ska distribueras till.

  6. Välj det datalager som du vill använda för lagring.

  7. Välj mallen baserat på vilken du ska skapa den virtuella datorn.

    Dricks

    Du kan åsidosätta standardinställningarna för mallen för CPU-kärnor och minne.

    Om du har valt en Windows-mall anger du användarnamn, lösenord för administratörskontot.

  8. (Valfritt) Ändra diskarna som konfigurerats i mallen. Du kan till exempel lägga till fler diskar eller uppdatera befintliga diskar. Alla diskar och virtuella datorer finns i det datalager som valts i steg 6.

  9. (Valfritt) Ändra de nätverksgränssnitt som konfigurerats i mallen. Du kan till exempel lägga till nätverkskort (NIC) eller uppdatera befintliga nätverkskort. Du kan också ändra det nätverk som det här nätverkskortet ska kopplas till, förutsatt att du har rätt behörighet till nätverksresursen.

  10. (Valfritt) Lägg till taggar i den virtuella datorresursen om det behövs.

  11. Välj Skapa när du har granskat alla egenskaper. Det bör ta några minuter att skapa den virtuella datorn.

Den här artikeln beskriver hur du etablerar en virtuell dator med hjälp av vCenter-resurser med hjälp av en Bicep-mall.

Skapa en Arc VMware-dator med Bicep-mall

Följande bicep-mall kan användas för att skapa en Arc VMware-dator. Här är listan över tillgängliga Azure Resource Manager-mallar (ARM), Bicep och Terraform för Arc-aktiverade VMware-resurser. Om du vill utlösa andra Arc-åtgärder konverterar du motsvarande ARM-mall till Bicep-mall.

// 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

I den här artikeln beskrivs hur du etablerar en virtuell dator med hjälp av vCenter-resurser med hjälp av en Terraform-mall.

Skapa en Arc VMware-dator med Terraform

Förutsättningar

  • Azure-prenumeration: Se till att du har en aktiv Azure-prenumeration.
  • Terraform: Installera Terraform på datorn.
  • Azure CLI: Installera Azure CLI för att autentisera och hantera resurser.

Följ de här stegen för att skapa en Arc VMware-dator med Terraform. Följande två scenarier beskrivs i den här artikeln:

  1. För virtuella datorer som identifieras i vCenter-inventeringen utför du aktiveringen i Azure-åtgärden och installerar Arc-agenter.
  2. Skapa en ny virtuell Arc VMware-dator med hjälp av mallar, resurspool, datalager och installera Arc-agenter.

Scenario 1

För virtuella datorer som identifieras i vCenter-inventeringen utför du aktiveringen i Azure-åtgärden och installerar Arc-agenter.

Steg 1: Definiera variabler i en variables.tf fil

Skapa en fil med namnet variables.tf och definiera alla nödvändiga variabler.

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
}

Steg 2: Skapa en tfvars-fil

Skapa en fil med namnet CreateVMwareVM.tfvars och ange exempelvärden för variablerna.

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 "

Steg 3: Ändra konfigurationen så att den använder variabler

Skapa en fil med namnet main.tf och infoga följande kod.

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]
}

Steg 4: Kör Terraform-kommandon

Använd flaggan -var-file för att skicka .tfvars-filen under Terraform-kommandon.

  1. Initiera Terraform (om det inte redan har initierats): terraform init
  2. Verifiera konfigurationen: terraform validate -var-file="CreateVMwareVM.tfvars"
  3. Planera ändringarna: terraform plan -var-file="CreateVMwareVM.tfvars"
  4. Tillämpa ändringarna: terraform apply -var-file="CreateVMwareVM.tfvars"

Bekräfta uppmaningen genom att ange ja för att tillämpa ändringarna.

Bästa praxis

  • Använd versionskontroll: Håll dina Terraform-konfigurationsfiler under versionskontroll (till exempel Git) för att spåra ändringar över tid.
  • Granska planerna noggrant: Granska alltid utdata från terraform-planen innan du tillämpar ändringar för att se till att du förstår vilka ändringar som kommer att göras.
  • Tillståndshantering: Säkerhetskopiera dina Terraform-tillståndsfiler regelbundet för att undvika dataförlust.

Genom att följa dessa steg kan du effektivt skapa och hantera virtuella HCRP- och Arc VMware-datorer i Azure med Terraform och installera gästagenter på de virtuella datorer som skapats.

Scenario 2

Skapa en ny virtuell Arc VMware-dator med hjälp av mallar, resurspool, datalager och installera Arc-agenter.

Steg 1: Definiera variabler i en variables.tf fil

Skapa en fil med namnet variables.tf och definiera alla nödvändiga variabler.

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
}

Steg 2: Skapa tfvars-fil

Skapa en fil med namnet CreateVMwareVM.tfvars och ange exempelvärden för variablerna.

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"

Steg 3: Ändra konfigurationen så att den använder variabler

Skapa en fil med namnet main.tf och infoga följande kod.

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]
}

Steg 4: Kör Terraform-kommandon

Använd flaggan -var-file för att skicka .tfvars-filen under Terraform-kommandon.

  1. Initiera Terraform (om det inte redan har initierats): terraform init
  2. Verifiera konfigurationen: terraform validate -var-file="CreateVMwareVM.tfvars"
  3. Planera ändringarna: terraform plan -var-file="CreateVMwareVM.tfvars"
  4. Tillämpa ändringarna: terraform apply -var-file="CreateVMwareVM.tfvars"

Bekräfta uppmaningen genom att ange ja för att tillämpa ändringarna.

Bästa praxis

  • Använd versionskontroll: Håll dina Terraform-konfigurationsfiler under versionskontroll (till exempel Git) för att spåra ändringar över tid.
  • Granska planerna noggrant: Granska alltid utdata från terraform-planen innan du tillämpar ändringar för att se till att du förstår vilka ändringar som kommer att göras.
  • Tillståndshantering: Säkerhetskopiera dina Terraform-tillståndsfiler regelbundet för att undvika dataförlust.

Nästa steg

Utför åtgärder på virtuella VMware-datorer i Azure.