Instalace modulu runtime Azure IoT Edge v systémech Linux založených na DebianInstall the Azure IoT Edge runtime on Debian-based Linux systems

Modul runtime Azure IoT Edge je co se změní na zařízení do zařízení IoT Edge.The Azure IoT Edge runtime is what turns a device into an IoT Edge device. Modul runtime můžete nasadit na zařízení jako Raspberry Pi malé nebo velké průmyslové serveru.The runtime can be deployed on devices as small as a Raspberry Pi or as large as an industrial server. Jakmile je zařízení nakonfigurovaná s modulem runtime IoT Edge, můžete začít nasazovat obchodní logiky k němu z cloudu.Once a device is configured with the IoT Edge runtime, you can start deploying business logic to it from the cloud. Další informace najdete v tématu pochopení Azure IoT Edge runtime a jeho architektury.To learn more, see Understand the Azure IoT Edge runtime and its architecture.

V tomto článku jsou uvedené kroky pro instalaci modulu runtime Azure IoT Edge na zařízení s platformou x64, ARM32 nebo ARM64 Linux.This article lists the steps to install the Azure IoT Edge runtime on an X64, ARM32, or ARM64 Linux device. Instalační balíčky jsou k dispozici pro Ubuntu Server 16,04, Ubuntu Server 18,04 a Raspbian Stretch.Installation packages are provided for Ubuntu Server 16.04, Ubuntu Server 18.04, and Raspbian Stretch. Seznam podporovaných operačních systémů a architektur pro Linux najdete v tématu Azure IoT Edge podporované systémy .Refer to Azure IoT Edge supported systems for a list of supported Linux operating systems and architectures.

Poznámka

Podpora pro zařízení ARM64 je ve verzi Public Preview.Support for ARM64 devices is in public preview.

Poznámka

Balíčky v úložištích softwaru Linux podléhají licenčním podmínkám, které jsou umístěny v každém balíčku (/usr/share/doc/název balíčku).Packages in the Linux software repositories are subject to the license terms located in each package (/usr/share/doc/package-name). Přečtěte si licenční podmínky před použitím balíčku.Read the license terms prior to using the package. Instalace a použití balíčku se považuje za svůj souhlas s těmito podmínkami.Your installation and use of the package constitutes your acceptance of these terms. Pokud s licenčními podmínkami nesouhlasíte, nepoužívejte balíček.If you do not agree with the license terms, do not use the package.

Nainstalovat nejnovější verzi modulu runtimeInstall the latest runtime version

Pomocí následujících částí můžete nainstalovat nejnovější verzi Azure IoT Edge runtime do svého zařízení.Use the following sections to install the most recent version of the Azure IoT Edge runtime onto your device.

Zaregistrujte informační kanál úložiště Microsoft klíč a softwaruRegister Microsoft key and software repository feed

Připravte zařízení na instalaci modulu runtime IoT Edge.Prepare your device for the IoT Edge runtime installation.

Nainstalujte konfiguraci úložiště.Install the repository configuration. Vyberte příkaz 16,04 nebo 18,04 , který odpovídá operačnímu systému zařízení:Choose the 16.04 or 18.04 command that matches your device operating system:

  • Ubuntu Server 16,04:Ubuntu Server 16.04:

    curl https://packages.microsoft.com/config/ubuntu/16.04/multiarch/prod.list > ./microsoft-prod.list
    
  • Ubuntu Server 18,04:Ubuntu Server 18.04:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  • Raspbian Stretch:Raspbian Stretch:

    curl https://packages.microsoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list
    

Zkopírujte vygenerovaný seznam.Copy the generated list.

sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/

Nainstalovat veřejný klíč Microsoft GPGInstall Microsoft GPG public key

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/

Nainstalovat modul runtime kontejneruInstall the container runtime

Azure IoT Edge spoléhá na modul runtime kontejneru kompatibilní s rozhraním OCI .Azure IoT Edge relies on an OCI-compatible container runtime. V produkčních scénářích doporučujeme použít modul založený na Moby , který je uvedený níže.For production scenarios, we recommended that you use the Moby-based engine provided below. Je modul pouze container oficiálně podporované službou Azure IoT Edge.It is the only container engine officially supported with Azure IoT Edge. Jsou kompatibilní s modulem runtime Moby imagí kontejnerů dockeru CE/EE.Docker CE/EE container images are compatible with the Moby runtime.

Proveďte aktualizaci apt.Perform apt update.

sudo apt-get update

Nainstalujte modul Moby.Install the Moby engine.

sudo apt-get install moby-engine

