Vagrant ile barındırılan yerel bir Ubuntu sunucusu dağıtma ve Azure Arc'a bağlama

Bu makale, Vagrant kullanarak yerel bir Ubuntu 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.

  5. Vagrant dosyası, 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.sh Kabuk 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.sh sonra klasöründen Vagrantfile komutunu çalıştırın vagrant up. VM'yi ilk kez oluşturduğundan, dağıtım Ubuntu kutusunu ilk kez indirdiğinden ilk çalıştırma izlenecek çalıştırmadan çok daha yavaş olacaktır.

A screenshot of the vagrant up command.

İndirme tamamlandıktan sonra sağlama başlar. Aşağıdaki ekran görüntüsünde gösterildiği gibi işlem üç dakikadan uzun sürmez.

A screenshot of a completed vagrant up command.

Tamamlandığında, yeni bir kaynak grubu içinde yeni bir Azure Arc özellikli sunucu olarak bağlı yerel bir Ubuntu VM'niz dağıtılır.

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

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

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

Son adım, VM'yi yeni bir Azure Arc özellikli sunucu kaynağı olarak kaydetmektir.

Another screenshot of the vagrant up command.

Gerçek kayıt işleminin tanıtımını yapmak/denetlemek istiyorsanız aşağıdaki adımları tamamlayın:

  1. Kabuk 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 azcmagent connect command.

    A screenshot of the az group create command.

  2. komutunu kullanarak VM'ye SSH gönderin vagrant ssh .

    A screenshot of an SSH key connecting to the Vagrant machine.

  3. azcmagent connect Ortam değişkenlerinizi kullanarak açıklama eklediğiniz komutu çalıştırın.

    Another screenshot of the azcmagent connect command.

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 bir betik çalıştıran bir before: destroy Vagrant tetikleyicisi içerir.

A screenshot of the vagrant destroy command.