Öğretici: Ubuntu Server 18.04 x64'te paket aracısını kullanarak Azure IoT Hub için Cihaz Güncelleştirmesi

Azure IoT Hub için Cihaz Güncelleştirmesi görüntü tabanlı, paket tabanlı ve betik tabanlı güncelleştirmeleri destekler.

Paket tabanlı güncelleştirmeler, cihazdaki yalnızca belirli bir bileşeni veya uygulamayı değiştiren hedeflenen güncelleştirmelerdir. Bunlar bant genişliğinin daha az tüketilmesine yol açar ve güncelleştirmeyi indirip yükleme süresini azaltmaya yardımcı olur. Paket tabanlı güncelleştirmeler genellikle bir güncelleştirme uyguladığınızda cihazların daha az kapalı kalma süresine izin verir ve görüntü oluşturma ek yükünü önler. Cihaz Güncelleştirmesi aracısına, belirlenen bir depodan APT bildirim dosyasında (ve bağımlılıklarında) belirtilen paketleri indirmek ve yüklemek için ihtiyaç duyduğu bilgileri sağlayan bir APT bildirimi kullanır.

Bu öğretici, Cihaz Güncelleştirme paketi aracısını kullanarak Ubuntu Server 18.04 x64'te Azure IoT Edge güncelleştirme işleminde size yol gösterir. Öğreticide IoT Edge güncelleştirilmesi gösterse de, benzer adımları kullanarak kullandığı kapsayıcı altyapısı gibi diğer paketleri güncelleştirebilirsiniz.

Bu öğreticideki araçlar ve kavramlar, farklı bir işletim sistemi platformu yapılandırması kullanmayı planlıyor olsanız bile geçerli olmaya devam eder. Uçtan uca güncelleştirme işlemine giriş işlemini tamamlayın. Ardından ayrıntıları incelemek için tercih ettiğiniz işletim sistemi platformunu güncelleştirme biçimini seçin.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Cihaz Güncelleştirmesi aracısını ve bağımlılıklarını indirip yükleyin.
  • Cihazınıza bir etiket ekleyin.
  • Bir güncelleştirmeyi içeri aktarma.
  • Paket güncelleştirmesini dağıtma.
  • Güncelleştirme dağıtımını izleyin.

Önkoşullar

Cihaz hazırlama

Cihazı otomatik olarak veya el ile hazırlayın.

Otomatik Azure'a Dağıt düğmesini kullanma