Nainstalujte Moby rozhraní příkazového řádku (CLI).Install the Moby command-line interface (CLI). Rozhraní příkazového řádku je užitečné pro vývoj, ale volitelný pro nasazení v produkčním prostředí.The CLI is useful for development but optional for production deployments.

sudo apt-get install moby-cli

Pokud narazíte na chyby při instalaci modulu runtime kontejneru Moby, postupujte podle pokynů pro ověření jádra systému Linux pro kompatibilitu s Moby, jak je uvedeno dále v tomto článku.If you encounter errors when installing the Moby container runtime, follow the steps to Verify your Linux kernel for Moby compatibility, provided later in this article.

Instalace démona zabezpečení Azure IoT EdgeInstall the Azure IoT Edge Security Daemon

Démon zabezpečení IoT Edge poskytuje a udržuje standardy zabezpečení na zařízení IoT Edge.The IoT Edge security daemon provides and maintains security standards on the IoT Edge device. Proces démon spustí při každé spuštění a bootstraps zařízení spuštěním rest modul runtime IoT Edge.The daemon starts on every boot and bootstraps the device by starting the rest of the IoT Edge runtime.

Instalační příkaz nainstaluje také standardní verzi libiothsm , pokud ještě není k dispozici.The installation command also installs the standard version of the libiothsm if not already present.

Proveďte aktualizaci apt.Perform apt update.

sudo apt-get update

Instalace démona zabezpečení.Install the security daemon. Balíček je nainstalován na /etc/iotedge/.The package is installed at /etc/iotedge/.

sudo apt-get install iotedge

Po úspěšné instalaci IoT Edge zobrazí se ve výstupu výzva k aktualizaci konfiguračního souboru.Once IoT Edge is successfully installed, the output will prompt you to update the configuration file. Postupujte podle kroků v části konfigurace Azure IoT Edge démona zabezpečení a dokončete zřízení zařízení.Follow the steps in the Configure the Azure IoT Edge security daemon section to finish provisioning your device.

Instalace konkrétní verze modulu runtimeInstall a specific runtime version

Pokud chcete nainstalovat určitou verzi Azure IoT Edge runtime, můžete cílit na soubory součásti přímo z úložiště GitHub IoT Edge.If you want to install a specific version of the Azure IoT Edge runtime, you can target the component files directly from the IoT Edge GitHub repository. Pomocí následujících kroků načtete všechny součásti IoT Edge do svého zařízení: modul Moby a rozhraní příkazového řádku, libiothsm a nakonec proces démona zabezpečení IoT Edge.Use the following steps to get all of the IoT Edge components onto your device: the Moby engine and CLI, the libiothsm, and finally the IoT Edge security daemon.

  1. Přejděte do vydaných verzí Azure IoT Edgea vyhledejte verzi pro vydání, na kterou chcete cílit.Navigate to the Azure IoT Edge releases, and find the release version that you want to target.

  2. Rozbalte část assets (prostředky ) pro danou verzi.Expand the Assets section for that version.

  3. V žádné dané vydané verzi může nebo nemusí být možné aktualizovat modul Moby.There may or may not be updates to the Moby engine in any given release. Pokud se zobrazí soubory, které začínají na Moby a Moby-CLI, aktualizujte tyto součásti pomocí následujících příkazů.If you see files that start with moby-engine and moby-cli, use the following commands to update those components. Pokud nevidíte žádné soubory Moby, přečtěte si předchozí assety vydaných verzí, dokud nenajdete nejnovější verzi.If you don't see any Moby files, go back through the older release assets until you find the most recent version.

    1. Vyhledejte soubor Moby , který odpovídá architektuře zařízení IoT Edge.Find the moby-engine file that matches your IoT Edge device's architecture. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.Right-click on the file link and copy the link address.

    2. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi modulu Moby:Use the copied link in the following command to install that version of the Moby engine:

      curl -L <moby-engine link> -o moby_engine.deb && sudo dpkg -i ./moby_engine.deb
      
    3. Vyhledejte soubor Moby-CLI , který odpovídá architektuře zařízení IoT Edge.Find the moby-cli file that matches your IoT Edge device's architecture. Moby CLI je volitelná součást, ale může být užitečná během vývoje.The Moby CLI is an optional component, but can be helpful during development. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.Right-click on the file link and copy the link address.

    4. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi rozhraní příkazového řádku Moby:Use the copied link in the following command to install that version of the Moby CLI:

      curl -L <moby-cli link> -o moby_cli.deb && sudo dpkg -i ./moby_cli.deb
      
  4. Každé vydání by mělo mít nové soubory pro démona zabezpečení IoT Edge a hsmlib.Every release should have new files for the IoT Edge security daemon and the hsmlib. Tyto součásti můžete aktualizovat pomocí následujících příkazů.Use the following commands to update those components.

    1. Vyhledejte soubor libiothsm-STD , který odpovídá architektuře zařízení IoT Edge.Find the libiothsm-std file that matches your IoT Edge device's architecture. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.Right-click on the file link and copy the link address.

    2. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi nástroje hsmlib:Use the copied link in the following command to install that version of the hsmlib:

      curl -L <libiothsm-std link> -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb
      
    3. Vyhledejte soubor iotedge , který odpovídá architektuře zařízení IoT Edge.Find the iotedge file that matches your IoT Edge device's architecture. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.Right-click on the file link and copy the link address.

    4. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi procesu démona zabezpečení IoT Edge.Use the copied link in the following command to install that version of the IoT Edge security daemon.

      curl -L <iotedge link> -o iotedge.deb && sudo dpkg -i ./iotedge.deb
      

