Simetrik anahtarları kullanarak IoT Edge linux için Windows oluşturma ve sağlama

Uygulama hedefi:  Evet simgesi IoT Edge 1,1

Bu makalede, linux için bir cihazı kaydetmeye ve IoT Edge cihaza kaydetmeye ve sağlamaya Windows sağlar.

IoT hub'larına bağlanan her cihazın buluttan cihaza veya cihazdan buluta iletişimleri izlemek için kullanılan bir cihaz kimliği vardır. Bir cihazı, IoT hub ana bilgisayar adını, cihaz kimliğini ve cihazın IoT hub'ını doğrulamak için kullandığı bilgileri içeren bağlantı bilgileriyle IoT Hub.

Bu makaledeki adımlarda, tek bir cihazı IoT hub'ını bağlayarak el ile sağlama adlı bir işlem adım adım açıklanmıştır. El ile sağlama için cihazların kimliklerini doğrulamaya IoT Edge vardır:

  • Simetrik anahtarlar: Yeni bir cihaz kimliği IoT Hub, hizmet iki anahtar oluşturur. Anahtarlardan birini cihaza yer ve kimlik doğrulama IoT Hub sunar.

    Bu kimlik doğrulama yöntemi daha hızlı bir şekilde çalışmaya başlamaz, ancak o kadar güvenli değildir.

  • X.509 otomatik olarak imzalanan: İki X.509 kimlik sertifikası oluşturun ve bunları cihaza yer açın. Yeni bir cihaz kimliği IoT Hub her iki sertifikadan parmak izleri sağlar. Cihaz kimlik doğrulaması IoT Hub, bir sertifika sunar IoT Hub sertifikanın parmak iziyle eş olduğunu doğrular.

    Bu kimlik doğrulama yöntemi daha güvenlidir ve üretim senaryoları için önerilir.

Bu makalede kimlik doğrulama yönteminiz olarak simetrik anahtarların kullanımı açıklanmıştır. X.509 sertifikalarını kullanmak için bkz. X.509sertifikalarını kullanarak IoT Edge Linux için Windows oluşturma ve sağlama.

Not

Ayar için çok sayıda cihazınız varsa ve her birini el ile sağlamak istemiyorsanız, IoT Edge'nin IoT Hub sağlama hizmetiyle nasıl çalıştığını öğrenmek için aşağıdaki makalelerden birini kullanın:

Önkoşullar

Bu makalede, IoT Edge cihazınızı kaydetme ve Linux için IoT Edge yükleme hakkında Windows. Bu görevleri gerçekleştirmek için kullanılan farklı önkoşullar ve yardımcı programlar vardır. Devam etmeden önce tüm önkoşulların karşılandığından emin olun.

Cihaz yönetimi araçları

Cihazınızı kaydetme adımları için Azure portal, Visual Studio Code veya Azure CLI kullanabilirsiniz. Her yardımcı programın kendi önkoşulları vardır:

Azure aboneliğinizin ücretsiz veya standart bir IoT hub'ı.

Cihaz gereksinimleri

Aşağıdaki Windows gereksinimleri olan bir cihaz:

  • Sistem Gereksinimleri

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise)
    • Windows Server 20191/2022
      1 Windows 10 ve Windows server 2019 en düşük derleme 17763 ve tüm geçerli toplu güncelleştirmeler yüklü.
  • Donanım gereksinimleri

    • En Düşük Boş Bellek: 1 GB
    • En Düşük Boş Disk Alanı: 10 GB
  • Sanallaştırma desteği

  • Ağ desteği

    • Windows Server varsayılan anahtarla birlikte gelir. EFLOW'ı Windows Server cihazına dağıtmadan önce bir sanal anahtar oluşturmanız gerekir. Daha fazla bilgi için bkz. Linux için sanal anahtar oluşturma Windows.
    • Windows Desktop sürümleri, EFLOW yüklemesi için kullanılan bir varsayılan anahtarla birlikte gelir. Gerekirse kendi özel sanal anahtarınızı oluşturabilirsiniz.

İpucu

Dağıtım sırasında Linux için Azure IoT Edge'de GPU hızlandırmalı Linux modüllerini Windows, göz önünde bulunduracak birkaç yapılandırma seçeneği vardır.

GPU mimarinize bağlı olarak doğru sürücüleri yüklemeniz gerekir ve bir gpu derlemenize Windows Insider Programı gerekir. Yapılandırma İhtiyaçlarınızı belirlemek ve bu önkoşulları karşılamak için bkz. Windows üzerinde Linux için GPU Azure IoT Edge gpu hızlandırma.

Şimdi GPU hızlandırma önkoşullarını yerine getirilmesi için zaman alanın. Yükleme sırasında GPU hızlandırması istediğinize karar veriyorsanız yükleme işlemini yeniden başlatmanız gerekir.

Geliştirici araçları

