分享方式:


教學課程:在Ubuntu Server 22.04 x64上使用套件代理程式的 Azure IoT 中樞裝置更新

Azure IoT 中樞裝置更新支援映像型、套件型和指令碼型更新。

套件型更新是只會改變裝置上特定元件或應用程式的目標更新。 其頻寬耗用量較低,並協助減少下載和安裝更新的時間。 當您套用更新並避免建立映像的額外負荷時,套件型更新通常也會讓裝置停機時間更少。 會使用 APT 資訊清單,提供裝置更新代理程式所需的資訊,以從指定的存放庫下載並安裝 APT 資訊清單檔中指定的套件 (及其相依項目)。

本教學課程會逐步引導您使用裝置更新套件代理程式,在Ubuntu Server 22.04 x64上更新 Azure IoT Edge。 雖然本教學課程示範如何安裝適用於IoT的 Microsoft Defender,但您可以使用類似的步驟來更新其他套件,例如IoT Edge本身或其使用的容器引擎。

即使您打算使用不同的 OS 平台組態,本教學課程中的工具和概念仍然適用。 完成這個端對端更新程序的簡介。 然後選擇您慣用的更新作業系統平台形式,以深入了解詳細資料。

在本教學課程中,您將了解如何:

  • 下載並安裝裝置更新代理程式及其相依項目。
  • 將標記新增至您的裝置。
  • 匯入更新。
  • 部署套件更新。
  • 監視更新部署。

必要條件

準備裝置

使用自動部署至 Azure 按鈕

為了方便起見,本教學課程會使用 以雲端為基礎的 Azure Resource Manager 範本 ,協助您快速設定 Ubuntu 22.04 LTS VM(虛擬機)。 會同時安裝 Azure IoT Edge 執行階段和裝置更新套件代理程式。 然後,會針對您提供的 IoT Edge 裝置 (必要條件) 使用裝置連接字串,自動以佈建資訊設定裝置。 Resource Manager 範本也不需要啟動 SSH 工作階段就能完成設定。

  1. 若要開始,請選取按鈕:

    顯示 iotedge-vm-deploy 的 [部署至 Azure] 按鈕的螢幕快照.

  2. 填寫可用的文字方塊:

    • 訂用帳戶:要在其中部署虛擬機器的作用中 Azure 訂用帳戶。
    • 資源群組:現有或新建立的資源群組,可包含虛擬機器及其相關聯的資源。
    • 區域:要在其中部署虛擬機器的地理區域。 這個值預設為所選取資源群組的位置。
    • DNS 標籤前置詞:您選擇的必要值,用來為虛擬機器的主機名稱加上前置詞。
    • 管理員使用者名稱:獲得部署根權限的使用者名稱。
    • 裝置連接字串:在您的預定 IoT 中樞中建立的裝置裝置連接字串
    • VM 大小:要部署的虛擬機器大小
    • Ubuntu 作業系統版本:要安裝在基底虛擬機器上的 Ubuntu 作業系統版本。 保留預設值不變,因為它已設定為Ubuntu 22.04-LTS。
    • 驗證類型:根據您的喜好設定選擇 sshPublicKey密碼
    • 管理員密碼或金鑰:根據驗證類型選項,這是 SSH 公開金鑰的值或密碼的值。

    填入所有方塊之後,請選取頁面底部的核取方塊以接受條款。 選取 [購買] 以開始部署。

  3. 確認部署已順利完成。 在部署完成之後,允許幾分鐘的時間完成安裝後和設定,以完成安裝 IoT Edge 和裝置套件更新代理程式。

    虛擬機器資源應該部署到選取的資源群組中。 請記下電腦名稱,其格式為 vm-0000000000000。 此外,請記下相關聯的 DNS 名稱,其格式是 <dnsLabelPrefix>.<location>.cloudapp.azure.com。

    您可以在 Azure 入口網站中新部署虛擬機器的 [概觀] 區段取得 [DNS 名稱]

    顯示 iotedge VM DNS 名稱的螢幕快照。

    提示

    若要在設定之後使用 SSH 連線到這個 VM,請使用相關聯 DNS 名稱與下列命令:ssh <adminUsername>@<DNS_Name>

  4. 在 VM 上安裝裝置更新代理程式。

    sudo apt-get install deviceupdate-agent
    
  5. 開啟組態詳細資料 (請參閱如何使用下列命令在此設定組態檔)。 將您的 connectionType 設定為 'AIS' 並將 connectionData 設定為空字串。 請注意,必須設定所有具有 [在這裡放置值] 標籤的值。 請參閱 設定裝置更新代理程式

    sudo nano /etc/adu/du-config.json
    
  6. 重新啟動裝置更新代理程式。

    sudo systemctl restart deviceupdate-agent
    

Azure IoT 中樞軟體套件的裝置更新受限於下列授權條款:

使用套件之前,請先閱讀授權條款。 安裝及使用套件即表示接受這些授權條款。 如果您不同意授權條款,請勿使用該套件。

將標記新增至您的裝置

  1. 登入 Azure 入口網站並移至 IoT 中樞。

  2. 在左窗格的裝置,找到您的 IoT Edge 裝置,然後移至雙裝置或雙模組。

  3. 在裝置更新代理程式模組的模組對應項中,將其設定為 Null,以刪除任何現有的裝置更新標記值。 如果您使用裝置身分識別搭配裝置更新代理程式,請在裝置對應項上進行這些變更。

  4. 新增裝置更新標記值,如下所示:

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

    顯示具有標籤資訊的對應項螢幕快照。

    此螢幕擷取畫面顯示必須在對應項中新增標記的區段。