Po úspěšné instalaci IoT Edge zobrazí se ve výstupu výzva k aktualizaci konfiguračního souboru.Once IoT Edge is successfully installed, the output will prompt you to update the configuration file. Pokud chcete dokončit zřizování zařízení, postupujte podle kroků v následující části.Follow the steps in the next section to finish provisioning your device.

Konfigurace démona zabezpečeníConfigure the security daemon

Konfigurace modulu runtime IoT Edge k propojení vaší fyzické zařízení s identitou zařízení, která existuje v Azure IoT hub.Configure the IoT Edge runtime to link your physical device with a device identity that exists in an Azure IoT hub.

Démona se dá nakonfigurovat pomocí konfiguračního souboru na /etc/iotedge/config.yaml.The daemon can be configured using the configuration file at /etc/iotedge/config.yaml. Soubor je chráněn proti zápisu ve výchozím nastavení, bude pravděpodobně nutné zvýšenou úroveň oprávnění a upravte ji.The file is write-protected by default, you might need elevated permissions to edit it.

Jedno zařízení IoT Edge se dá zřídit ručně pomocí řetězce připojení zařízení k dispozici ve službě IoT Hub.A single IoT Edge device can be provisioned manually using a device connections string provided by IoT Hub. Nebo můžete do služby Device Provisioning k automatickému zřízení zařízení, což je užitečné, když máte velký počet zařízení ke zřízení.Or, you can use the Device Provisioning Service to automatically provision devices, which is helpful when you have many devices to provision. Podle svého výběru: zřizování zvolte příslušný instalační skript.Depending on your provisioning choice, choose the appropriate installation script.

Možnost 1: Ruční zřizováníOption 1: Manual provisioning

Pokud chcete zařízení zřídit ručně, musíte ho zadat pomocí připojovacího řetězce zařízení , který můžete vytvořit tak, že zaregistrujete nové zařízení ve službě IoT Hub.To manually provision a device, you need to provide it with a device connection string that you can create by registering a new device in your IoT hub.

Otevřete konfigurační soubor.Open the configuration file.

sudo nano /etc/iotedge/config.yaml

Vyhledejte konfigurace zřizování souboru a odkomentujte oddíl Ruční konfigurace zřizování .Find the provisioning configurations of the file and uncomment the Manual provisioning configuration section. Aktualizujte hodnotu device_connection_string připojovacím řetězcem ze zařízení IoT Edge.Update the value of device_connection_string with the connection string from your IoT Edge device. Ujistěte se, že jsou všechny ostatní oddíly pro zřizování zakomentovány.Make sure any other provisioning sections are commented out.

# Manual provisioning configuration
provisioning:
  source: "manual"
  device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"

# DPS TPM provisioning configuration
# provisioning:
#   source: "dps"
#   global_endpoint: "https://global.azure-devices-provisioning.net"
#   scope_id: "{scope_id}"
#   attestation:
#     method: "tpm"
#     registration_id: "{registration_id}"

Pokud chcete vložit obsah schránky do nano Shift+Right Click nebo stiskněte Shift+Insert.To paste clipboard contents into Nano Shift+Right Click or press Shift+Insert.

Uložte soubor a zavřete ho.Save and close the file.

CTRL + X, Y, EnterCTRL + X, Y, Enter

Jakmile zadáte informace o zřizování v konfiguračním souboru, restartujte démona:After entering the provisioning information in the configuration file, restart the daemon:

sudo systemctl restart iotedge

Možnost 2: Automatické zřizováníOption 2: Automatic provisioning