PowerShell veya Windows Yönetim Merkezi'ni kullanarak cihazlarınızı IoT Edge kullanabilirsiniz. Her yardımcı programın kendi önkoşulları vardır:

PowerShell kullanmak için aşağıdaki adımları kullanarak hedef cihazınızı Windows'de Linux için Azure IoT Edge yüklemesi ve Linux sanal makinesinin dağıtımına hazırlayın:

  1. Hedef cihazda yürütme ilkesi olarak AllSigned ayarlayın. Aşağıdaki komutu kullanarak yükseltilmiş bir PowerShell isteminde geçerli yürütme ilkesine bakabilirsiniz:

    Get-ExecutionPolicy -List
    

    yürütme ilkesi local machine ise, AllSigned yürütme ilkesi şu şekilde ayarlanır:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

Linux için Azure IoT Edge hakkında daha fazla bilgi için Windows PowerShell PowerShell işlevleri başvurusuna bakın.

Cihazınızı kaydetme

tercihinize bağlı olarak cihazınızı kaydetmek için Azure portal, Visual Studio Code veya Azure clı kullanabilirsiniz.

Azure portal IoT Hub 'ınızda, IoT Edge cihazlar kenar etkin olmayan IoT cihazlarından ayrı olarak oluşturulur ve yönetilir.

  1. Azure Portal oturum açın ve IoT Hub 'ınıza gidin.

  2. Sol bölmede, menüden IoT Edge ' i seçin ve ardından IoT Edge cihaz ekle' yi seçin.

    Azure portal IoT Edge bir cihaz ekleyin

  3. Cihaz oluştur sayfasında, aşağıdaki bilgileri sağlayın:

    • Açıklayıcı bir cihaz KIMLIĞI oluşturun. Daha sonra kullanacağınız için bu cihaz KIMLIĞINI bir yere unutmayın.
    • Kimlik doğrulama türü olarak simetrik anahtar ' ı seçin.
    • Kimlik doğrulama anahtarlarını otomatik oluşturmak ve yeni cihazı hub 'ınıza bağlamak için varsayılan ayarları kullanın.
  4. Kaydet’i seçin.

Artık IoT Hub kayıtlı bir cihazınız olduğuna göre, IoT Edge çalışma zamanının yüklenmesi ve sağlanması için kullandığınız bilgileri alın.

Kayıtlı cihazları görüntüleme ve sağlama bilgilerini alma

Simetrik anahtar kimlik doğrulaması kullanan cihazların, IoT Edge çalışma zamanının yüklenmesi ve sağlanması için bağlantı dizelerine ihtiyacı vardır.

IoT Hub 'ınıza bağlanan tüm Edge özellikli cihazlar IoT Edge sayfasında listelenir.

IoT Hub 'ınızdaki tüm IoT Edge cihazları görüntülemek için Azure portal kullanın

Cihazınızı ayarlamaya hazırsanız, fiziksel cihazınızı IoT Hub 'ındaki kimliğiyle bağlayan bağlantı dizesine ihtiyacınız vardır.

Simetrik Anahtarlarla kimlik doğrulayan cihazların, bağlantı dizeleri portalda kopyalamak için kullanılabilir.

  1. Portaldaki IoT Edge sayfasında, IoT Edge cihazları LISTESINDEN cihaz kimliği ' ne tıklayın.
  2. Birincil bağlantı dizesinin veya İkincil bağlantı dizesinin değerini kopyalayın.

IoT Edge yüklensin

Linux için Azure IoT Edge hedef cihazınızda Windows dağıtın.

Linux için IoT Edge, hedef cihazınızda Windows ' ye yükler.

Not

