Simetrik anahtarları kullanarak Windows cihazında Linux için IoT Edge oluşturma ve sağlama
Şunlar için geçerlidir: IoT Edge 1.1
Önemli
IoT Edge 1.1 destek sonu tarihi 13 Aralık 2022'ydi. Bu ürünün, hizmetin, teknolojinin veya API’nin nasıl desteklendiği hakkında bilgi edinmek için Microsoft Ürün Yaşam Döngüsü’ne göz atın. IoT Edge'in en son sürümüne güncelleştirme hakkında daha fazla bilgi için bkz . IoT Edge'i güncelleştirme.
Bu makale, Windows cihazında Linux için IoT Edge'i kaydetmeye ve sağlamaya yönelik uçtan uca yönergeler sağlar.
IoT hub'ına bağlanan her cihazda, buluttan cihaza veya cihazdan buluta iletişimi izlemek için kullanılan bir cihaz kimliği vardır. Bir cihazı IoT hub ana bilgisayar adı, cihaz kimliği ve cihazın IoT Hub'da kimlik doğrulaması için kullandığı bilgileri içeren bağlantı bilgileriyle yapılandırabilirsiniz.
Bu makaledeki adımlarda, tek bir cihazı IoT hub'ına bağladığınız el ile sağlama adlı işlem adım adım izlenmiştir. El ile sağlama için IoT Edge cihazlarının kimliğini doğrulamak için iki seçeneğiniz vardır:
Simetrik anahtarlar: IoT Hub'da yeni bir cihaz kimliği oluşturduğunuzda hizmet iki anahtar oluşturur. Anahtarlardan birini cihaza yerleştirirsiniz ve kimlik doğrulaması sırasında anahtarı IoT Hub'a sunar.
Bu kimlik doğrulama yöntemini kullanmaya başlamak daha hızlıdır, ancak bu kadar güvenli değildir.
X.509 otomatik olarak imzalanan: İki X.509 kimlik sertifikası oluşturur ve bunları cihaza yerleştirirsiniz. IoT Hub'da yeni bir cihaz kimliği oluşturduğunuzda, her iki sertifikadan da parmak izi sağlarsınız. Cihaz IoT Hub'da kimlik doğrulaması yaparken bir sertifika sunar ve IoT Hub sertifikanın parmak iziyle eşleşip eşleşmediğini doğrular.
Bu kimlik doğrulama yöntemi daha güvenlidir ve üretim senaryoları için önerilir.
Bu makale, kimlik doğrulama yönteminiz olarak simetrik anahtarların kullanılmasını kapsar. X.509 sertifikalarını kullanmak istiyorsanız bkz . X.509 sertifikalarını kullanarak Windows cihazında Linux için IoT Edge oluşturma ve sağlama.
Not
Ayarlayıp her birini el ile sağlamak istemiyorsanız, IoT Edge'in IoT Hub cihaz sağlama hizmetiyle nasıl çalıştığını öğrenmek için aşağıdaki makalelerden birini kullanın:
Önkoşullar
Bu makale, IoT Edge cihazınızı kaydetmeyi ve Windows'da Linux için IoT Edge'i yüklemeyi kapsar. Bu görevlerin farklı önkoşulları ve bunları gerçekleştirmek için kullanılan yardımcı programları vardır. Devam etmeden önce tüm önkoşulları karşıladığınızdan emin olun.
Cihaz yönetimi araçları
Cihazınızı kaydetme adımları için Azure portalı, Visual Studio Code veya Azure CLI'yı kullanabilirsiniz. Her yardımcı programın kendi önkoşulları vardır:
Azure aboneliğinizde ücretsiz veya standart bir IoT hub'ı .
Cihaz gereksinimleri
Aşağıdaki minimum gereksinimlere sahip bir Windows 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
- Minimum Boş Bellek: 1 GB
- En Az Boş Disk Alanı: 10 GB
Sanallaştırma desteği
- Windows 10'da Hyper-V'yi etkinleştirin. Daha fazla bilgi için bkz . Windows 10'da Hyper-V yükleme.
- Windows Server'da Hyper-V rolünü yükleyin ve varsayılan bir ağ anahtarı oluşturun. Daha fazla bilgi için bkz . Windows üzerinde Linux için Azure IoT Edge iç içe sanallaştırma.
- Bir sanal makinede iç içe sanallaştırmayı yapılandırın. Daha fazla bilgi için bkz . iç içe sanallaştırma.
Ağ desteği
- Windows Server varsayılan bir anahtarla birlikte gelmez. EFLOW'u bir Windows Server cihazına dağıtabilmeniz için önce bir sanal anahtar oluşturmanız gerekir. Daha fazla bilgi için bkz . Windows üzerinde Linux için sanal anahtar oluşturma.
- Windows Masaüstü sürümleri, EFLOW yüklemesi için kullanılabilecek varsayılan bir anahtarla birlikte gelir. Gerekirse kendi özel sanal anahtarınızı oluşturabilirsiniz.
İpucu
Windows üzerinde Linux için Azure IoT Edge dağıtımınızda GPU hızlandırmalı Linux modülleri kullanmak istiyorsanız, göz önünde bulundurmanız gereken birkaç yapılandırma seçeneği vardır.
GPU mimarinize bağlı olarak doğru sürücüleri yüklemeniz ve bir Windows Insider Programı derlemesine erişmeniz gerekebilir. Yapılandırma gereksinimlerinizi belirlemek ve bu önkoşulları karşılamak için bkz . Windows üzerinde Linux için Azure IoT Edge için GPU hızlandırma.
GPU hızlandırma önkoşullarını karşılamak için zaman ayırdığınızdan emin olun. Yükleme sırasında GPU hızlandırmasını istediğinize karar verirseniz yükleme işlemini yeniden başlatmanız gerekir.
Geliştirici araçları
IoT Edge cihazlarınızı yönetmek için PowerShell veya Windows Yönetim Merkezi'ni kullanabilirsiniz. Her yardımcı programın kendi önkoşulları vardır:
PowerShell kullanmak istiyorsanız, hedef cihazınızı Windows'da Linux için Azure IoT Edge'in yüklenmesine ve Linux sanal makinesinin dağıtımına hazırlamak için aşağıdaki adımları kullanın:
Hedef cihazdaki yürütme ilkesini olarak
AllSigned
ayarlayın. Aşağıdaki komutu kullanarak yükseltilmiş bir PowerShell isteminde geçerli yürütme ilkesini de kontrol edebilirsiniz:Get-ExecutionPolicy -List
yürütme ilkesi
local machine
değilseAllSigned
, şunu kullanarak yürütme ilkesini ayarlayabilirsiniz:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Windows PowerShell'de Linux için Azure IoT Edge modülü hakkında daha fazla bilgi için bkz . PowerShell işlevleri başvurusu.
Cihazınızı kaydetme
Tercihinize bağlı olarak cihazınızı kaydetmek için Azure portalı, Visual Studio Code veya Azure CLI'yı kullanabilirsiniz.
Azure portalındaki IoT hub'ınızda IoT Edge cihazları, edge etkin olmayan IoT cihazlarından ayrı olarak oluşturulur ve yönetilir.
Sol bölmede menüden Cihazlar'ı ve ardından Cihaz Ekle'yi seçin.
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 not edin.
- IoT Edge Cihazı onay kutusunu işaretleyin.
- Kimlik doğrulama türü olarak Simetrik anahtar'ı seçin.
- Kimlik doğrulama anahtarlarını otomatik olarak oluşturmak ve yeni cihazı hub'ınıza bağlamak için varsayılan ayarları kullanın.
Kaydet'i seçin.
IoT Hub'a kayıtlı bir cihazınız olduğuna göre, IoT Edge çalışma zamanını yükleme ve sağlama işlemini tamamlamak 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üklenmesini ve sağlanmasını tamamlamak için bağlantı dizesi gerekir.
IoT hub'ınıza bağlanan uç özellikli cihazlar Cihazlar sayfasında listelenir. Listeyi Iot Edge Cihazı türüne göre filtreleyebilirsiniz.
Cihazınızı ayarlamaya hazır olduğunuzda, fiziksel cihazınızı IoT hub'ında kimliğine bağlayan bağlantı dizesi gerekir.
Simetrik anahtarlarla kimlik doğrulaması yapılan cihazların bağlantı dizesi portalda kopyalanabilir.
- Portaldaki Cihazlar sayfasından listeden IoT Edge cihaz kimliğini seçin.
- Birincil Bağlantı Dizesi veya İkincil Bağlantı Dizesi değerini kopyalayın.
IoT Edge'i yükleme
Hedef cihazınızda Windows üzerinde Linux için Azure IoT Edge'i dağıtın.
Hedef cihazınıza Windows üzerinde Linux için IoT Edge'i yükleyin.
Not
Aşağıdaki PowerShell işleminde, Windows üzerinde Linux için IoT Edge'in yerel cihaza nasıl dağıtılacağı özetlenmiştir. PowerShell kullanarak uzak bir hedef cihaza dağıtmak için Uzak PowerShell kullanarak uzak bir cihaza bağlantı kurabilir ve bu komutları bu cihazda uzaktan çalıştırabilirsiniz.
Yükseltilmiş bir PowerShell oturumunda, Windows'da Linux için IoT Edge'i indirmek için aşağıdaki komutların her birini çalıştırın.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
Cihazınıza Windows üzerinde Linux için IoT Edge'i yükleyin.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Windows yüklemesinde Linux için özel IoT Edge ve yükleme komutuna ve
VHDXDIR="<FULLY_QUALIFIED_PATH>"
parametreleri ekleyerekINSTALLDIR="<FULLY_QUALIFIED_PATH>"
VHDX dizinlerini belirtebilirsiniz. Örneğin, yükleme için D:\EFLOW klasörünü ve VHDX için D:\EFLOW-VHDX'i kullanmak istiyorsanız, aşağıdaki PowerShell cmdlet'ini kullanabilirsiniz.Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
Henüz yapmadıysanız hedef cihazdaki yürütme ilkesini olarak
AllSigned
ayarlayın. Geçerli yürütme ilkesini denetlemeye ve yürütme ilkesini olarak ayarlamaya yönelik komutlar için PowerShell önkoşullarınaAllSigned
bakın.Windows dağıtımında Linux için IoT Edge'i oluşturun. Dağıtım, Linux sanal makinenizi oluşturur ve sizin için IoT Edge çalışma zamanını yükler.
Deploy-Eflow
İpucu
Varsayılan olarak,
Deploy-Eflow
komut 1 GB RAM, 1 vCPU çekirdeği ve 16 GB disk alanı ile Linux sanal makinenizi oluşturur. Ancak VM'nizin ihtiyaç duyduğu kaynaklar dağıttığınız iş yüklerine büyük ölçüde bağlıdır. VM'niz iş yüklerinizi desteklemek için yeterli belleğe sahip değilse başlatılamaz.Komutun isteğe bağlı parametrelerini kullanarak
Deploy-Eflow
sanal makinenin kullanılabilir kaynaklarını özelleştirebilirsiniz.Örneğin, aşağıdaki komut 4 vCPU çekirdeği, 4 GB RAM (MB ile gösterilir) ve 20 GB disk alanı içeren bir sanal makine oluşturur:
Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20
Kullanılabilir tüm isteğe bağlı parametreler hakkında bilgi için bkz . Windows üzerinde Linux için IoT Edge için PowerShell işlevleri.
Uyarı
Varsayılan olarak, EFLOW Linux sanal makinesinde DNS yapılandırması yoktur. DHCP kullanan dağıtımlar, DHCP sunucusu tarafından yayılan DNS yapılandırmasını almaya çalışır. İnternet bağlantısı sağlamak için lütfen DNS yapılandırmanızı denetleyin. Daha fazla bilgi için bkz . AzEFLOW-DNS.
GPU hızlandırmalı Linux modüllerini etkinleştirmek için dağıtımınıza bir GPU atayabilirsiniz. Bu özelliklere erişmek için Windows üzerinde Linux için Azure IoT Edge'e yönelik GPU hızlandırma konusunda ayrıntılı önkoşulları yüklemeniz gerekir.
GPU geçişi kullanmak için komutunuza gpuName, gpuPassthroughType ve gpuCount parametrelerini ekleyin.
Deploy-Eflow
Kullanılabilir tüm isteğe bağlı parametreler hakkında bilgi için bkz . Windows üzerinde Linux için IoT Edge için PowerShell işlevleri.Uyarı
Donanım cihazı geçişinin etkinleştirilmesi güvenlik risklerini artırabilir. Microsoft, uygun olduğunda GPU'nuzun satıcısından bir cihaz azaltma sürücüsü önerir. Daha fazla bilgi için bkz . Ayrı cihaz ataması kullanarak grafik cihazları dağıtma.
Lisans koşullarını kabul etmek için 'Y' girin.
Tercihinize bağlı olarak İsteğe bağlı tanılama verilerini açmak veya kapatmak için 'O' veya 'R' girin.
Dağıtım tamamlandıktan sonra PowerShell penceresi Dağıtımın başarılı olduğunu bildirir.
Başarılı bir dağıtımdan sonra cihazınızı sağlamaya hazırsınız.
Cihazı bulut kimliğiyle sağlama
Cihazınızı bulut kimliği ve kimlik doğrulama bilgileriyle ayarlamaya hazırsınız.
Cihazınızı simetrik anahtarlar kullanarak sağlamak için cihazınızın bağlantı dizesi gerekir.
Cihazlarınızı sağlamak için Windows Yönetim Merkezi'ni veya yükseltilmiş bir PowerShell oturumunu kullanabilirsiniz.
Aşağıdaki komutu hedef cihazınızdaki yükseltilmiş bir PowerShell oturumunda çalıştırın. Yer tutucu metni kendi değerlerinizle değiştirin.
Provision-EflowVm -provisioningType ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"
Komut hakkında Provision-EflowVM
daha fazla bilgi için bkz . Windows üzerinde Linux için IoT Edge için PowerShell işlevleri.
Başarılı yapılandırmayı doğrulama
Windows üzerinde Linux için IoT Edge'in IoT Edge cihazınıza başarıyla yüklendiğini ve yapılandırıldığını doğrulayın.
PowerShell oturumunuzda aşağıdaki komutu kullanarak Windows sanal makinesinde Linux için IoT Edge'inizde oturum açın:
Connect-EflowVm
Not
Sanal makinede SSH'ye izin verilen tek hesap, bunu oluşturan kullanıcıdır.
Oturum açtıktan sonra aşağıdaki Linux komutunu kullanarak IoT Edge modüllerini çalıştırma listesini de kontrol edebilirsiniz:
sudo iotedge list
IoT Edge hizmetinde sorun gidermeniz gerekiyorsa aşağıdaki Linux komutlarını kullanın.
Hizmet günlüklerini alın.
sudo journalctl -u iotedge
check
Cihazın yapılandırmasını ve bağlantı durumunu doğrulamak için aracı kullanın.sudo iotedge check
Not
Yeni sağlanan bir cihazda IoT Edge Hub ile ilgili bir hata görebilirsiniz:
üretime hazır olma ×: Edge Hub'ın depolama dizini konak dosya sisteminde kalıcı hale geldi - Hata
EdgeHub kapsayıcısının geçerli durumu denetlenemedi
IoT Edge Hub modülü çalışmadığından yeni sağlanan bir cihazda bu hata beklenir. Hatayı çözmek için IoT Hub'da cihazın modüllerini ayarlayın ve bir dağıtım oluşturun. Cihaz için dağıtım oluşturma, IoT Edge Hub modülü dahil olmak üzere cihazdaki modülleri başlatır.
Yeni bir IoT Edge cihazı oluşturduğunuzda, azure portalında durum kodu 417 -- The device's deployment configuration is not set
görüntülenir. Bu durum normaldir ve cihazın modül dağıtımı almaya hazır olduğu anlamına gelir.
Windows'da Linux için IoT Edge'i kaldırma
Cihazınızdan Windows üzerinde Linux için Azure IoT Edge yüklemesini kaldırmak istiyorsanız aşağıdaki komutları kullanın.
- Windows'da Ayarlar'ı açma
- Program Ekle veya Kaldır'ı seçin
- Azure IoT Edge LTS uygulamasını seçin
- Kaldır'ı seçin
Sonraki adımlar
- Modülleri cihazınıza dağıtmayı öğrenmek için IoT Edge modüllerini dağıtmaya devam edin.
- Windows sanal makinesinde Linux için IoT Edge'inizde sertifikaları yönetmeyi ve konak işletim sisteminden Linux sanal makinenize dosya aktarmayı öğrenin.
- IoT Edge cihazlarınızı ara sunucu üzerinden iletişim kuracak şekilde yapılandırmayı öğrenin.