Membuat dan menyediakan IoT Edge untuk Linux pada perangkat Windows dalam skala besar menggunakan kunci konten
Berlaku untuk ikon:
IoT Edge 1.1 Versi lain: IoT Edge 1.2, IoT Edge 1.3
Berlaku untuk
IoT Edge 1.2
1.3 Versi lain:IoT Edge 1.1
Artikel ini memberikan petunjuk menyeluruh untuk provisi otomatis satu atau beberapa perangkat IoT Edge untuk Linux di Windowsmenggunakan kunci konten. Anda dapat memprovisikan perangkat Azure IoT Edge secara otomatis dengan Azure IoT Hub device provisioning service (DPS). Jika Anda tidak terbiasa dengan proses provisi otomatis, tinjau gambaran umum provisi sebelum melanjutkan.
Catatan
Versi terbaru IoT Edge untuk Linux pada rilis berkelanjutan Windows (CR), berdasarkan IoT Edge versi 1.2, berada dalam pratinjau publik. Penginstalan bersih mungkin diperlukan untuk perangkat yang masuk ke penggunaan produksi setelah rilis ketersediaan umum (GA) tersedia. Untuk informasi selengkapnya, lihat Rilis berkelanjutan EFLOW.
Tugasnya adalah sebagai berikut:
- Buat pendaftaran individual untuk satu perangkat, atau pendaftaran grup untuk sekumpulan perangkat.
- Gunakan mesin virtual Linux dengan runtime IoT Edge yang diinstal dan hubungkan ke IoT Hub.
Pengesahan kunci konten adalah pendekatan sederhana untuk mengautentikasi perangkat dengan instans device provisioning service. Metode pengesahan ini merupakan pengalaman "Halo dunia" bagi pengembang yang baru dalam provisi perangkat, atau tidak memiliki persyaratan keamanan yang ketat. Pengesahan perangkat menggunakan TPM atau sertifikat X.509 lebih aman, dan harus digunakan untuk persyaratan keamanan yang lebih ketat.
Prasyarat
Sumber daya cloud
- Hub IoT yang aktif
- Instans layanan provisi perangkat IoT Hub di Azure, yang ditautkan ke hub IoT Anda
- Jika Anda tidak memiliki instans layanan provisi perangkat, Anda dapat mengikuti petunjuk di bagian Membuat layanan provisi perangkat IoT Hub baru dan Menautkan IoT hub dan layanan provisi perangkat Anda dari mulai cepat layanan provisi perangkat IoT Hub.
- Setelah menjalankan layanan provisi perangkat, salin nilai Cakupan ID dari halaman gambaran ringkasan. Anda menggunakan nilai ini saat mengonfigurasi runtime IoT Edge.
Persyaratan perangkat
Perangkat Windows dengan persyaratan minimum berikut:
Persyaratan Sistem
- Windows 10 1/11 (Pro, Enterprise, IoT Enterprise)
- Windows Server 20191/2022
1 Windows 10 dan Windows Server 2019 minimum build 17763 dengan semua pembaruan kumulatif saat ini diinstal.
Persyaratan perangkat keras
- Memori Kosong Minimum: 1 GB
- Ruang Disk Kosong Minimum: 10 GB
Dukungan virtualisasi
- Pada Windows 10, aktifkan Hyper-V. Untuk informasi selengkapnya, lihat cara Memasang Hyper-V di Windows 10.
- Di Windows Server, pasang peran Hyper-V dan buat sakelar jaringan default. Untuk informasi selengkapnya, lihat Virtualisasi bertumpuk untuk Azure IoT Edge untuk Linux di Windows.
- Pada mesin virtual, konfigurasikan virtualisasi bertumpuk. Untuk informasi selengkapnya, lihat panduan virtualisasi bertumpuk.
Dukungan Jaringan
- Windows Server tidak dilengkapi dengan sakelar default. Sebelum Anda dapat menyebarkan EFLOW untuk perangkat Windows Server, Anda harus membuat sakelar virtual. Untuk informasi selengkapnya, lihat Membuat sakelar virtual untuk Linux di Windows.
- Versi Windows Desktop hadir dengan sakelar default yang dapat digunakan untuk pemasangan EFLOW. Jika diperlukan, Anda dapat membuat sakelar virtual kustom Anda sendiri.
Tip
Jika Anda ingin menggunakan modul Linux GPU terakselerasi di Azure IoT Edge untuk Linux pada penyebaran Windows Anda, ada beberapa opsi konfigurasi yang perlu dipertimbangkan.
Anda perlu memasang driver yang benar sesuai dengan arsitektur GPU Anda, dan Anda mungkin memerlukan akses ke build Windows Insider Program. Untuk menentukan kebutuhan konfigurasi Anda dan mengikuti prasyarat ini, lihat akselerasi GPU untuk Azure IoT Edge untuk Linux di Windows.
Pastikan Anda meluangkan waktu untuk memenuhi prasyarat akselerasi GPU sekarang. Anda perlu memulai ulang proses instalasi jika memutuskan ingin akselerasi GPU selama instalasi.
Alat pengembang
Anda dapat menggunakan PowerShell atau Pusat Admin Windows untuk mengelola perangkat IoT Edge Anda. Setiap utilitas memiliki prasyaratnya sendiri:
Jika Anda ingin menggunakan PowerShell, gunakan langkah-langkah berikut untuk mempersiapkan perangkat target Anda untuk instalasi Azure IoT Edge untuk Linux di Windows dan penyebaran mesin virtual Linux:
Tetapkan kebijakan eksekusi pada perangkat target ke
AllSigned. Anda dapat memeriksa kebijakan eksekusi saat ini dalam permintaan PowerShell yang ditingkatkan menggunakan perintah berikut:Get-ExecutionPolicy -ListJika kebijakan eksekusi
local machinetidakAllSigned, Anda dapat menetapkan kebijakan eksekusi menggunakan:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Untuk informasi selengkapnya tentang Azure IoT Edge untuk Linux pada modul Windows PowerShell, lihat referensi fungsi PowerShell.
Siapkan perangkat target Anda untuk penginstalan Azure IoT Edge untuk Linux di Windows dan penyebaran komputer virtual Linux:
Tetapkan kebijakan eksekusi pada perangkat target ke
AllSigned. Anda dapat memeriksa kebijakan eksekusi saat ini dalam permintaan PowerShell yang ditingkatkan menggunakan perintah berikut:Get-ExecutionPolicy -ListJika kebijakan eksekusi
local machinetidakAllSigned, Anda dapat menetapkan kebijakan eksekusi menggunakan:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Untuk informasi selengkapnya tentang Azure IoT Edge untuk Linux pada modul Windows PowerShell, lihat referensi fungsi PowerShell.
Buat pendaftaran DPS
Buat pendaftaran untuk memprovisikan satu atau beberapa perangkat melalui DPS.
Jika Anda ingin memprovisikan satu perangkat IoT Edge, buat pendaftaran individual. Jika Anda memerlukan provisi untuk beberapa perangkat, ikuti langkah-langkah untuk membuat pendaftaran grup DPS.
Ketika Anda membuat pendaftaran di DPS, Anda memiliki kesempatan untuk menyatakan status awal perangkat kembaran. Di perangkat kembaran, Anda dapat mengatur tag ke perangkat grup dengan metrik apa pun yang Anda butuhkan dalam solusi Anda, seperti wilayah, lingkungan, lokasi, atau jenis perangkat. Tag ini digunakan untuk membuat penyebaran otomatis.
Untuk informasi selengkapnya tentang pendaftaran di Layanan Provisi Perangkat, lihat Cara mengelola pendaftaran perangkat.
Membuat pendaftaran individu DPS
Tip
Langkah-langkah dalam artikel ini adalah untuk portal Microsoft Azure, tetapi Anda juga dapat membuat pendaftaran individu menggunakan Azure CLI. Untuk informasi selengkapnya, lihat az iot dps enrollment. Sebagai bagian dari perintah CLI, gunakan bendera berkemampuan edge untuk menentukan bahwa pendaftaran tersebut adalah untuk perangkat IoT Edge.
Di portal Microsoft Azure, buka instans Layanan provisi perangkat IoT Hub.
Di bawah Pengaturan, pilih Kelola pendaftaran.
Pilih Tambahkan pendaftaran individual lalu selesaikan langkah-langkah berikut untuk mengonfigurasi pendaftaran:
Untuk Mekanisme, pilih Kunci Konten.
Masukkan ID Pendaftaran unik untuk perangkat Anda.
Secara opsional, masukkan ID Perangkat IoT Hub untuk perangkat Anda. Anda dapat menggunakan ID perangkat untuk menargetkan perangkat individual untuk penyebaran modul. Jika Anda tidak memberikan ID perangkat, ID pendaftaran akan digunakan.
Pilih True untuk menyatakan bahwa pendaftarannya adalah untuk perangkat IoT Edge.
Secara opsional, tambahkan nilai tag ke Status Perangkat Kembar Awal. Anda dapat menggunakan tag untuk menargetkan grup perangkat untuk penyebaran modul. Contohnya:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }Pilih Simpan.
Salin nilai Kunci Primer pendaftaran individu untuk digunakan saat memasang runtime bahasa umum IoT Edge.
Sekarang setelah pendaftaran ada untuk perangkat ini, runtime bahasa umum IoT Edge dapat secara otomatis melakukan provisi perangkat selama penginstalan.
Pasang IoT Edge
Sebarkan Azure IoT Edge untuk Linux di Windows di perangkat target Anda.
Instal IoT Edge untuk Linux di Windows pada perangkat target.
Catatan
Proses PowerShell berikut menjabarkan cara menyebarkan IoT Edge untuk Linux di Windows ke perangkat lokal. Untuk menyebarkan ke perangkat target jarak jauh menggunakan PowerShell, Anda dapat menggunakan PowerShell Jarak Jauh untuk membuat koneksi ke perangkat jarak jauh dan menjalankan perintah ini dari jarak jauh pada perangkat tersebut.
Dalam sesi PowerShell yang ditingkatkan, jalankan setiap perintah berikut untuk mengunduh IoT Edge untuk Linux di Windows.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPathInstal IoT Edge untuk Linux di Windows di perangkat Anda.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"Anda dapat menentukan pemasangan IoT Edge kustom untuk Linux di Windows dan direktori VHDX dengan menambahkan parameter
INSTALLDIR="<FULLY_QUALIFIED_PATH>"danVHDXDIR="<FULLY_QUALIFIED_PATH>"ke perintah instal.Tetapkan kebijakan eksekusi pada perangkat target ke
AllSignedjika belum ada. Lihat prasyarat PowerShell untuk perintah untuk memeriksa kebijakan eksekusi saat ini dan mengatur kebijakan eksekusi keAllSigned.Buat IoT Edge untuk Linux pada penyebaran Windows. Penyebaran ini akan membuat mesin virtual Linux Anda dan menginstal runtime IoT Edge untuk Anda.
Deploy-EflowTip
Secara default, perintah
Deploy-Eflowtersebut membuat mesin virtual Linux Anda dengan RAM 1 GB, 1 inti vCPU, dan ruang disk 16 GB. Namun, sumber daya yang dibutuhkan mesin virtual Anda sangat tergantung pada beban kerja yang Anda sebar. Jika mesin virtual Anda tidak memiliki memori yang cukup untuk mendukung beban kerja Anda, perintah akan gagal dimulai.Anda dapat menyesuaikan sumber daya mesin virtual yang tersedia menggunakan parameter opsional perintah
Deploy-Eflow.Misalnya, perintah di bawah ini membuat mesin virtual dengan 4 inti vCPU, RAM 4 GB (ditampilkan dalam MB), dan ruang disk sebesar 20 GB:
Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20Untuk informasi tentang semua parameter opsional yang tersedia, lihat Fungsi PowerShell untuk IoT Edge untuk Linux di Windows.
Peringatan
Secara default, komputer virtual EFLOW Linux tidak memiliki konfigurasi DNS. Penyebaran menggunakan DHCP akan mencoba mendapatkan konfigurasi DNS yang disebarluaskan oleh server DHCP. Silakan periksa konfigurasi DNS Anda untuk memastikan konektivitas internet. Untuk informasi selengkapnya, lihat AzEFLOW-DNS.
Anda dapat menetapkan GPU ke penyebaran Anda untuk mengaktifkan modul Linux GPU terakselerasi. Untuk mendapatkan akses ke fitur-fitur ini, Anda perlu memasang prasyarat yang dirinci dalam akselerasi GPU untuk Azure IoT Edge untuk Linux di Windows.
Untuk menggunakan passthrough GPU, tambahkan parameter gpuName, gpuPassthroughType, dan gpuCount untuk perintah
Deploy-EflowAnda. Untuk informasi tentang semua parameter opsional yang tersedia, lihat Fungsi PowerShell untuk IoT Edge untuk Linux di Windows.Peringatan
Mengaktifkan passthrough perangkat keras dapat meningkatkan risiko keamanan. Microsoft menyarankan driver mitigasi perangkat dari vendor GPU Anda, bila dapat diterapkan. Untuk informasi selengkapnya, lihat Menyebarkan perangkat grafis menggunakan penugasan perangkat terpisah.
Masukkan 'Y' untuk menyetujui ketentuan lisensi.
Masukkan 'O' atau 'R' untuk mengaktifkan/menonaktifkan Data diagnostik opsional, bergantung pada preferensi Anda.
Setelah penyebaran selesai, jendela PowerShell melaporkan Penyebaran berhasil.

