Baca dalam bahasa Inggris

Bagikan melalui


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.

Skala armada atau perangkat tunggal?

  • 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.

    Diagram memperlihatkan beberapa perangkat yang terhubung ke IoT Hub, dengan kembar OSConfig untuk masing-masing perangkat.

    Biasanya agen OSConfig akan disertakan dalam gambar OS perangkat referensi, yang kemudian diterapkan ke banyak perangkat.

Jenis perangkat apa?

Kelas perangkat keras

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.

Linux "Perangkat IoT" vs. "Perangkat Edge" Linux

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.

Bagaimana dengan rahasia perangkat, dan bagaimana dengan beberapa aplikasi/agen/modul?

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.

Pekerjaan 1. Menginstal komponen pada perangkat

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:

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

Langkah 1.1. Menyambungkan perangkat ke packages.microsoft.com

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"

Langkah 1.2. Menginstal paket AIS

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

Langkah 1.3. Menginstal paket OSConfig

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.

Pekerjaan 2. Menghubungkan ke Azure

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.

Langkah 2.1. Mengatur kredensial perangkat ke AIS pada 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:

  1. Menavigasi ke daftar perangkat IoT Hub Anda
  2. Membuat identitas perangkat jika diperlukan
  3. Telusuri ke properti perangkat, dan salin string koneksi

Pada perangkat:

  1. 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

Langkah 2.2. Memverifikasi koneksi yang berhasil ke Azure

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.

Pengaturan agen opsional

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:

pemilihan protokol IoT Hub

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

Menyambungkan melalui server proksi HTTP

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.

  1. 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 ke 2.

  2. Pastikan variabel https_proxy lingkungan atau HTTPS_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 menjalankan sudo systemctl daemon-reload dan sudo systemctl restart osconfig setelah mengedit file.

Langkah berikutnya

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: