Gunakan template Azure Resource Manager untuk menyebarkan dan menghubungkan mesin virtual Ubuntu ke Azure Arc

Artikel ini memberikan panduan untuk menggunakan template Azure Resource Manager template ARM untuk secara otomatis memasukkan mesin virtual Ubuntu ke Azure Arc. Template ARM yang disediakan bertanggung jawab untuk membuat sumber daya Azure dan menjalankan skrip onboard Azure Arc di mesin virtual.

Azure Virtual Machines menggunakan Azure Instance Metadata Service (IMDS) secara default. Dengan memproyeksikan mesin virtual Azure sebagai server yang mendukung Azure Arc, konflik dibuat yang tidak akan memungkinkan sumber daya server Azure Arc direpresentasikan sebagai satu saat IMDS digunakan. Sebaliknya, server Azure Arc masih akan "bertindak" sebagai Azure VM asli.

Panduan ini akan memungkinkan Anda untuk menggunakan dan mengaktifkan mesin virtual Azure ke Azure Arc hanya untuk tujuan demo. Anda akan memiliki kemampuan untuk mensimulasikan server yang disebarkan di luar Azure, misalnya, di tempat atau di platform cloud lainnya.

Catatan

Azure Virtual Machines tidak diharapkan untuk diproyeksikan sebagai server yang diaktifkan Azure Arc. Skenario berikut tidak didukung dan hanya boleh digunakan untuk tujuan demo dan pengujian.

Prasyarat

  1. Kloning repositori Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Pasang atau perbarui Azure CLI ke versi 2.7 dan setelahnya. Gunakan perintah berikut untuk memeriksa versi terinstal Anda saat ini.

    az --version
    
  3. Langganan Azure: Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun Azure gratis.

  4. Membuat Prinsipal Layanan Azure.

    Agar Anda dapat menggunakan sumber daya Azure menggunakan template ARM, prinsip layanan Azure yang ditetapkan dengan peran Kontributor diperlukan. Untuk membuatnya, masuk ke akun Azure Anda dan jalankan perintah berikut. Anda juga dapat menjalankan perintah ini di Azure Cloud Shell.

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

    Misalnya:

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

    Output akan terlihat seperti ini:

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

    Catatan

    Kami sangat menyarankan agar Anda memasukkan prinsipal layanan ke langganan Azure dan grup sumber daya tertentu.

Aliran automasi

Agar Anda terbiasa dengan otomatisasi dan aliran penyebaran, di bawah ini adalah penjelasannya.

  1. Seorang pengguna mengedit file parameter template ARM (edit satu kali). Nilai parameter ini digunakan selama penyebaran.

  2. Template ARM menyertakan ekstensi skrip kustom mesin virtual Azure, yang akan menyebarkan skrip shell install_arc_agent.sh.

  3. Agar memungkinkan Azure VM dapat diproyeksikan sebagai server dengan dukungan Azure Arc, skrip akan:

    1. Mengatur variabel lingkungan OS lokal.

    2. Buat file ~/.bash_profile yang akan diinisialisasi saat pengguna masuk pertama kali untuk mengonfigurasi lingkungan. Skrip akan:

      • Menghentikan dan menonaktifkan layanan agen tamu Linux Azure.

      • Membuat aturan firewall OS baru untuk memblokir lalu lintas keluar Azure IMDS ke alamat jarak jauh 169.254.169.254.

      • Memasang agen mesin yang terhubung ke Azure Arc.

      • Menghapus file ~/.bash_profile agar tidak berjalan setelah masuk pertama kali.

  4. Pengguna akan melakukan SSH ke mesin virtual Linux, yang akan memulai eksekusi skrip ~/.bash_profile dan akan mengaktifkan mesin virtual ke Azure Arc.

    Catatan

    Skrip shell install_arc_agent.sh mengaktifkan firewall OS dan menyiapkan aturan baru untuk koneksi masuk dan keluar. Secara default, semua lalu lintas masuk dan keluar akan diizinkan, kecuali memblokir lalu lintas outbound Azure IMDS ke alamat jarak jauh 169.254.169.254.

Penyebaran

Seperti yang disebutkan, penyebaran ini akan menggunakan template ARM. Anda akan menyebarkan satu templat, yang bertanggung jawab untuk membuat semua sumber daya Azure dalam satu grup sumber daya dan onboarding VM yang dibuat ke Azure Arc.

  1. Sebelum menerapkan template ARM, masuk menggunakan Azure CLI dengan perintah az login.

  2. Penyebaran menggunakan file parameter template ARM. Sebelum memulai penyebaran, edit file azuredeploy.parameters.json yang terletak di folder repositori klon lokal Anda. Contoh file parameter terletak di sini.

  3. Untuk menerapkan template ARM, navigasikan ke folder penyebaran klon lokal dan jalankan perintah berikut:

    az group create --name <Name of the Azure resource group> --location <Azure region> --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group <Name of the Azure resource group> \
    --name <The name of this deployment> \
    --template-uri https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_servers_jumpstart/azure/linux/arm_template/azuredeploy.json \
    --parameters <The `azuredeploy.parameters.json` parameters file location>
    

    Catatan

    Pastikan untuk menggunakan nama grup sumber daya Azure yang sama dengan yang Anda gunakan di file azuredeploy.parameters.json.

    Misalnya:

    az group create --name Arc-Servers-Linux-Demo --location "westeurope" --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group Arc-Servers-Linux-Demo \
    --name arclinuxdemo \
    --template-uri https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_servers_jumpstart/azure/linux/arm_template/azuredeploy.json \
    --parameters azuredeploy.parameters.json
    
  4. Setelah sumber daya Azure diprovisikan, Anda akan melihatnya di portal Azure.

    A screenshot of an output from an ARM template.

    A screenshot resources in the resource group.

Masuk Linux pasca penyebaran

  1. Sekarang setelah mesin virtual Linux dibuat, langkah selanjutnya adalah menghubungkannya. Menggunakan alamat IP publiknya, lakukan SSH ke mesin virtual.

    A screenshot of an Azure VM public IP address.

  2. Saat masuk pertama kali, seperti yang disebutkan di bagian Alur otomatisasi, skrip masuk akan dijalankan. Skrip ini dibuat sebagai bagian dari proses penyebaran otomatis.

  3. Biarkan skrip berjalan dan jangan tutup sesi SSH. Sesi akan ditutup untuk Anda secara otomatis setelah selesai.

    A screenshot of one type of script output.

    A screenshot of another type of script output.

    A screenshot of a third type of script output.

  4. Setelah berhasil menyelesaikannya, server dengan dukungan Azure Arc baru akan ditambahkan ke grup sumber daya.

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

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

Pembersihan

Untuk menghapus seluruh penyebaran, hapus grup sumber daya dari portal Azure.

A screenshot of how to delete resource group