Setelah penyebaran berhasil, Anda siap untuk memprovisikan perangkat Anda.
Catatan
Proses PowerShell berikut menjabarkan cara menyebarkan IoT Edge untuk Linux di Windows ke perangkat lokal. Untuk menyebarkan ke perangkat target jarak jauh menggunakan PowerShell, Anda dapat menggunakan PowerShell Jarak Jauh untuk membuat koneksi ke perangkat jarak jauh dan menjalankan perintah ini dari jarak jauh pada perangkat tersebut.
Dalam sesi PowerShell yang ditingkatkan, jalankan setiap perintah berikut untuk mengunduh IoT Edge untuk Linux di Windows.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI-CR-X64" -OutFile $msiPathARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI-CR-ARM64" -OutFile $msiPath
Instal IoT Edge untuk Linux di Windows di perangkat Anda.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"Anda dapat menentukan pemasangan IoT Edge kustom untuk Linux di Windows dan direktori VHDX dengan menambahkan parameter
INSTALLDIR="<FULLY_QUALIFIED_PATH>"danVHDXDIR="<FULLY_QUALIFIED_PATH>"ke perintah instal.Tetapkan kebijakan eksekusi pada perangkat target ke
AllSignedjika belum ada. Lihat prasyarat PowerShell untuk perintah untuk memeriksa kebijakan eksekusi saat ini dan mengatur kebijakan eksekusi keAllSigned.Buat IoT Edge untuk Linux pada penyebaran Windows. Penyebaran ini akan membuat mesin virtual Linux Anda dan menginstal runtime IoT Edge untuk Anda.
Deploy-EflowTip
Secara default, perintah
Deploy-Eflowtersebut membuat mesin virtual Linux Anda dengan RAM 1 GB, 1 inti vCPU, dan ruang disk 16 GB. Namun, sumber daya yang dibutuhkan mesin virtual Anda sangat tergantung pada beban kerja yang Anda sebar. Jika mesin virtual Anda tidak memiliki memori yang cukup untuk mendukung beban kerja Anda, perintah akan gagal dimulai.Anda dapat menyesuaikan sumber daya mesin virtual yang tersedia menggunakan parameter opsional perintah
Deploy-Eflow. Ini diperlukan untuk menyebarkan EFLOW pada perangkat dengan persyaratan perangkat keras minimum.Misalnya, perintah di bawah ini membuat komputer virtual dengan 1 inti vCPU, RAM 1 GB (diwakili dalam MB), dan ruang disk 2 GB:
Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDiskSize 2Catatan:
vmDataSizeadalah parameter baru yang diintriduksi dalam versi CR EFLOW.Untuk informasi tentang semua parameter opsional yang tersedia, lihat Fungsi PowerShell untuk IoT Edge untuk Linux di Windows.
Peringatan
Secara default, komputer virtual EFLOW Linux tidak memiliki konfigurasi DNS. Penyebaran menggunakan DHCP akan mencoba mendapatkan konfigurasi DNS yang disebarluaskan oleh server DHCP. Silakan periksa konfigurasi DNS Anda untuk memastikan konektivitas internet. Untuk informasi selengkapnya, lihat AzEFLOW-DNS.
Anda dapat menetapkan GPU ke penyebaran Anda untuk mengaktifkan modul Linux GPU terakselerasi. Untuk mendapatkan akses ke fitur-fitur ini, Anda perlu memasang prasyarat yang dirinci dalam akselerasi GPU untuk Azure IoT Edge untuk Linux di Windows.
Untuk menggunakan passthrough GPU, tambahkan parameter gpuName, gpuPassthroughType, dan gpuCount untuk perintah
Deploy-EflowAnda. Untuk informasi tentang semua parameter opsional yang tersedia, lihat Fungsi PowerShell untuk IoT Edge untuk Linux di Windows.Peringatan
Mengaktifkan passthrough perangkat keras dapat meningkatkan risiko keamanan. Microsoft menyarankan driver mitigasi perangkat dari vendor GPU Anda, bila dapat diterapkan. Untuk informasi selengkapnya, lihat Menyebarkan perangkat grafis menggunakan penugasan perangkat terpisah.
Masukkan 'Y' untuk menyetujui ketentuan lisensi.
Masukkan 'O' atau 'R' untuk mengaktifkan/menonaktifkan Data diagnostik opsional, bergantung pada preferensi Anda.
Setelah penyebaran selesai, jendela PowerShell melaporkan Penyebaran berhasil.