aşağıdaki PowerShell işleminde, Linux için IoT Edge yerel cihaza Windows nasıl dağıtılacağı özetlenmektedir. PowerShell kullanarak uzak bir hedef cihaza dağıtım yapmak için uzak bir cihazla bağlantı kurmak ve bu komutları bu cihazda uzaktan çalıştırmak için uzak PowerShell 'i kullanabilirsiniz.

  1. Yükseltilmiş bir PowerShell oturumunda, Windows Linux için IoT Edge indirmek üzere aşağıdaki komutlardan her birini çalıştırın.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  2. cihazınızda Linux için IoT Edge ' i Windows.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    yükleme INSTALLDIR="<FULLY_QUALIFIED_PATH>" komutuna ve parametrelerini ekleyerek Windows yükleme ve VHDX dizinlerinde Linux için özel IoT Edge belirtebilirsiniz VHDXDIR="<FULLY_QUALIFIED_PATH>" .

  3. Hedef cihazdaki Yürütme ilkesini, zaten değilse olarak ayarlayın AllSigned . Geçerli yürütme ilkesini denetlemek ve Yürütme ilkesini ' a ayarlamak için komutlar için PowerShell önkoşulları bölümüne bakın AllSigned .

  4. Windows dağıtımında Linux için IoT Edge oluşturun. Dağıtım, Linux sanal makinenizi oluşturur ve IoT Edge çalışma zamanını sizin için kurar.

    Deploy-Eflow
    

    İpucu

    Varsayılan olarak, Deploy-Eflow komut, Linux sanal makinenizi 1 GB RAM, 1 vCPU çekirdeği ve 16 GB disk alanı ile oluşturur. Ancak, sanal makinenizin ihtiyaç duyacağı kaynaklar, dağıttığınız iş yüklerine oldukça bağlıdır. VM 'niz iş yüklerinizi desteklemek için yeterli belleğe sahip değilse, bu işlem başlatılamaz.

    Komutun isteğe bağlı parametrelerini kullanarak, sanal makinenin kullanılabilir kaynaklarını özelleştirebilirsiniz Deploy-Eflow .

    Örneğin, aşağıdaki komut 4 vCPU çekirdeği, 4 GB RAM (MB olarak gösterilir) ve 20 GB disk alanı içeren bir sanal makine oluşturur:

    Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20
    

    Kullanılabilen tüm isteğe bağlı parametreler hakkında daha fazla bilgi için, bkz. Windows Linux için IoT Edge PowerShell işlevleri.

    GPU hızlandırmalı Linux modüllerini etkinleştirmek için dağıtımınıza bir GPU atayabilirsiniz. Bu özelliklere erişim kazanmak için, Windows Linux için Azure IoT Edge GPU hızlandırmasınaayrıntılı önkoşulları yüklemeniz gerekecektir.

    Bir GPU geçişi kullanmak için, komut için Gpuname, gpupassthroughtype ve gpucount parametrelerini ekleyin Deploy-Eflow . Kullanılabilen tüm isteğe bağlı parametreler hakkında daha fazla bilgi için, bkz. Windows Linux için IoT Edge PowerShell işlevleri.

    Uyarı

    Donanım aygıtı geçiş özelliğinin etkinleştirilmesi, güvenlik risklerini artırabilir. Microsoft, uygun olduğunda GPU satıcıınızdan cihaz azaltma sürücüsü yapmanızı önerir. Daha fazla bilgi için bkz. ayrık cihaz ataması kullanarak grafik cihazları dağıtma.

  5. Lisans koşullarını kabul etmek için ' Y ' girin.

  6. Tercihinize bağlı olarak, Isteğe bağlı tanılama verilerini açıp kapatmak Için ' O ' veya ' R ' girin.

  7. Dağıtım tamamlandıktan sonra PowerShell penceresi dağıtımı başarılı olur.

    Başarılı bir dağıtım, mesajların sonunda ' dağıtım başarılı ' olarak gösterilir.

    Başarılı bir dağıtımdan sonra cihazınızı sağlamaya hazırlanın.

Cihazı bulut kimliğiyle sağlama

Cihazınızı bulut kimliği ve kimlik doğrulama bilgileriyle ayarlamaya hazır olursanız.

Simetrik anahtarları kullanarak cihazınızı sağlamanız için cihazınızın bağlantı dizesi gerekir.

Cihazlarınızı sağlamak için Windows Merkezi'ni veya yükseltilmiş bir PowerShell oturumunu kullanabilirsiniz.

Hedef cihazdaki yükseltilmiş bir PowerShell oturumunda aşağıdaki komutu çalıştırın. Yer tutucu metnini kendi değerleriniz ile değiştirin.

Provision-EflowVm -provisioningType ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"

komutu hakkında daha fazla bilgi için bkz. Linux Provision-EflowVM için IoT Edge için PowerShell işlevleri Windows.

Başarılı yapılandırmayı doğrulama

IoT Edge Linux için Windows yüklemenin başarıyla yük IoT Edge doğrulayın.

  1. PowerShell oturum IoT Edge komutunu kullanarak Windows makinede Linux için oturum açabilirsiniz:

    Connect-EflowVm
    

    Not

    Sanal makinede SSH'ye izin verilen tek hesap, onu oluşturan kullanıcıdır.

  2. Oturum açtıktan sonra, aşağıdaki Linux komutunu kullanarak IoT Edge modüllerinin listesini kontrol edin:

    sudo iotedge list
    
  3. IoT Edge hizmetinin sorunlarını gidermeniz gerekirse aşağıdaki Linux komutlarını kullanın.

    1. Hizmet günlüklerini alın.

      sudo journalctl -u iotedge
      
    2. Cihazın check yapılandırmasını ve bağlantı durumunu doğrulamak için aracı kullanın.

      sudo iotedge check
      

Yeni bir cihaz IoT Edge cihaz, durum kodunu 417 -- The device's deployment configuration is not set Azure portal. Bu durum normaldir ve cihazın bir modül dağıtımı almaya hazır olduğu anlamına gelir.

Sonraki adımlar