匯入更新

  1. 移至 GitHub 中的裝置更新版本,然後選取 [資產] 下拉式清單。 選取即可下載 Tutorial_IoTEdge_PackageUpdate.zip。 擷取資料夾的內容,以探索範例 APT 指令清單(sample-defender-iot-apt-manifest.json)及其對應的匯入指令清單(sample-defender-iot--importManifest.json)。

  2. 登入 Azure 入口網站,並使用裝置更新移至 IoT 中樞。 在左窗格中,選取 [自動裝置管理] 下的 [更新]

  3. 選取 [更新] 索引標籤。

  4. 選取 [+ 匯入新的更新]

  5. 選取 [+ 從儲存體容器選取]。 選取現有帳戶或使用 [+ 儲存體帳戶] 建立新帳戶。 然後選取現有的容器,或使用 [+ 容器] 建立新的容器。 此容器可用來暫存更新檔案以進行匯入。

    注意

    建議您在每次匯入更新時使用新的容器,以避免意外從先前的更新匯入檔案。 如果您沒有使用新的容器,請務必先刪除現有容器中的任何檔案,再完成此步驟。

    顯示記憶體帳戶的螢幕快照。

  6. 在容器中,選取 [上傳],然後移至您在步驟 1 下載的檔案。 選取所有更新檔案之後,請選取 [上傳]。 然後選取 [選取] 按鈕,以返回 [匯入更新] 頁面。

    顯示選取上傳檔案的螢幕快照。

    此螢幕擷取畫面顯示匯入步驟。 檔案名稱可能不符合範例中使用的檔案名稱。

  7. 在 [匯入更新] 頁面上,檢閱要匯入的檔案。 然後選取 [匯入更新] 以啟動匯入程序。

    顯示開始匯入程式的螢幕快照。

  8. 匯入程序隨即開始,畫面會切換至 [匯入歷程記錄] 區段。 當 [狀態] 資料行指出匯入成功時,請選取 [可用的更新] 標頭。 您現在應該會在清單中看到您匯入的更新。

    顯示作業狀態的螢幕快照。

如需匯入程式的詳細資訊,請參閱將更新匯入至裝置更新

檢視裝置群組

裝置更新」會利用群組來組織裝置。 裝置更新會根據裝置指派的標籤和相容性內容,自動將裝置分類為群組。 個別裝置僅屬於群組,但群組可有多個子群組來排序不同的裝置類型。

  1. 移至頁面頂端的 [群組和部署] 索引標籤。

    顯示未分組裝置的螢幕快照。

  2. 檢視群組清單和更新符合性圖表。 更新合規性圖表顯示各種合規性狀態的裝置計數:最新的更新有新的更新可用更新進行中了解更新合規性

    顯示更新合規性檢視的螢幕快照。

  3. 您應該會看到裝置群組,其包含您在本教學課程設定的模擬裝置,以及新群組裝置的任何可用更新。 如果有不符合群組裝置類別需求的裝置,會顯示在對應的無效群組中。 若要從此檢視將最佳的可用更新部署到新的使用者定義群組,請選取群組旁的 [部署]

如需標籤和群組的詳細資訊,請參閱管理裝置群組

部署更新

  1. 建立群組之後,您應該會看到裝置群組可用的新更新,包含 [最佳更新] 底下的更新連結。 您可能需要再次重新整理。

    如需符合性的詳細資訊,請參閱裝置更新符合性

  2. 選取群組名稱來選取目標群組。 系統會將您導向至 [群組基本資料] 下方的群組詳細資料。

    顯示群組詳細數據的螢幕快照。

  3. 若要起始部署,請移至 [目前部署] 索引標籤。從 [可用更新] 區段選取所需更新旁的 [部署] 連結。 所指定群組的最佳可用更新會以最佳醒目提示來表示。

    顯示選取更新的螢幕快照。

  4. 排程您的部署,以立即或在未來啟動。 然後選取建立

    提示

    根據預設,開始日期和時間是目前時間起算 24 小時。 如果您想要提早開始部署,請務必選取不同的日期和時間。

    顯示建立部署的螢幕快照。

  5. 在 [部署詳細資料] 下方,[狀態] 會變成 [作用中]。 部署的更新會標示為 [(部署中)]

    顯示部署為 [作用中] 的螢幕快照。

  6. 檢視合規性圖表,以查看更新目前是否正在進行中。

  7. 成功更新裝置之後,您會看到符合性圖表和部署詳細資料已更新以反映相同內容。

    顯示更新成功的螢幕快照。

監視更新部署

  1. 選取頁面頂端的 [部署歷程記錄] 索引標籤。

    顯示部署歷程記錄的螢幕快照。

  2. 選取您所建立部署旁的詳細資料連結。

    顯示部署詳細數據的螢幕快照。

  3. 選取 [重新整理] 以檢視最新狀態詳細資料。

您現在已在Ubuntu Server 22.04 x64裝置上使用適用於 IoT 中樞的裝置更新,完成成功的端對端套件更新。

清除資源

不再需要時,請清除您的裝置更新帳戶、執行個體和 IoT 中樞。 如果您透過 [部署至 Azure] 按鈕建立 VM,也請清除 IoT Edge 裝置。 若要清除資源,請移至每個個別資源,然後選取 [刪除]。 清除裝置更新帳戶之前,請先清除裝置更新執行個體。

下一步