Menjalankan Azure IoT Edge di Ubuntu Komputer Virtuals

Berlaku untuk:Tanda centang IoT Edge 1.5 IoT Edge 1.5 Tanda centang IoT Edge 1.4 IoT Edge 1.4

Penting

IoT Edge 1.5 LTS dan IoT Edge 1.4 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.

Runtime Azure IoT Edge adalah yang mengubah perangkat menjadi perangkat IoT Edge. Runtime bisa disebarkan pada perangkat sekecil Raspberry Pi atau sebesar server industri. Setelah perangkat dikonfigurasi dengan runtime IoT Edge, Anda dapat mulai menerapkan logika bisnis dari cloud.

Untuk mempelajari selengkapnya tentang cara kerja runtime IoT Edge dan komponen apa yang disertakan, lihat Memahami runtime Azure IoT Edge dan arsitekturnya.

Artikel ini mencantumkan langkah-langkah untuk menyebarkan komputer virtual Ubuntu 20.04 LTS dengan runtime Azure IoT Edge yang diinstal dan dikonfigurasi menggunakan perangkat yang telah diterapkan string koneksi. Penyebaran dilakukan menggunakan templat Azure Resource Manager berbasis cloud-init yang disimpan di repositori proyek iotedge-vm-deploy.

Pada boot pertama, komputer virtual menginstal versi terbaru runtime Azure IoT Edge melalui cloud-init. Ini juga mengatur string koneksi yang disediakan sebelum runtime dimulai, memungkinkan Anda untuk dengan mudah mengkonfigurasi dan menghubungkan perangkat IoT Edge tanpa perlu memulai sesi SSH atau desktop jarak jauh.

Menyebarkan menggunakan Tombol Sebarkan ke Azure

Tombol Sebarkan ke Azure memungkinkan penyebaran templat Azure Resource Manager yang disederhanakan yang dikelola di GitHub. Bagian ini menunjukkan penggunaan Tombol Sebarkan ke Azure yang terkandung dalam repositori proyek iotedge-vm-deploy .

  1. Kami akan menyebarkan VM Linux Azure IoT Edge yang diaktifkan menggunakan template iotedge-vm-deploy Azure Resource Manager. Untuk memulai, pilih tombol berikut:

    Tombol Sebarkan ke Azure untuk iotedge-vm-deploy

  2. Di jendela yang baru diluncurkan, isi bidang formulir yang tersedia:

    Cuplikan layar yang menunjukkan templat iotedge-vm-deploy

    Bidang Deskripsi
    Langganan Langganan Azure aktif untuk menyebarkan komputer virtual ke dalamnya.
    Grup sumber daya Grup Sumber Daya yang sudah ada atau yang baru dibuat untuk memuat komputer virtual dan sumber daya terkaitnya.
    Wilayah Wilayah geografis tempat menyebarkan mesin virtual, nilai ini default ke lokasi Grup Sumber Daya yang dipilih.
    Awalan Label DNS Nilai yang diperlukan dari pilihan Anda yang digunakan untuk memberi awalan nama host komputer virtual.
    Nama Pengguna Admin Nama pengguna, yang akan diberikan hak akar pada penyebaran.
    String Koneksi Perangkat String koneksi perangkat untuk perangkat yang dibuat di dalam IoT Hub yang Anda maksudkan.
    Ukuran VM Ukuran komputer virtual yang akan disebarkan.
    Versi OS Ubuntu Versi OS Ubuntu yang akan diinstal di komputer virtual dasar.
    Jenis Autentikasi Pilih sshPublicKey atau kata sandi tergantung pada preferensi Anda.
    Kunci atau Kata Sandi Admin Nilai Kunci Umum SSH atau nilai kata sandi tergantung pada pilihan Jenis Autentikasi.

    Ketika semua bidang telah diisi, pilih tombol di bagian bawah untuk berpindah ke Next : Review + create tempat Anda dapat meninjau istilah dan pilih Buat untuk memulai penyebaran.

  3. Verifikasi bahwa penerapan berhasil diselesaikan. Sumber daya komputer virtual disebarkan ke dalam grup sumber daya yang dipilih. Catat nama komputer yang harus disertakan dalam format vm-0000000000000. Perhatikan juga Nama DNS terkait yang seharusnya dalam format <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    Nama DNS dapat diperoleh dari bagian Ringkasan komputer virtual yang baru disebarkan dalam portal Azure.

    Cuplikan layar yang menunjukkan nama dns vm iotedge

  4. Jika Anda ingin menambahkan SSH ke VM ini setelah penyiapan, gunakan Nama DNS terkait dengan perintah: ssh <adminUsername>@<DNS_Name>

Penyebaran dari Azure CLI

  1. Pastikan Anda menginstal ekstensi iot Azure CLI dengan:

    az extension add --name azure-iot
    
  2. Berikutnya, jika Anda menggunakan Azure CLI di desktop, mulailah dengan masuk:

    az login
    
  3. Jika Anda memiliki beberapa langganan Azure, pilih langganan yang ingin Anda gunakan:

    1. Daftar langganan Anda:

      az account list --output table
      
    2. Salin bidang SubscriptionID untuk langganan yang ingin Anda gunakan.

    3. Atur langganan kerja Anda dengan ID yang Anda salin:

      az account set -s <SubscriptionId>
      
  4. Membuat grup sumber daya baru (atau menentukan yang sudah ada di langkah berikutnya):

    az group create --name IoTEdgeResources --location westus2
    
  5. Membuat komputer virtual baru:

    Untuk menggunakan authenticationType dari password, lihat contoh berikut:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    Untuk mengautentikasi dengan kunci SSH, Anda dapat melakukannya dengan menentukan JenisautentikasisshPublicKey dari, lalu memberikan nilai kunci SSH di parameter adminPasswordOrKey. Lihat contoh berikut:

    #Generate the SSH Key
    ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N ""
    
    #Create a VM using the iotedge-vm-deploy script
    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='sshPublicKey' \
    --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
    
  6. Verifikasi bahwa penerapan berhasil diselesaikan. Sumber daya komputer virtual harus disebarkan ke dalam grup sumber daya yang dipilih. Catat nama komputer yang harus disertakan dalam format vm-0000000000000. Perhatikan juga Nama DNS terkait yang seharusnya dalam format <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    Nama DNS dapat diperoleh dari output berformat JSON dari langkah sebelumnya, di dalam bagian output sebagai bagian dari entri SSH publik. Nilai entri ini dapat digunakan untuk SSH ke mesin yang baru disebarkan.

    "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh <adminUsername>@<DNS_Name>"
      }
    }
    

    Nama DNS dapat diperoleh dari bagian Ringkasan komputer virtual yang baru disebarkan dalam portal Azure.

    Cuplikan layar yang menunjukkan nama dns vm iotedge

  7. Jika Anda ingin menambahkan SSH ke VM ini setelah penyiapan, gunakan Nama DNS terkait dengan perintah: ssh <adminUsername>@<DNS_Name>

Langkah berikutnya

Sekarang setelah Anda memiliki perangkat IoT Edge yang disediakan dengan runtime diinstal, Anda dapat menggunakan modul IoT Edge.

Jika Anda mengalami masalah dengan penginstalan runtime IoT Edge dengan benar, lihat halaman pemecahan masalah.

Untuk memperbarui instalasi yang sudah ada ke versi terbaru IoT Edge, lihat Memperbarui daemon dan runtime keamanan IoT Edge.

Jika Anda ingin membuka port untuk mengakses VM melalui SSH atau koneksi masuk lainnya, lihat dokumentasi Azure Virtual Machines tentang membuka port dan titik akhir ke VM Linux.