Terraform planı kullanarak VMware Windows sanal makinesini dağıtma ve Azure Arc'a bağlama

Bu makalede, sağlanan Terraform planını kullanarak bir Windows Server, VMware vSphere sanal makinesi dağıtmak ve bunu Azure Arc özellikli bir sunucu kaynağı olarak bağlamak için yönergeler sağlanır.

Önkoşullar

  1. Azure Arc Jumpstart deposunu kopyalayın.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Azure CLI'yi 2.7 ve üzeri bir sürüme yükleyin veya güncelleştirin. Geçerli yüklü sürümünüzü denetlemek için aşağıdaki komutu kullanın.

    az --version
    
  3. Terraform >'u yükleme = 0,12

  4. vSphere web istemcisindeki bir şablondan sanal makine dağıtma izinlerine sahip bir VMware vCenter Server kullanıcısı.

  5. Azure hizmet sorumlusu oluşturma.

    VMware vSphere sanal makinesini Azure Arc'a bağlamak için Katkıda Bulunan rolüyle atanmış bir Azure hizmet sorumlusu gereklidir. Oluşturmak için Azure hesabınızda oturum açın ve aşağıdaki komutu çalıştırın. Bu komutu Azure Cloud Shell'de de çalıştırabilirsiniz.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Örneğin:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    Çıkış şu şekilde görünmelidir:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Dekont

    Hizmet sorumlusunu belirli bir Azure aboneliği ve kaynak grubuyla kapsamanızı kesinlikle öneririz.

Windows Server VMware vSphere VM şablonu hazırlama

Windows Server VM'sini dağıtmak ve Azure Arc'a bağlamak için bu kılavuzu kullanmadan önce bir VMware vSphere şablonu gereklidir. VMware vSphere 6.5 ve üzerini kullanarak kolayca böyle bir şablon oluşturabilirsiniz.

Terraform planı, gerekli Azure Arc betiğini kopyalamak ve yürütmek için WinRM protokolunu kullanan sağlamayı kullandı remote-exec . VM'ye WinRM bağlantısına izin vermek için, şablona dönüştürmeden önce VM'nizde PowerShell betiğini çalıştırın allow_winrm .

Dekont

Zaten bir Windows Server VM şablonunuz varsa, kılavuzu yine de başvuru olarak kullanmanız gerekir.

Dağıtım

Terraform planını yürütmeden önce, plan tarafından kullanılacak ortam değişkenlerini ayarlamanız gerekir. Bu değişkenler yeni oluşturduğunuz Azure hizmet sorumlusuna, Azure aboneliğinize ve kiracınıza ve VMware vSphere kimlik bilgilerinize dayanır.

  1. komutunu kullanarak az account list Azure abonelik kimliğinizi ve kiracı kimliğinizi alın.

  2. Terraform planı hem Microsoft Azure hem de VMware vSphere'de kaynaklar oluşturur. Ardından Azure Arc aracısını ve tüm gerekli yapıtları yüklemek için sanal makinede bir betik yürütür. Bu betik, VMware vSphere ve Azure ortamlarınız hakkında belirli bilgiler gerektirir. Değişkenlerin her birini uygun değerlerle düzenleyin scripts/vars.sh ve güncelleştirin.

    • TF_VAR_subscription_id = Azure abonelik kimliğiniz
    • TF_VAR_client_id = Azure hizmet asıl adınız
    • TF_VAR_client_secret = Azure hizmet sorumlusu parolanız
    • TF_VAR_tenant_id = Azure kiracı kimliğiniz
    • TF_VAR_resourceGroup = Azure kaynak grubu adı
    • TF_VAR_location = Azure bölgesi
    • TF_VAR_vsphere_user = vCenter yönetici kullanıcı adı
    • TF_VAR_vsphere_password = vCenter yönetici parolası
    • TF_VAR_vsphere_server = vCenter Server FQDN/IP
    • TF_VAR_admin_user = İşletim sistemi yöneticisi kullanıcı adı
    • TF_VAR_admin_password = İşletim sistemi yönetici parolası
  3. CLI'dan kopyalanan deponun dizinine gidin azure_arc_servers_jumpstart/vmware/winsrv/terraform .

  4. Aşağıda gösterildiği gibi kaynak komutuyla çalıştırarak scripts/vars.sh düzenlediğiniz ortam değişkenlerini dışarı aktarın. Terraform, planın düzgün yürütülmesi için bunların ayarlanmasını gerektirir. Bu betiğin terraform dağıtımının bir parçası olarak sanal makinede otomatik olarak yürütüleceğini unutmayın.

    source ./scripts/vars.sh
    
  5. Az önce dışarı aktardığınız ortam değişkenlerine TF_VAR ek olarak, içindeki Terraform değişkenlerini terraform.tfvars VMware vSphere ortamınızla eşleşecek şekilde düzenleyin.

    A screenshot of the TF_VAR environment variables

  6. terraform init Terraform AzureRM, yerel ve vSphere sağlayıcılarını indirecek komutu çalıştırın.

    A screenshot of the terraform init command.

  7. terraform apply --auto-approve komutunu çalıştırın ve planın tamamlanmasını bekleyin. Terraform dağıtımı tamamlandıktan sonra yeni bir Windows Server VM çalışır duruma gelecek ve yeni oluşturulan bir Azure kaynak grubunda Azure Arc sunucusu kaynağı olarak yansıtılacaktır.

    A screenshot of terraform apply completed.

    A screenshot of a new VMware vSphere Windows Server virtual machine.

    A screenshot of an Azure Arc-enabled server in an Azure resource group.

    Another screenshot of an Azure Arc-enabled server in an Azure resource group.

Dağıtımı silme

  • En kolay yol Azure Arc kaynağını Azure portalı üzerinden silmek, kaynağı seçip silmektir. Ayrıca VMware vSphere VM'sini silin.

    A screenshot of an Azure Arc-enabled server being deleted.

  • Örneği el ile silerseniz Terraform planı tarafından oluşturulan öğesini de silmelisiniz install_arc_agent.ps1.

  • Ortamın tamamını yıkmak istiyorsanız, aşağıda gösterildiği gibi komutunu kullanın terraform destroy --auto-approve .

    A screenshot of the terraform destroy command.