Bagaimana dan di mana menginstal agen OSConfig untuk Linux
Artikel ini ditujukan untuk orang yang ingin menambahkan kemampuan OSConfig ke perangkat mereka, sehingga konfigurasi mereka dapat disediakan, dikelola, dan dipantau melalui layanan Azure IoT. Ini dapat mencakup penyusun perangkat, integrator sistem, penyusun solusi, dan sebagainya.
Agen OSConfig adalah komponen Linux ringkas yang memproyeksikan konfigurasi lokal setiap perangkat ke Azure IoT untuk provisi dan manajemen dalam skala besar. Untuk konteks tentang motivasi dan penggunaan OSConfig, lihat: Apa itu OSConfig untuk IoT.
Untuk mulai mencoba skenario, Anda dapat menginstal OSConfig pada satu perangkat.
Dalam skala besar, setiap perangkat yang konfigurasinya akan disediakan dan dikelola harus memiliki agen OSConfig, seperti dalam diagram berikut.
Biasanya agen OSConfig akan disertakan dalam gambar OS perangkat referensi, yang kemudian diterapkan ke banyak perangkat.
Lihat tabel di bawah ini untuk ringkasan. Catatan terperinci mengikuti tabel.
Menginstal OSConfig? | |
---|---|
Kelas MCU ¹ | Tidak sekarang |
MPU/CPU yang kurang kuat dengan Linux ² | Ya |
Perangkat yang lebih kuat dengan Linux ³ | Ya |
Perangkat yang menjalankan Windows IoT | Kemampuan serupa referensi CSP bawaan |
Kelas MCU ¹: Untuk konteks, ini akan mencakup perangkat Arduino, perangkat berbasis RP2040, dan sebagainya. Perangkat ini biasanya menjalankan skenario kode tertentu bare-metal atau dengan micro-OS seperti AzureRTOS atau FreeRTOS.
² Kelas MPU/CPU yang kurang kuat dengan Linux: Agen ini dirancang agar ringkas dan efisien, memungkinkan penggunaan ke perangkat yang lebih kecil yang mampu menjalankan Linux.
³ Komputasi edge yang lebih kuat dengan Linux: Sebagai komponen sisi perangkat yang efisien, agen OSConfig berada di rumah dengan sempurna pada perangkat komputasi edge yang lebih kuat seperti kit NVidia Jetson.
Dalam ekosistem Azure IoT untuk Linux, istilah perangkat IoT vs. Perangkat Edge terkadang digunakan untuk membedakan apakah perangkat telah IoT Edge diinstal. Ada juga korelasi longgar dengan kelas perangkat (perangkat yang lebih besar cenderung memiliki IoT Edge terpasang).
OSConfig berfungsi dalam salah satu konteks. Ini dapat berjalan berdampingan dengan IoT Edge, tetapi tidak memerlukan IoT Edge.
Sebaiknya gunakan OSConfig bersama dengan Azure IoT Identity Service (AIS).
AIS adalah broker di perangkat Microsoft untuk menangani rahasia dan autentikasi. AIS membuatnya mulus untuk beberapa aplikasi, agen, dan/atau modul Edge untuk berbagi satu identitas perangkat. Langkah-langkah di bawah ini menunjukkan penggunaan AIS dan OSConfig bersama-sama.
AIS tersedia secara mandiri, dan juga termasuk dalam IoT Edge 1.2 dan yang lebih besar. Pertimbangkan hal berikut saat menginstal.
Pasang AIS? | |
---|---|
Perangkat tidak memiliki IoT Edge (alias "perangkat IoT") | Ya |
Perangkat memiliki IoT Edge 1.2 atau lebih tinggi | Ya¹ |
Perangkat memiliki IoT Edge 1.1 atau lebih rendah | Tidak² |
¹ IoT Edge 1.2 dan yang lebih besar termasuk komponen AIS. Untuk kesederhanaan instruksi, langkah-langkah di bawah ini selalu menyertakan penginstalan AIS. Pendekatan ini memungkinkan manajer paket Anda mendeteksi apakah langkah ini adalah no-op, daripada membuat ulang logika tersebut secara eksternal.
² Jangan instal AIS pada perangkat dengan IoT Edge 1.1 atau lebih rendah. Pertimbangkan untuk pindah ke versi IoT Edge yang lebih baru. Jika Anda belum siap untuk meningkatkan IoT Edge tetapi Anda masih ingin menjelajahi skenario OSConfig, pertimbangkan untuk mencoba skenario di perangkat atau VM lain untuk saat ini.
Ada tiga opsi yang sesuai dengan kebutuhan Anda:
- J. Memasang paket
- B. Membangun dari sumber
- C. Menggunakan perangkat dengan kemampuan bawaan
Pilih pengalaman pilihan Anda di bawah ini untuk mendapatkan petunjuk:
- J. Menginstal paket (paling populer)
- B. Membangun dari sumber (paling fleksibel)
- C. Bawaan (pratinjau)
Paket instalasi siap pakai tersedia untuk arm64 (alias aarch64), amd64 (alias x86_64) pada:
- Debian 10
- Debian 11
- Ubuntu Server 18.04
- Ubuntu Server 20.04
Anda dapat menggunakan contoh perintah berikut untuk menyambungkan manajer paket OS Anda ke saluran stabil di packages.microsoft.com.
#!/bin/bash
## For Ubuntu and on Debian 10+
## Register packages.microsoft.com key and prod channel
sudo wget https://packages.microsoft.com/keys/microsoft.asc -O /etc/apt/trusted.gpg.d/packages-microsoft-com_key.asc
os_name=$(grep ^ID= /etc/os-release | tr -d "ID=")
os_version=$(grep ^VERSION_ID /etc/os-release | tr -d "VERSION_ID=")
sudo wget https://packages.microsoft.com/config/"$os_name"/"$os_version"/prod.list -O /etc/apt/sources.list.d/packages-microsoft-com_prod.list
sudo apt update
Tip
Contoh di atas menghubungkan manajer paket Anda ke prod
saluran di packages.microsoft.com, yang sesuai untuk sebagian besar perangkat dan situasi. Untuk informasi tentang build pratinjau, lihat: Tentang pratinjau OSConfig atau build "insider"
Perhatian
Seperti disebutkan di atas, jangan instal AIS pada perangkat dengan IoT Edge 1.1 atau lebih rendah. AIS adalah untuk perangkat tanpa IoT Edge, atau perangkat dengan IoT Edge 1.2 atau lebih tinggi.
sudo apt-get install -y aziot-identity-service
sudo apt-get install -y osconfig
Jika Anda hanya menginstal komponen saat ini (misalnya menyiapkan gambar dasar) yang tidak tersambung ke Azure, Anda dapat berhenti di sini. Langkah-langkah berikut akan dilakukan nanti, mungkin oleh pelanggan Anda.
Sekarang setelah agen OSConfig dan AIS ada di perangkat, langkah selanjutnya adalah mengonfigurasi perangkat dengan identitas sehingga dapat terhubung ke Azure.
Tip
Beberapa perangkat mungkin memiliki mekanisme untuk melakukan ini atas nama Anda. Misalnya, perangkat Azure Percept menyertakan pengalaman penyiapan untuk menyambungkan perangkat.
AIS mendukung beberapa skenario penyebaran dan metode autentikasi.
Contoh sederhana berikut menggunakan string koneksi dengan kunci simetris. Untuk skenario produksi, pilih dari opsi autentikasi yang lebih kuat yang dijelaskan di Mengonfigurasi Azure IoT Identity Service.
Contoh Cepat: Menyambungkan dengan kunci konten
Di portal Microsoft Azure:
- Menavigasi ke daftar perangkat IoT Hub Anda
- Membuat identitas perangkat jika diperlukan
- Telusuri ke properti perangkat, dan salin string koneksi
Pada perangkat:
- Jalankan perintah berikut untuk mengatur kredensial ke AIS, mengganti tempat penampung string koneksi dengan tempat penampung Anda sendiri.
sudo aziotctl config mp –-connection-string "<your connection string from IoT Hub>" sudo aziotctl config apply
Anda dapat memverifikasi bahwa AIS dan OSConfig tersambung ke IoT Hub menggunakan perintah ini pada perangkat:
sudo aziotctl check
sudo systemctl status osconfig | grep Active
Output perintah aziotctl check
harus menunjukkan semua pengujian lulus.
Output dari systemctl status osconfig
harus mencakup Active: active
. Dalam beberapa kasus, Anda mungkin melihat Active: activating (auto-restart)
sebagai gantinya, yang berarti systemd sedang menunggu timer untuk memulai ulang layanan. Untuk segera melewati ini daripada menunggu, jalankan sudo systemctl restart osconfig
, lalu coba perintah status lagi.
Itu saja! Klien OSConfig sekarang berjalan di perangkat Anda.
Banyak orang dapat melewati bagian ini dan hanya menggunakan perilaku default. Jika Anda memiliki batasan lingkungan atau tata kelola seperti server proksi, pembatasan firewall keluar, atau jaringan berlapis, lihat yang berikut ini:
Tip
Pemilihan protokol ditambahkan ke saluran prod/stabil dalam versi v1.0.2.2022040405. Pastikan Anda menggunakan OSConfig versi prod/stabil terbaru.
Saat berkomunikasi dengan IoT Hub, agen OSConfig dapat menggunakan Message Queuing Telemetry Transport (MQTT) biasa atau dapat menggunakan MQTT melalui WebSockets (MQTT_WS).
Banyak orang tidak perlu menentukan protokol, dan cukup menggunakan perilaku default. Jika Anda perlu menentukan protokol berdasarkan salah satu pertimbangan berikut, Anda akan mengatur Protocol
nilai di /etc/osconfig/osconfig.json.
MQTT | MQTT_WS | |
---|---|---|
Port TCP ¹ | 8883 | 443 |
Server proksi ² | Tidak | Ya |
Gateway IoT Edge (induk/anak) ³ |
Ya | Tidak |
Pengidentifikasi protokol untuk mengatur di osconfig.json |
1 | 2 |
¹ Mengacu pada port TCP yang digunakan saat agen OSConfig pada perangkat terhubung keluar ke IoT Hub
² Mengacu pada apakah OSConfig dapat secara eksplisit menggunakan server proksi HTTP (melalui variabel lingkungan https_proxy)
³ Mengacu pada skenario Gateway Transparan IoT Edge, di mana OSConfig yang berjalan pada perangkat anak terhubung ke IoT Hub melalui perangkat induk
Jika lingkungan Anda mengharuskan OSConfig tersambung ke IoT Hub melalui server proksi HTTP, lihat yang berikut ini:
Tip
Dukungan server proksi ditambahkan ke saluran prod/stabil dalam versi v1.0.2.2022040405. Ensure you are using the latest prod/stable version of OSConfig.
Seperti yang disebutkan dalam pemilihan protokol IoT Hub, hanya MQTT_WS yang dapat digunakan dengan server proksi HTTP. Untuk mengaktifkan MQTT_WS, pastikan bahwa
Protocol
nilai di /etc/osconfig/osconfig.json diatur ke2
.Pastikan variabel
https_proxy
lingkungan atauHTTPS_PROXY
diatur dalam konteks tempat OSConfig berjalan.Biasanya, sysadmins atau penyusun gambar menyampaikan ini dengan mengedit file unit systemd untuk layanan apa pun (termasuk OSConfig) yang harus menggunakan server proksi.
Misalnya, Anda akan menambahkan baris seperti
Environment="https_proxy=http://myproxy.example.com:3128"
ke[Service]
bagian dari /etc/systemd/system/osconfig.service.
Pastikan untuk menjalankansudo systemctl daemon-reload
dansudo systemctl restart osconfig
setelah mengedit file.
Sekarang setelah Anda memiliki perangkat yang menjalankan OSConfig dan terhubung ke Azure IoT, Anda dapat mencoba skenario manajemen.
Untuk gambaran umum skenario dan kemampuan OSConfig, lihat:
Untuk contoh praktis tertentu, lihat: