Linux için OSConfig aracısını yükleme ve yükleme

Bu makale, cihazlarına OSConfig özellikleri eklemek isteyen kişilere yöneliktir, böylece yapılandırmaları Azure IoT hizmetleri aracılığıyla sağlanabilir, yönetilebilir ve izlenebilir. Bu, cihaz oluşturucuları, sistem tümleştiricileri, çözüm oluşturucuları vb. içerebilir.

OSConfig aracısı, her bir cihazın yerel yapılandırmasını büyük ölçekte sağlama ve yönetim için Azure IoT'ye dönüştüren kompakt bir Linux bileşenidir. OSConfig motivasyonları ve kullanımıyla ilgili bağlam için bkz. IoT için OSConfig nedir?

Filo ölçeği mi yoksa tek cihaz mı?

  • Senaryoları denemeye başlamak için OSConfig'i tek bir cihaza yükleyebilirsiniz.

  • Büyük ölçekte, yapılandırması sağlanacak ve yönetilecek her cihazın aşağıdaki diyagramda olduğu gibi OSConfig aracısının olması gerekir.

    Her IoT Hub için bir OSConfig ikizi ile IoT Hub bağlanan birden çok cihazı gösteren diyagram.

    OSConfig aracısı genellikle başvuru cihazı işletim sistemi görüntülerine eklenir ve bu görüntüler daha sonra birçok cihaza uygulanır.

Ne tür cihazlar?

Donanım sınıfları

Özet için aşağıdaki tabloya bakın. Ayrıntılı notlar tabloyu izler.

OSConfig yüklensin mi?
MCU sınıfı ¹ Şu anda değil
Linux ² ile daha az güçlü MPU/CPU Yes
Linux ³ ile daha güçlü cihazlar Yes
Windows IoT çalıştıran cihazlar Benzer özellikler
yerleşik , CSP başvurusu

¹ MCU sınıfı: Bağlam açısından bunlar Arduino cihazları, RP2040 tabanlı cihazlar vb. içerir. Bu cihazlar genellikle senaryoya özgü çıplak kod çalıştırır veya AzureRTOS veya FreeRTOS gibi bir mikro işletim sistemiyle çalışır.

² Linux ile daha az güçlü MPU/CPU sınıfı: Aracı kompakt ve verimli olacak şekilde tasarlanmıştır ve Linux çalıştırabilen daha küçük cihazlara kadar kullanım sağlar.

³ Linux ile daha güçlü uç işlem: Verimli bir cihaz tarafı bileşeni olarak, OSConfig aracısı NVidia Jetson kitleri gibi daha güçlü uç işlem cihazlarında mükemmel bir şekilde evdedir.

Linux "IoT cihazları" ile Linux "Edge cihazları" karşılaştırması

Linux için Azure IoT ekosisteminde IoT cihazı ile Edge cihazı terimleri bazen cihazın IoT Edge yüklü olup olmadığını ayırt etmek için kullanılır. Cihaz sınıfıyla gevşek bir bağıntı da vardır (büyük cihazlarda IoT Edge yüklü olma eğilimindedir).

OSConfig her iki bağlamda da çalışır. IoT Edge ile yan yana çalışabilir, ancak IoT Edge gerektirmez.

Cihaz gizli dizileri ve birden çok uygulama/aracı/modül ne olacak?

OSConfig'i Azure IoT Kimlik Hizmeti (AIS) ile birlikte kullanmanızı öneririz.

AIS, Microsoft'un gizli dizileri ve kimlik doğrulamayı işlemeye yönelik cihaz içi aracısıdır. AIS, birden çok uygulama, aracı ve/veya Edge modülünün tek bir cihaz kimliğini paylaşmasını sorunsuz hale getirir. Aşağıdaki adımlarda AIS ve OSConfig'in birlikte kullanılması gösterilmektedir.

AIS tek başına kullanılabilir ve ayrıca IoT Edge 1.2 ve sonraki bir IoT Edge dahildir. Yüklerken aşağıdakileri göz önünde bulundurun.

AIS yüklensin mi?
Cihazda IoT Edge yok (diğer adıyla "IoT cihazı") Yes
Cihazda IoT Edge 1.2 veya üzeri Evet¹
Cihazda 1.1 veya daha düşük IoT Edge No²