Pokud chcete automaticky zřídit zařízení, nastavte službu Device Provisioning a načtěte ID registrace zařízení.To automatically provision a device, set up Device Provisioning Service and retrieve your device registration ID. Pokud používáte Automatické zřizování, ale vaše požadavky na hardware mají vliv na řadu mechanismů ověřování, které IoT Edge podporuje.There are a number of attestation mechanisms supported by IoT Edge when using automatic provisioning but your hardware requirements also impact your choices. Například zařízení malinu PI ve výchozím nastavení nespadají do čipu TPM (Trusted Platform Module).For example, Raspberry Pi devices do not come with a Trusted Platform Module (TPM) chip by default.

Otevřete konfigurační soubor.Open the configuration file.

sudo nano /etc/iotedge/config.yaml

Vyhledejte konfigurace zřizování souboru a zrušte komentář k oddílu, který je vhodný pro váš mechanismus ověřování.Find the provisioning configurations of the file and uncomment the section appropriate for your attestation mechanism. Pokud používáte ověření identity pomocí čipu TPM, například aktualizujte hodnoty scope_id a registration_id hodnotami ze služby IoT Hub Device Provisioning a IoT Edge zařízení s čipem TPM.When using TPM attestation, for example, update the values of scope_id and registration_id with the values from your IoT Hub Device Provisioning service and your IoT Edge device with TPM, respectively.

# Manual provisioning configuration
# provisioning:
#   source: "manual"
#   device_connection_string: "<ADD DEVICE CONNECTION STRING HERE>"

# DPS TPM provisioning configuration
provisioning:
  source: "dps"
  global_endpoint: "https://global.azure-devices-provisioning.net"
  scope_id: "{scope_id}"
  attestation:
    method: "tpm"
    registration_id: "{registration_id}"

Pokud chcete vložit obsah schránky do nano Shift+Right Click nebo stiskněte Shift+Insert.To paste clipboard contents into Nano Shift+Right Click or press Shift+Insert.

Uložte soubor a zavřete ho.Save and close the file.

CTRL + X, Y, EnterCTRL + X, Y, Enter

Jakmile zadáte informace o zřizování v konfiguračním souboru, restartujte démona:After entering the provisioning information in the configuration file, restart the daemon:

sudo systemctl restart iotedge

Ověření úspěšné instalaceVerify successful installation

Pokud jste použili kroky Ruční konfigurace v předchozí části, modul runtime IoT Edge by měl být na vašem zařízení úspěšně zřízený a spuštěný.If you used the manual configuration steps in the previous section, the IoT Edge runtime should be successfully provisioned and running on your device. Pokud jste použili kroky pro automatické konfigurace , budete muset provést některé další kroky, aby modul runtime mohl vaše zařízení zaregistrovat vaším jménem vaší služby IoT Hub.If you used the automatic configuration steps, then you need to complete some additional steps so that the runtime can register your device with your IoT hub on your behalf. Další postup najdete v tématu Vytvoření a zřízení simulovaného zařízení TPM IoT Edge na virtuálním počítači se systémem Linux.For next steps, see Create and provision a simulated TPM IoT Edge device on a Linux virtual machine.

Můžete kontrolovat stav procesu démona IoT Edge:You can check the status of the IoT Edge Daemon:

systemctl status iotedge

Kontrola protokolů démona:Examine daemon logs:

journalctl -u iotedge --no-pager --no-full

Spusťte automatizovanou kontrolu nejběžnějších chyb konfigurace a sítě:Run an automated check for the most common configuration and networking errors:

sudo iotedge check

A, vypsat běžící moduly:And, list running modules:

sudo iotedge list

Jediným modulem, který by měl být spuštěný, je po instalaci IoT Edge na zařízení edgeAgent.After installing IoT Edge on your device, the only module you should see running is edgeAgent. Po vytvoření prvního nasazení se v zařízení spustí i jiný systémový modul $edgeHub .Once you create your first deployment, the other system module $edgeHub will start on the device as well. Další informace najdete v tématu nasazení IoT Edgech modulů.For more information, see deploy IoT Edge modules.

Tipy a řešení potížíTips and troubleshooting

Ke spouštění příkazů iotedge potřebujete zvýšená oprávnění.You need elevated privileges to run iotedge commands. Po instalaci modulu runtime, odhlaste se z vašeho počítače a znovu se přihlaste automaticky aktualizovat vaše oprávnění.After installing the runtime, sign out of your machine and sign back in to update your permissions automatically. Do té doby použijte sudo před jakýmkoli iotedge příkazů.Until then, use sudo in front of any iotedge the commands.

U zařízení s omezeným prostředkem se důrazně doporučuje nastavit proměnnou prostředí OptimizeForPerformance na hodnotu false podle pokynů v Průvodci odstraňováním potíží.On resource constrained devices, it is highly recommended that you set the OptimizeForPerformance environment variable to false as per instructions in the troubleshooting guide.

