更新 IoT Edge
適用於: IoT Edge 1.5 IoT Edge 1.4
重要
支援 IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。
當 IoT Edge 服務發行新版本時,請更新 IoT Edge 裝置,以取得最新功能和安全性改善。 本文提供如何在有新版本可用時更新IoT Edge裝置的相關信息。
如果您想要移至較新版本,則必須更新IoT Edge裝置的兩個邏輯元件。
安全性子系統 - 它會在裝置上執行、處理以安全性為基礎的工作,並在裝置啟動時啟動模組。 安全性子系統只能從裝置本身更新。
IoT Edge 運行時間 - IoT Edge 運行 時間是由 IoT Edge 中樞 (
edgeHub
) 和 IoT Edge 代理程式 (edgeAgent
) 模組所組成。 視您建構部署的方式而定, 運行時間 可以從裝置或遠端更新。
更新方式
使用本文的各節來更新裝置上的安全性子系統和運行時間容器。
修補程式版本
當您在修補程式版本之間升級時,例如 1.4.1 到 1.4.2,更新順序並不重要。 您可以在安全性子系統或運行時間容器之前或之後升級。 若要在修補程式版本之間更新:
您可以隨時 針對升級程式進行疑難解答 。
主要或次要版本
當您在主要或次要版本之間升級時,例如從1.4升級至1.5,請同時更新安全性子系統和運行時間容器。 在發行之前,我們會測試安全性子系統和運行時間容器版本組合。 若要在主要或次要產品版本之間更新:
在裝置上,使用 命令
sudo systemctl stop iotedge
停止IoT Edge並 卸載。在裝置上, 安裝IoT Edge。
如果您要使用
iotedge config import
匯入舊的組態,請修改所/etc/aziot/config.toml
產生檔案的 [agent.config] 映射,以使用 edgeAgent 的 1.4 映射。如需詳細資訊,請參閱 設定IoT Edge裝置設定。
在 IoT 中樞 中,更新模組部署以參考最新的系統模組。
在裝置上,使用
sudo iotedge config apply
啟動IoT Edge。
您可以隨時 針對升級程式進行疑難解答 。
更新安全性子系統
IoT Edge 安全性子系統包含一組原生元件,需要使用IoT Edge裝置上的套件管理員進行更新。
使用 命令 iotedge version
檢查裝置上執行的安全性子系統版本。 如果您在 Windows 上使用適用於 Linux 的 IoT Edge,則必須透過 SSH 連線到 Linux 虛擬機,以檢查版本。
在 Linux x64 裝置上,使用 apt-get
或適當的套件管理員,將安全性子系統更新為最新版本。
更新 apt
:
sudo apt-get update
注意
如需從 Microsoft 取得最新存放庫設定的指示,請參閱安裝 IoT Edge 的初步步驟。
檢查以檢視可用的 IoT Edge 版本:
apt list -a aziot-edge
更新 IoT Edge:
sudo apt-get install aziot-edge defender-iot-micro-agent-edge
執行 apt-get install aziot-edge
會升級安全性子系統,並將身分識別服務aziot-identity-service
安裝為必要的相依性。
建議使用 Edge 代理程式安裝微代理程式,以啟用 Edge 裝置的安全性監視和強化。 若要深入瞭解適用於 IoT 的 Microsoft Defender,請參閱 什麼是適用於 IoT 的 Microsoft Defender for Device Builder。
然後,重新套用設定以確保系統已完整更新。
sudo iotedge config apply
更新運行時間容器
更新 IoT Edge 代理程式和 IoT Edge 中樞容器的方式取決於您在部署中使用滾動標籤 (例如 1.5) 或特定標籤 (例如 1.5.1)。
使用 命令 iotedge logs edgeAgent
或 iotedge logs edgeHub
檢查裝置上目前裝置上的IoT Edge代理程式和IoT Edge中樞模組版本。 如果您在 Windows 上使用適用於 Linux 的 IoT Edge,則必須透過 SSH 連線到 Linux 虛擬機,以檢查運行時間模組版本。
瞭解IoT Edge標籤
IoT Edge 代理程式和 IoT Edge 中樞映像會以它們相關聯的 IoT Edge 版本標記。 標記可透過兩種不同的使用方式用於執行階段映像上:
滾動標籤 - 只使用版本號碼的前兩個值來取得符合這些數位的最新映像。 例如,每當有新版本指向最新的 1.5.x 版本時,就會更新 1.5。 如果 IoT Edge 裝置的容器執行階段重新提取映像,執行階段模組就會更新為最新版本。 從 Azure 入口網站執行的部署預設為累積標記。 為了開發目的,建議使用此方法。
特定標籤 - 使用版本號碼的所有三個值來明確設定映像版本。 例如,1.5.0 在初始版本之後不會變更。 當您準備好要更新時,您可以在部署資訊清單中宣告新的版本號碼。 針對生產用途,建議使用此方法。
更新滾動標籤映像
如果您在部署中使用滾動標籤(例如,mcr.microsoft.com/azureiotedge-hub:1.5),則必須強制裝置上的容器運行時間提取最新版的映像。
從 IoT Edge 裝置刪除映像的本機版本。 在 Windows 電腦上,卸載安全性子系統也會移除運行時間映射,因此您不需要再次執行此步驟。
docker rmi mcr.microsoft.com/azureiotedge-hub:1.5
docker rmi mcr.microsoft.com/azureiotedge-agent:1.5
您可能需要使用強制 -f
旗標來移除影像。
IoT Edge 服務會提取最新版的運行時間映像,並自動在您的裝置上啟動它們。
更新特定標籤映像
如果您在部署中使用特定標籤(例如,mcr.microsoft.com/azureiotedge-hub:1.4),則只需要更新部署指令清單中的標記,並將變更套用至您的裝置。
在 Azure 入口網站 的 IoT 中樞 中,選取您的 IoT Edge 裝置,然後選取 [設定模組]。
在 [模組] 索引標籤上,選取 [運行時間 設定]。
在 [運行時間] 設定 中,使用所需的版本更新Edge Agent 區段中的 [映射 URI] 值。 例如,
mcr.microsoft.com/azureiotedge-agent:1.5
不要選取 [套用 ]。選取 [ Edge 中樞 ] 索引標籤,並以相同的所需版本更新 映射 URI 值。 例如:
mcr.microsoft.com/azureiotedge-hub:1.5
。選取 [套用] 以儲存變更。
選取 [ 檢閱 + 建立]、檢閱 JSON 檔案中所見的部署,然後選取 [ 建立]。
確認版本相符
在您的裝置上,使用
iotedge version
來檢查安全性子系統版本。 輸出包含主要、次要和修訂版本號碼。 例如, iotedge 1.4.2。在您的裝置部署運行時間設定中 ,確認edgeHub 和 edgeAgent 映像URI版本符合安全性子系統的主要和次要版本。 如果安全性子系統版本是 1.4.2,映像版本會是 1.4。 例如, mcr.microsoft.com/azureiotedge-hub:1.4 和 mcr.microsoft.com/azureiotedge-agent:1.4。
注意
將 IoT Edge 安全性子系統和運行時間容器更新為相同的支持發行版本。 雖然支援不相符的版本,但我們尚未測試所有版本組合。
若要尋找最新版的 Azure IoT Edge,請參閱 Azure IoT Edge 版本。
疑難排解
您可以隨時從裝置執行下列命令,以檢視系統的記錄。
使用 check 命令開始進行疑難解答。 它會針對常見問題執行組態和連線測試的集合。
sudo iotedge check --verbose
若要檢視 IoT Edge 系統的狀態,請執行:
sudo iotedge system status
若要檢視主機組件記錄,請執行:
sudo iotedge system logs
若要檢查edgeAgent和edgeHub回報的週期性問題,請執行:
請務必以您自己的模組名稱取代
<module>
。 如果沒有問題,您就不會看到任何輸出。sudo iotedge logs <module>
如需詳細資訊,請參閱 針對IoT Edge裝置進行疑難解答。
下一步
檢視最新的 Azure IoT Edge 版本。
在物聯網部落格中 隨時掌握最新的更新和公告