¹ IoT Edge 1.2 ve üzeri AIS bileşenlerini içerir. Yönergelerin basitliği için aşağıdaki adımlar her zaman AIS yüklemesini içerir. Bu yaklaşım, paket yöneticinizin bu mantığı dışarıdan yeniden oluşturmak yerine bu adımın işlem dışı olup olmadığını algılamasına olanak tanır.

² IoT Edge 1.1 veya daha düşük olan cihazlara AIS yüklemeyin. IoT Edge'ın sonraki bir sürümüne geçmeyi göz önünde bulundurun. IoT Edge yükseltmeye hazır değilseniz ancak yine de OSConfig senaryolarını keşfetmek istiyorsanız, senaryoları şimdilik başka bir cihazda veya VM'de denemeyi göz önünde bulundurun.

İş 1. Bileşenleri cihaza yükleme

gereksinimlerinize uygun üç seçenek vardır:

  • A. Paketleri yükleme
  • B. Kaynaktan derleme
  • C. Yerleşik özelliklere sahip cihazları kullanma

Yönergeler için aşağıdan tercih ettiğiniz deneyimi seçin:

Arm64 (diğer adıyla aarch64), amd64 (diğer adıyla x86_64) için hazır yükleme paketleri şu konumlarda kullanılabilir:

  • Debian 10
  • Debian 11
  • Ubuntu Server 18.04
  • Ubuntu Server 20.04

Adım 1.1. Cihazı packages.microsoft.com'a bağlama

İşletim sistemi paket yöneticinizi packages.microsoft.com'da kararlı kanala bağlamak için aşağıdaki örnek komutları kullanabilirsiniz.

#!/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

İpucu

Yukarıdaki örnek, paket yöneticinizi prod çoğu cihaz ve durum için uygun olan packages.microsoft.com kanalına bağlar. Önizleme derlemeleri hakkında bilgi için bkz. OSConfig önizlemesi veya "insider" derlemeleri hakkında

Adım 1.2. AIS paketini yükleme

Dikkat

Yukarıda belirtildiği gibi, AIS'yi IoT Edge 1.1 veya daha düşük bir cihaza yüklemeyin. AIS, IoT Edge olmayan cihazlar veya IoT Edge 1.2 veya üzeri cihazlar içindir.

sudo apt-get install -y aziot-identity-service

Adım 1.3. OSConfig paketini yükleme

sudo apt-get install -y osconfig

Şu anda yalnızca bileşenleri yüklüyorsanız (örneğin, temel görüntü hazırlama) Azure'a bağlanmıyorsanız burada durabilirsiniz. Aşağıdaki adımlar daha sonra, belki de müşteriniz tarafından gerçekleştirilir.

İş 2. Azure'a Bağlanma

Artık cihazda OSConfig aracısı ve AIS bulunduğuna göre, bir sonraki adım cihazı Azure'a bağlanabilmesi için bir kimlikle yapılandırmaktır.

İpucu

Bazı cihazlarda sizin yerinize bunu yapmak için mekanizmalar bulunabilir. Örneğin Azure Percept cihazları, cihazın bağlanmasını sağlamak için bir kurulum deneyimi içerir.

Adım 2.1. Cihaz kimlik bilgilerini cihazda AIS olarak ayarlama

AIS, birden çok dağıtım senaryolarını ve kimlik doğrulama yöntemlerini destekler.

Aşağıdaki basit örnekte simetrik anahtara sahip bir bağlantı dizesi kullanılır. Üretim senaryoları için Azure IoT Kimlik Hizmetini Yapılandırma bölümünde açıklanan daha güçlü kimlik doğrulama seçeneklerinden birini belirleyin.

Hızlı Örnek: Simetrik anahtarla bağlanma

Azure portalında:

  1. IoT Hub cihaz listenize gidin
  2. Gerekirse cihaz kimliği oluşturma
  3. Cihazın özelliklerine göz atın ve bağlantı dizesini kopyalayın

Cihazda:

  1. Kimlik bilgilerini AIS olarak ayarlamak için aşağıdaki komutları çalıştırın ve bağlantı dizesi yer tutucusunu kendi kimlik bilgilerinizle değiştirin.
sudo aziotctl config mp –-connection-string "<your connection string from IoT Hub>"
sudo aziotctl config apply

Adım 2.2. Azure bağlantısının başarılı olduğunu doğrulama