Pokud vaše síť obsahuje proxy server, postupujte podle kroků v části Konfigurace zařízení IoT Edge pro komunikaci prostřednictvím proxy server.If your network that has a proxy server, follow the steps in Configure your IoT Edge device to communicate through a proxy server.

Ověření kompatibility se systémem Linux v jádře MobyVerify your Linux kernel for Moby compatibility

Řada integrovaných výrobců zařízení dodává obrázky zařízení, které obsahují vlastní jádra systému Linux bez funkcí požadovaných pro kompatibilitu s modulem runtime kontejneru.Many embedded device manufacturers ship device images that contain custom Linux kernels without the features required for container runtime compatibility. Pokud narazíte na problémy při instalaci doporučeného modulu runtime Moby Container, možná budete moci vyřešit potíže s konfigurací jádra pro Linux pomocí skriptu check-config z oficiálního úložiště GitHub Moby.If you encounter issues while installing the recommended Moby container runtime, you may be able to troubleshoot your Linux kernel configuration using the check-config script from the official Moby GitHub repository. Spuštěním následujících příkazů na zařízení ověřte konfiguraci jádra:Run the following commands on the device to check your kernel configuration:

curl -sSL https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
chmod +x check-config.sh
./check-config.sh

Tím se poskytne podrobný výstup, který obsahuje stav funkcí jádra, které používá modul runtime Moby.This will provide a detailed output that contains the status of kernel features that are used by the Moby runtime. Budete chtít zajistit, aby všechny položky v části Generally Necessary a Network Drivers byly povoleny, aby bylo zajištěno, že je jádro plně kompatibilní s modulem runtime Moby.You will want to ensure that all items under Generally Necessary and Network Drivers are enabled to ensure that your kernel is fully compatible with the Moby runtime. Pokud jste identifikovali chybějící funkce, povolte je opětovným sestavením jádra ze zdroje a výběrem přidružených modulů pro zahrnutí do příslušného souboru kernel. config. Podobně pokud používáte generátor konfigurace jádra, jako je defconfig nebo menuconfig, najděte a povolte příslušné funkce a odpovídajícím způsobem Sestavte jádro.If you have identified any missing features, enable them by rebuilding your kernel from source and selecting the associated modules for inclusion in the appropriate kernel .config. Similarly, if you are using a kernel configuration generator like defconfig or menuconfig, find and enable the respective features and rebuild your kernel accordingly. Po nasazení nově upraveného jádra spusťte skript check-config znovu, abyste ověřili, že všechny požadované funkce byly úspěšně povoleny.Once you have deployed your newly modified kernel, run the check-config script again to verify that all the required features were successfully enabled.

Odinstalace IoT EdgeUninstall IoT Edge

Pokud chcete odebrat instalaci IoT Edge ze zařízení se systémem Linux, použijte následující příkazy z příkazového řádku.If you want to remove the IoT Edge installation from your Linux device, use the following commands from the command line.

Odeberte modul runtime IoT Edge.Remove the IoT Edge runtime.

sudo apt-get remove --purge iotedge

Po odebrání IoT Edge modul runtime se zastaví kontejner, který byl vytvořen, ale stále existují na vašem zařízení.When the IoT Edge runtime is removed, the container that it created are stopped but still exist on your device. Zobrazením všech kontejnerů zjistíte, které z nich zůstanou.View all containers to see which ones remain.

sudo docker ps -a

Odstraňte kontejnery ze zařízení včetně dvou kontejnerů modulu runtime.Delete the containers from your device, including the two runtime containers.

sudo docker rm -f <container name>

Nakonec odeberte modul runtime kontejneru z vašeho zařízení.Finally, remove the container runtime from your device.

sudo apt-get remove --purge moby-cli
sudo apt-get remove --purge moby-engine

Další krokyNext steps

Teď, když máte nainstalovanou IoT Edge zařízení s nainstalovaným modulem runtime, můžete nasadit IoT Edge moduly.Now that you have an IoT Edge device provisioned with the runtime installed, you can deploy IoT Edge modules.

Pokud máte problémy s instalací modulu runtime IoT Edge správně, podívejte se na stránku Poradce při potížích .If you are having problems with the IoT Edge runtime installing properly, check out the troubleshooting page.

Chcete-li aktualizovat existující instalaci na nejnovější verzi IoT Edge, přečtěte si téma aktualizace procesu démona zabezpečení IoT Edge a modulu runtime.To update an existing installation to the newest version of IoT Edge, see Update the IoT Edge security daemon and runtime.