Kolaylık olması için bu öğreticide, Ubuntu 18.04 LTS sanal makinesini hızla ayarlamanıza yardımcı olmak için bulut init tabanlı bir Azure Resource Manager şablonu kullanılmaktadır. Hem Azure IoT Edge çalışma zamanını hem de Cihaz Güncelleştirme paketi aracısını yükler. Ardından, sağladığınız bir IoT Edge cihazın (önkoşul) cihaz bağlantı dizesini kullanarak cihazı sağlama bilgileriyle otomatik olarak yapılandırılır. Resource Manager şablonu ayrıca kurulumu tamamlamak için SSH oturumu başlatma gereğini de önler.

  1. Başlamak için düğmeyi seçin:

    iotedge-vm-deploy için Azure'a Dağıt düğmesini gösteren ekran görüntüsü.

  2. Kullanılabilir metin kutularını doldurun:

    iotedge-vm-deploy şablonunu gösteren ekran görüntüsü.

    • Abonelik: Sanal makinenin dağıtılacağı etkin Azure aboneliği.
    • Kaynak grubu: Sanal makineyi ve ilişkili kaynaklarını içeren mevcut veya yeni oluşturulan bir kaynak grubu.
    • Bölge: Sanal makinenin dağıtılacağı coğrafi bölge . Bu değer varsayılan olarak seçili kaynak grubunun konumuna ayarlanır.
    • DNS Etiketi Ön Eki: Seçtiğiniz ve sanal makinenin konak adına ön ek eklemek için kullanılan gerekli bir değerdir.
    • Yönetici Kullanıcı Adı: Dağıtımda kök ayrıcalıkları sağlanan kullanıcı adı.
    • Cihaz Bağlantı Dizesi: Hedeflenen IoT hub'ınız içinde oluşturulmuş bir cihaz için cihaz bağlantı dizesi.
    • VM Boyutu: Dağıtılacak sanal makinenin boyutu .
    • Ubuntu İşletim Sistemi Sürümü: Temel sanal makineye yüklenecek Ubuntu işletim sisteminin sürümü. Zaten Ubuntu 18.04-LTS olarak ayarlanacağı için varsayılan değeri değiştirmeden bırakın.
    • Kimlik Doğrulama Türü: Tercihinize göre sshPublicKey veya parolayı seçin.
    • parola veya anahtar Yönetici: SSH Ortak Anahtarının değeri veya kimlik doğrulama türü seçimine göre parolanın değeri.

    Tüm kutular doldurulduğunda, koşulları kabul etmek için sayfanın altındaki onay kutusunu seçin. Dağıtımı başlatmak için Satın Al'ı seçin.

  3. Dağıtımın başarıyla tamamlandığını doğrulayın. Yükleme sonrası ve yapılandırmanın IoT Edge ve cihaz paketi güncelleştirme aracısını yüklemeyi tamamlaması için dağıtım tamamlandıktan birkaç dakika sonra izin verin.

    Seçilen kaynak grubuna bir sanal makine kaynağı dağıtılmış olmalıdır. biçimindeki vm-0000000000000makine adını not edin. Ayrıca, biçimindeki <dnsLabelPrefix>ilişkili DNS adını da not edin.<location>. cloudapp.azure.com.

    DNS adını, Azure portal yeni dağıtılan sanal makinenin Genel Bakış bölümünden alabilirsiniz.

    iotedge sanal makinesinin DNS adını gösteren ekran görüntüsü.

    İpucu

    Kurulumdan sonra bu VM'ye SSH uygulamak için, aşağıdaki komutla ilişkili DNS adını kullanın: ssh <adminUsername>@<DNS_Name>.

  4. Yapılandırma ayrıntılarını açın (Aşağıdaki komutla yapılandırma dosyasının nasıl ayarlanacağına bakın . connectionType'ınızı 'AIS' ve connectionData'yı boş dize olarak ayarlayın. 'Değeri buraya yerleştir' etiketine sahip tüm değerlerin ayarlanması gerektiğini lütfen unutmayın. Bkz . DU aracısını yapılandırma.

    sudo nano /etc/adu/du-config.json
    
  5. Cihaz Güncelleştirme aracısını yeniden başlatın.

    sudo systemctl restart deviceupdate-agent
    

Azure IoT Hub yazılım paketleri için Cihaz Güncelleştirmesi aşağıdaki lisans koşullarına tabidir:

Paket kullanmadan önce lisans koşullarını okuyun. Bir paketi yüklemeniz ve kullanmanız, bu koşulları kabul ettiğinizi oluşturur. Lisans koşullarını kabul etmiyorsanız bu paketi kullanmayın.

Cihazı el ile hazırlama

Cloud-init betiği tarafından otomatikleştirilmiş adımlara benzer şekilde, bir cihazı yüklemek ve yapılandırmak için aşağıdaki el ile adımlar kullanılır. Fiziksel bir cihaz hazırlamak için bu adımları kullanın.

  1. Azure IoT Edge çalışma zamanını yüklemek için yönergeleri izleyin.

    Not

    Cihaz Güncelleştirme aracısı IoT Edge bağlı değildir. Ancak kimlik elde etmek ve IoT Hub bağlanmak için IoT Edge (1.2.0 ve üzeri) ile yüklenen IoT Kimlik Hizmeti daemon'unu kullanır.

    Bu öğreticide ele alınmasa da , IoT Kimlik Hizmeti daemon'u Linux tabanlı IoT cihazlarına tek başına yüklenebilir. Yükleme sırası önemlidir. Cihaz Güncelleştirme paketi aracısı IoT Kimlik Hizmeti'nin ardından yüklenmelidir. Aksi takdirde, paket aracısı IoT Hub bağlantı kurmak için yetkili bir bileşen olarak kaydedilmez.

  2. Cihaz Güncelleştirme aracısı .deb paketlerini yükleyin:

    sudo apt-get install deviceupdate-agent 
    
  3. IoT cihazınızın modülünü (veya cihazı Cihaz Güncelleştirmesi ile nasıl sağladığınıza bağlı olarak) birincil bağlantı dizesini yapılandırma dosyasına girin. 'Değeri buraya yerleştir' etiketine sahip tüm değerlerin ayarlanması gerektiğini lütfen unutmayın. Bkz . DU aracısını yapılandırma.

    sudo /etc/adu/du-config.json
    
  4. Cihaz Güncelleştirme aracısını yeniden başlatın.

    sudo systemctl restart deviceupdate-agent
    

Azure IoT Hub yazılım paketleri için Cihaz Güncelleştirmesi aşağıdaki lisans koşullarına tabidir:

Paket kullanmadan önce lisans koşullarını okuyun. Bir paketi yüklemeniz ve kullanmanız, bu koşulları kabul ettiğinizi oluşturur. Lisans koşullarını kabul etmiyorsanız bu paketi kullanmayın.

Cihazınıza etiket ekleme

  1. Azure portal oturum açın ve IoT hub'ına gidin.

  2. Sol bölmedeki Cihazlar'ın altında IoT Edge cihazınızı bulun ve cihaz ikizi veya modül ikizine gidin.

  3. Cihaz Güncelleştirme aracısı modülünün modül ikizinde, mevcut Cihaz Güncelleştirmesi etiket değerlerini null olarak ayarlayarak silin. Cihaz Kimliği'ni Cihaz Güncelleştirmesi aracısı ile kullanıyorsanız bu değişiklikleri cihaz ikizinde yapın.

  4. Gösterildiği gibi yeni bir Cihaz Güncelleştirmesi etiket değeri ekleyin:

        "tags": {
            "ADUGroup": "<CustomTagValue>"
        },
    

    Etiket bilgilerini içeren ikizi gösteren ekran görüntüsü.

    Bu ekran görüntüsü, etiketin ikize eklenmesi gereken bölümü gösterir.

Güncelleştirmeyi içeri aktarma

  1. GitHub'da Cihaz Güncelleştirmesi sürümleri'ne gidin ve Varlıklar açılan listesini seçin. Seçerek indirin Tutorial_IoTEdge_PackageUpdate.zip . Örnek APT bildirimini (sample-1.0.2-aziot-edge-apt-manifest.json) ve buna karşılık gelen içeri aktarma bildirimini (sample-1.0.2-aziot-edge-importManifest.json) bulmak için klasörün içeriğini ayıklayın.

  2. Cihaz Güncelleştirmesi ile Azure portal oturum açın ve IoT hub'ınıza gidin. Sol bölmedeki Otomatik Cihaz Yönetimi'nin altında Güncelleştirmeler'ı seçin.

  3. Güncelleştirmeler sekmesini seçin.

  4. + Yeni Güncelleştirmeyi İçeri Aktar'ı seçin.

  5. Depolama kapsayıcısından + Seç'i seçin. Var olan bir hesabı seçin veya + Depolama hesabı kullanarak yeni bir hesap oluşturun. Ardından var olan bir kapsayıcıyı seçin veya + Kapsayıcı kullanarak yeni bir kapsayıcı oluşturun. Bu kapsayıcı, güncelleştirme dosyalarınızı içeri aktarmaya hazırlamak için kullanılır.

    Not

    Önceki güncelleştirmelerden yanlışlıkla dosya içeri aktarmayı önlemek için bir güncelleştirmeyi her içeri aktardığınızda yeni bir kapsayıcı kullanmanızı öneririz. Yeni bir kapsayıcı kullanmıyorsanız, bu adımı tamamlamadan önce var olan kapsayıcıdaki dosyaları sildiğinizden emin olun.

    Depolama hesabını gösteren ekran görüntüsü.

  6. Kapsayıcınızda Karşıya Yükle'yi seçin ve 1. adımda indirdiğiniz dosyalara gidin. Tüm güncelleştirme dosyalarınızı seçtikten sonra Karşıya Yükle'yi seçin. Ardından Seç düğmesini seçerek güncelleştirmeyi içeri aktar sayfasına dönün.

    Karşıya yüklenen dosyaların seçilmesini gösteren ekran görüntüsü.

    Bu ekran görüntüsünde içeri aktarma adımı gösterilmektedir. Dosya adları örnekte kullanılan adlarla eşleşmeyebilir.

  7. Güncelleştirmeyi içeri aktar sayfasında, içeri aktarılacak dosyaları gözden geçirin. Ardından içeri aktarma işlemini başlatmak için Güncelleştirmeyi içeri aktar'ı seçin.

    İçeri Aktarma işleminin başlatıldığını gösteren ekran görüntüsü.

  8. İçeri aktarma işlemi başlar ve ekran İçeri Aktarma Geçmişi bölümüne geçer. Durum sütunu içeri aktarmanın başarılı olduğunu gösterdiğinde Kullanılabilir güncelleştirmeler üst bilgisini seçin. İçeri aktarılan güncelleştirmenizi şimdi listede görmeniz gerekir.

    İş durumunu gösteren ekran görüntüsü.

İçeri aktarma işlemi hakkında daha fazla bilgi için bkz. Cihaz Güncelleştirmesi'ne güncelleştirme aktarma.

Cihaz gruplarını görüntüleme

Cihaz Güncelleştirmesi, cihazları düzenlemek için grupları kullanır. Cihaz Güncelleştirmesi, cihazları atanan etiketlere ve uyumluluk özelliklerine göre otomatik olarak gruplar halinde sıralar. Her cihaz yalnızca bir gruba aittir, ancak grupların farklı cihaz sınıflarını sıralamak için birden çok alt grubu olabilir.

  1. Sayfanın üst kısmındaki Gruplar ve Dağıtımlar sekmesine gidin.

    Gruplanmamış cihazları gösteren ekran görüntüsü.

  2. Grupların listesini ve güncelleştirme uyumluluk grafiğini görüntüleyin. Güncelleştirme uyumluluk grafiği, çeşitli uyumluluk durumlarındaki cihazların sayısını gösterir: En son güncelleştirmede, Kullanılabilir yeni güncelleştirmeler ve devam eden Güncelleştirmeler. Güncelleştirme uyumluluğu hakkında bilgi edinin.

    Güncelleştirme uyumluluğu görünümünü gösteren ekran görüntüsü.

  3. Bu öğreticide ayarladığınız simülasyon cihazının yanı sıra yeni gruptaki cihazlar için kullanılabilir güncelleştirmeleri içeren bir cihaz grubu görmeniz gerekir. Grubun cihaz sınıfı gereksinimlerini karşılamayen cihazlar varsa, bunlar ilgili geçersiz grupta gösterilir. Bu görünümden yeni kullanıcı tanımlı gruba en iyi kullanılabilir güncelleştirmeyi dağıtmak için grubun yanındaki Dağıt'ı seçin.

Etiketler ve gruplar hakkında daha fazla bilgi için bkz. Cihaz gruplarını yönetme.

Güncelleştirmeyi dağıtma

  1. Grup oluşturulduktan sonra, cihaz grubunuz için en iyi güncelleştirme'nin altındaki güncelleştirmenin bağlantısını içeren yeni bir güncelleştirme görmeniz gerekir. Bir kez yenilemeniz gerekebilir.

    Uyumluluk hakkında daha fazla bilgi için bkz . Cihaz Güncelleştirmesi uyumluluğu.

  2. Grup adını seçerek hedef grubu seçin. Grup temel bilgileri altındaki grup ayrıntılarına yönlendirilirsiniz.

    Grup ayrıntılarını gösteren ekran görüntüsü.

  3. Dağıtımı başlatmak için Geçerli dağıtım sekmesine gidin. Kullanılabilir güncelleştirmeler bölümünden istenen güncelleştirmenin yanındaki dağıt bağlantısını seçin. Belirli bir grup için kullanılabilir en iyi güncelleştirme , En iyi vurgulama ile belirtilir.

    Güncelleştirme seçmeyi gösteren ekran görüntüsü.

  4. Dağıtımınızı hemen veya gelecekte başlayacak şekilde zamanlayın. Ardından Oluştur’u seçin.

    İpucu

    Varsayılan olarak, Başlangıç tarihi ve saati geçerli saatinizden 24 saattir. Dağıtımın daha önce başlamasını istiyorsanız farklı bir tarih ve saat seçtiğinizden emin olun.

    Dağıtım oluşturmayı gösteren ekran görüntüsü.

  5. Dağıtım ayrıntıları'nın altında DurumEtkin'e dönüşür. Dağıtılan güncelleştirme (dağıtım) ile işaretlenir.

    Dağıtımı Etkin olarak gösteren ekran görüntüsü.

  6. Güncelleştirmenin devam ettiğini görmek için uyumluluk grafiğini görüntüleyin.

  7. Cihazınız başarıyla güncelleştirildikten sonra uyumluluk grafiğinizin ve dağıtım ayrıntılarınızın aynı şekilde güncelleştirildiğini görürsünüz.

    Güncelleştirmenin başarılı olduğunu gösteren ekran görüntüsü.

Güncelleştirme dağıtımını izleme

  1. Sayfanın üst kısmındaki Dağıtım geçmişi sekmesini seçin.

    Dağıtım geçmişini gösteren ekran görüntüsü.

  2. Oluşturduğunuz dağıtımın yanındaki ayrıntılar bağlantısını seçin.

    Dağıtım ayrıntılarını gösteren ekran görüntüsü.

  3. En son durum ayrıntılarını görüntülemek için Yenile'yi seçin.

Artık Ubuntu Server 18.04 x64 cihazında IoT Hub için Cihaz Güncelleştirmesi'ni kullanarak başarılı bir uçtan uca paket güncelleştirmesini tamamladınız.

Kaynakları temizleme

Artık gerekli olmadığında cihaz güncelleştirme hesabınızı, örneğinizi ve IoT hub'ınızı temizleyin. Vm'yi Azure'a Dağıt düğmesiyle oluşturduysanız IoT Edge cihazı da temizleyin. Kaynakları temizlemek için her kaynağa gidin ve Sil'i seçin. Cihaz güncelleştirme hesabını temizlemeden önce bir cihaz güncelleştirme örneğini temizleyin.

Sonraki adımlar