Menjalankan Azure IoT Edge di Ubuntu Komputer Virtuals

Berlaku untuk ikon:yes IoT Edge 1.1 Versi lain: IoT Edge 1.2, IoT Edge 1.3

Berlaku untuk:IoT Edge 1.2 checkmark IoT Edge 1.2 IoT Edge 1.3 checkmark IoT Edge 1.3 Versi lain:IoT Edge 1.1

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 menyebarkan 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 menggunakan mesin virtual Ubuntu 18.04 LTS dengan runtime Azure IoT Edge diinstal dan dikonfigurasi menggunakan string koneksi perangkat yang telah disediakan sebelumnya. Penyebaran dilakukan menggunakan templat Azure Resource Manager berbasis cloud-init yang disimpan di repositori proyek iotedge-vm-deploy.

Artikel ini mencantumkan langkah-langkah untuk menyebarkan komputer virtual Ubuntu 20.04 LTS dengan runtime Azure IoT Edge terinstal dan dikonfigurasi menggunakan string koneksi perangkat yang telah disediakan sebelumnya. 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 akan 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, klik tombol di bawah ini:

    Menyebarkan ke Tombol Azure untuk iotedge-vm-deploy

    Menyebarkan ke Tombol Azure untuk iotedge-vm-deploy

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

    Cuplikan layar yang menunjukkan templat iotedge-vm-deploy

    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, klik tombol di bagian bawah untuk berpindah ke Next : Review + create tempat Anda dapat meninjau istilah dan klik Buat untuk memulai penyebaran.

  3. Verifikasi bahwa penyebaran telah berhasil diselesaikan. Sumber daya komputer virtual seharusnya telah disebarkan ke 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 telah 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 Jenisautentikasipassword, lihat contoh di bawah ini:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://aka.ms/iotedge-vm-deploy" \
    --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. Contoh ditunjukkan di bawah ini.

    #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://aka.ms/iotedge-vm-deploy" \
    --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)"
    

    Untuk menggunakan Jenisautentikasipassword, lihat contoh di bawah ini:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.3/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. Contoh ditunjukkan di bawah ini.

    #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/1.3/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 penyebaran telah berhasil diselesaikan. Sumber daya komputer virtual seharusnya telah disebarkan ke 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 Komputer Virtuals tentang membuka port dan titik akhir ke VM Linux