Setelah penyebaran berhasil, Anda siap untuk memprovisikan perangkat Anda.
Menentukan perangkat dengan identitas cloud-nya
Setelah runtime diinstal pada perangkat Anda, konfigurasikan perangkat dengan informasi yang digunakannya untuk terhubung ke layanan provisi perangkat dan IoT Hub.
Siapkan informasi berikut:
- Nilai Cakupan ID DPS
- ID Registrasi perangkat yang Anda buat
- Baik Kunci Primer dari pendaftaran individu, maupun kunci turunan untuk perangkat yang menggunakan pendaftaran grup.
Anda dapat menggunakan Pusat Admin Windows atau PowerShell untuk menyediakan perangkat IoT Edge Anda.
Untuk PowerShell, jalankan perintah berikut dengan nilai placeholder yang diperbarui dengan nilai Anda sendiri:
Provision-EflowVm -provisioningType DpsSymmetricKey -​scopeId PASTE_YOUR_ID_SCOPE_HERE -registrationId PASTE_YOUR_REGISTRATION_ID_HERE -symmKey PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE
Jalankan perintah berikut dalam sesi PowerShell yang ditingkatkan dengan nilai tempat penampung yang diperbarui dengan nilai Anda sendiri:
Provision-EflowVm -provisioningType DpsSymmetricKey -scopeId PASTE_YOUR_ID_SCOPE_HERE -registrationId PASTE_YOUR_REGISTRATION_ID_HERE -symmKey PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE
Verifikasi keberhasilan penginstalan
Verifikasi bahwa IoT Edge untuk Linux di Windows berhasil diinstal dan dikonfigurasi pada perangkat IoT Edge Anda.
Anda dapat memverifikasi bahwa pendaftaran individual yang Anda buat di layanan provisi perangkat telah digunakan. Navigasikan ke instans layanan provisi perangkat Anda di portal Microsoft Azure. Buka detail pendaftaran untuk pendaftaran individual yang Anda buat. Perhatikan bahwa status pendaftaran telah ditetapkan dan ID perangkat telah dicantumkan.
Masuk ke IoT Edge untuk Linux di mesin virtual Windows menggunakan perintah berikut di sesi PowerShell Anda:
Connect-EflowVmCatatan
Satu-satunya akun yang diizinkan untuk SSH ke mesin virtual adalah pengguna yang membuatnya.
Setelah Masuk, Anda dapat memeriksa daftar modul IoT Edge yang berjalan menggunakan perintah Linux berikut:
sudo iotedge listJika Anda perlu memecahkan masalah layanan IoT Edge, gunakan perintah Linux berikut.
Mengambil log layanan.
sudo journalctl -u iotedgeGunakan alat
checkuntuk memverifikasi konfigurasi dan status koneksi perangkat.sudo iotedge check
Masuk ke IoT Edge untuk Linux di mesin virtual Windows menggunakan perintah berikut di sesi PowerShell Anda:
Connect-EflowVmCatatan
Satu-satunya akun yang diizinkan untuk SSH ke mesin virtual adalah pengguna yang membuatnya.
Setelah Masuk, Anda dapat memeriksa daftar modul IoT Edge yang berjalan menggunakan perintah Linux berikut:
sudo iotedge listJika Anda perlu memecahkan masalah layanan IoT Edge, gunakan perintah Linux berikut.
Mengambil log layanan.
sudo iotedge system logsGunakan alat
checkuntuk memverifikasi konfigurasi dan status koneksi perangkat.sudo iotedge check
Saat Anda membuat perangkat IoT Edge baru, akan ditampilkan kode status 417 -- The device's deployment configuration is not set di portal Microsoft Azure. Status ini normal, dan berarti perangkat siap untuk menerima penyebaran modul.
Menghapus instalan IoT Edge untuk Linux di Windows
Jika Anda ingin menghapus IoT Edge Azure untuk Linux pada penginstalan Windows dari perangkat Anda, gunakan perintah berikut.
- Buka Pengaturan di Windows
- Pilih Tambahkan atau Hapus Program
- Pilih aplikasi Azure IoT Edge LTS
- Pilih Hapus instalan
- Buka Pengaturan di Windows
- Pilih Tambahkan atau Hapus Program
- Pilih aplikasi Azure IoT Edge
- Pilih Hapus instalan
Langkah berikutnya
Proses pendaftaran layanan provisi perangkat memungkinkan Anda mengatur ID perangkat dan tag perangkat kembaran pada saat yang sama saat Anda memprovisikan perangkat baru. Anda dapat menggunakan nilai tersebut untuk menargetkan masing-masing perangkat atau grup perangkat menggunakan manajemen perangkat otomatis. Pelajari cara Menerapkan dan memantau modul IoT Edge dalam skala besar menggunakan portal Azure atau menggunakan Azure CLI.
Anda juga dapat:
- Teruskan untuk menerapkan modul IoT Edge untuk mempelajari cara menggunakan modul ke perangkat Anda.
- Pelajari cara mengelola sertifikat di IoT Edge untuk Linux di mesin virtual Windows dan mentransfer file dari OS host ke mesin virtual Linux Anda.
- Pelajari cara mengonfigurasi perangkat IoT Edge Anda untuk berkomunikasi melalui server proxy.





