Vagrant tarafından barındırılan yerel bir Windows Server örneğini dağıtma ve Azure Arc'a bağlama

Aşağıdaki makale, Vagrant kullanarak yerel bir Windows 10 sanal makinesini dağıtmaya yönelik yönergeler sağlar ve bunu Azure Arc özellikli bir sunucu kaynağı olarak bağlar.

Ö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. Vagrant, temel bir hiper yöneticiye dayanır. Bu kılavuz için Oracle VM VirtualBox kullanıyoruz.

    1. VirtualBox'ı yükleyin.

      • MacOS kullanıcısıysanız, brew cask install virtualbox
      • Windows kullanıcısıysanız Chocolatey paketini kullanabilirsiniz
      • Linux kullanıcısıysanız tüm paket yükleme yöntemleri Linux konakları için VirtualBox'ı indirme bölümünde bulunabilir.
    2. Vagrant yükleme

      • MacOS kullanıcısıysanız, brew cask install vagrant
      • Windows kullanıcısıysanız Chocolatey paketini kullanabilirsiniz
      • Linux kullanıcısıysanız Vagrant indirme sayfasını ziyaret edin.
  4. Azure hizmet sorumlusu oluşturma.

    Vagrant 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.

  • Vagrantfile, gerekli tüm yapıtları yüklemek ve ortam değişkenlerini eklemek için VM işletim sisteminde bir betik yürütür. scripts/vars.ps1 PowerShell betiğini, oluşturduğunuz Azure hizmet sorumlusuyla eşleşecek şekilde düzenleyin.

    • subscriptionId = Azure abonelik kimliğiniz
    • appId = Azure hizmet asıl adınız
    • password = Azure hizmet sorumlusu parolanız
    • tenantId = Azure kiracı kimliğiniz
    • resourceGroup = Azure kaynak grubu adı
    • location = Azure bölgesi

Dağıtım

Tüm Vagrant dağıtımları gibi bir vagrantfile ve Vagrant kutusu gerekir. Yüksek düzeyde dağıtım şunları yapacaktır:

Betiği ortamınızla eşleşecek şekilde düzenledikten scripts/vars.ps1 sonra klasöründen Vagrantfile komutunu çalıştırın vagrant up. VM'yi ilk kez oluşturduğunuz için ilk çalıştırma, izleneceklerden çok daha yavaş olacaktır. Bunun nedeni dağıtımın Windows 10 kutusunu ilk kez indirmesidir.

A screenshot of running the vagrant up command.

İndirme işlemi tamamlandıktan sonra gerçek sağlama başlar. Aşağıdaki ekran görüntüsünde gösterildiği gibi, işlem 7 ila 10 dakika arasında sürer.

A screenshot of a completed vagrant up command.

Dekont

Sertifika için denetim iptali ile ilgili bir hata görürseniz, bu yapılandırmayı öğesine Vagrantfileekleyin:

config.vm.box_download_insecure = true

Tamamlandıktan sonra dağıtılan yerel bir Windows 10 VM'niz olacak ve yeni bir kaynak grubu içinde yeni bir Azure Arc özellikli sunucu olarak bağlanmış olacaksınız.

A screenshot of an Azure Arc-enabled server in the Azure portal.

A screenshot of the details from an Azure Arc-enabled server in the Azure portal.

Yarı otomatik dağıtım (isteğe bağlı)

Çalıştırmanın son adımı VM'yi yeni bir Azure Arc özellikli sunucu kaynağı olarak kaydetmektir.

Another screenshot of a completed vagrant up command.

Gerçek kayıt işleminin tanıtımını yapmak/denetlemek istiyorsanız aşağıdakileri yapın:

  1. PowerShell betiğinde install_arc_agent bölümü açıklama satırı yapıp run connect command dosyayı kaydedin. Ayrıca, kaynak grubunun oluşturulmasını açıklama satırı yapabilir veya değiştirebilirsiniz.

    A screenshot of the install_arc_agent PowerShell script.

    A screenshot of the az group create command.

  2. komutunu kullanarak VM'ye RDP gönderin vagrant rdp . Kullanıcı adı/parola olarak kullanın vagrant/vagrant .

    A screenshot of accessing a Vagrant server with the Microsoft Remote Desktop Protocol.

  3. PowerShell ISE'yi Yönetici istrator olarak açın ve dosyayı ortam değişkenlerinizle düzenleyinC:\runtime\vars.ps1.

    A screenshot of Windows PowerShell ISE.

  4. Invoke-Expression C:\runtime\vars.ps1 Komutu, az group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId komutu ve aynı azcmagent connect komutu yapıştırın ve betiği yürütür.

    A screenshot of PowerShell ISE running a script.

Dağıtımı silme

Dağıtımın tamamını silmek için komutunu çalıştırın vagrant destroy -f . Vagrantfile, gerçek VM'yi yok etmeden önce Azure kaynak grubunu silmek için komutunu çalıştıran bir before: destroy Vagrant tetikleyicisi içerir.

A screenshot of the vagrant destroy command.