AIS ve OSConfig'in cihazdaki şu komutları kullanarak IoT Hub bağlandığını doğrulayabilirsiniz:

sudo aziotctl check
sudo systemctl status osconfig | grep Active

Komutun aziotctl check çıktısı tüm testlerin geçtiğini göstermelidir.

çıktısı systemctl status osconfig içermelidir Active: active. Bazı durumlarda bunun yerine, Active: activating (auto-restart) systemd'in hizmeti yeniden başlatmak için bir zamanlayıcı beklediği anlamına gelir. Bunu beklemek yerine hemen geçmek için komutunu çalıştırın sudo systemctl restart osconfigve ardından durum komutunu yeniden deneyin.

Bu kadar! OSConfig istemcisi artık cihazınızda çalışıyor.

İsteğe bağlı aracı ayarları

Birçok kişi bu bölümü atlayabilir ve yalnızca varsayılan davranışları kullanabilir. Ara sunucular, giden güvenlik duvarı kısıtlamaları veya katmanlı ağlar gibi ortam veya idare kısıtlamalarınız varsa aşağıdakilere bakın:

protokol seçimini IoT Hub

İpucu

Protokol seçimi sürüm v1.0.2.2022040405'te prod/stable kanalına eklendi. OSConfig'in en son üretim/kararlı sürümünü kullandığınızdan emin olun.

IoT Hub ile iletişim kurarken, OSConfig aracısı düz Message Queuing Telemetri Aktarımı (MQTT) veya WebSockets (MQTT_WS) üzerinden MQTT kullanabilir.

Birçok kişinin protokol belirtmesi gerekmez ve yalnızca varsayılan davranışları kullanabilir. Aşağıdaki noktalardan birini temel alan bir protokol belirtmeniz gerekiyorsa değeri /etc/osconfig/osconfig.json içinde ayarlayabilirsinizProtocol.

MQTT MQTT_WS
TCP bağlantı noktası ¹ 8883 443
Ara sunucu ² Hayır Yes
IoT Edge ağ geçidi
(üst/alt) ³
Yes Hayır
Protokol tanımlayıcısı
osconfig.json içinde ayarlamak için
1 2

¹ Cihazdaki OSConfig aracısı giden IoT Hub bağlandığında kullanılan TCP bağlantı noktasını ifade eder

² OSConfig'in bir HTTP proxy sunucusunu (https_proxy ortam değişkeni aracılığıyla) açıkça kullanıp kullanamayacağını belirtir

³ Alt cihazda çalışan OSConfig'in bir üst cihaz aracılığıyla IoT Hub bağlandığı IoT Edge Saydam Ağ Geçidi senaryoyu ifade eder

HTTP proxy sunucusu üzerinden bağlanma

Ortamınız bir HTTP proxy sunucusu aracılığıyla IoT Hub bağlanmak için OSConfig gerektiriyorsa, aşağıdakilere bakın:

İpucu

Proxy sunucu desteği v1.0.2.2022040405 sürümünde prod/stable kanalına eklendi. Ensure you are using the latest prod/stable version of OSConfig.

  1. IoT Hub protokol seçiminde belirtildiği gibi, http proxy sunucusuyla yalnızca MQTT_WS kullanılabilir. MQTT_WS etkinleştirmek için /etc/osconfig/osconfig.json dosyasındaki değerin olarak 2ayarlandığından emin olunProtocol.

  2. veya HTTPS_PROXY ortam değişkeninin https_proxy OSConfig'in çalıştığı bağlamda ayarlandığından emin olun.

    Genellikle, sysadmins veya görüntü oluşturucular proxy sunucusunu kullanması gereken tüm hizmetler (OSConfig dahil) için sistemli birim dosyalarını düzenleyerek bunu iletir.

    Örneğin, şunun gibi bir satır ekleyebilirsiniz:
    Environment="https_proxy=http://myproxy.example.com:3128"
    [Service]/etc/systemd/system/osconfig.service bölümüne.
    Dosyayı düzenledikten sonra ve sudo systemctl restart osconfig komutunu çalıştırdığınızdan sudo systemctl daemon-reload emin olun.

Sonraki Adımlar

OSConfig çalıştıran ve Azure IoT'ye bağlı bir cihazınız olduğuna göre, yönetim senaryolarını deneyebilirsiniz.

OSConfig senaryolarına ve özelliklerine genel bakış için bkz:

Belirli pratik örnekler için bkz: