Compartilhar via


Atualizar o IoT Edge

Aplica-se a:Marca de seleção do IoT Edge 1.5 IoT Edge 1.5 marca de seleção do IoT Edge 1.4 IoT Edge 1.4

Importante

O IoT Edge 1.5 LTS e o IoT Edge 1.4 LTS são versões com suporte. O fim da vida útil do IoT Edge 1.4 LTS é 12 de novembro de 2024.

Conforme o serviço do IoT Edge lança novas versões, é recomendável atualizar os dispositivos do IoT Edge para os recursos mais recentes e melhorias de segurança. Este artigo fornece informações sobre como atualizar seus dispositivos IoT Edge quando uma nova versão está disponível.

Dois componentes lógicos de um dispositivo IoT Edge precisam ser atualizados caso você queira passar para uma versão mais recente.

  • Subsistema de segurança – Ele é executado no dispositivo, lida com tarefas baseadas em segurança e inicia os módulos quando o dispositivo é iniciado. O subsistema de segurança só pode ser atualizado no próprio dispositivo.

  • Runtime do IoT Edge – O runtime do IoT Edge é composto pelos módulos hub do IoT Edge (edgeHub) e agente do IoT Edge (edgeAgent). Dependendo de como você estruturar sua implantação, o runtime poderá ser atualizado no dispositivo ou remotamente.

Como atualizar

Use as seções deste artigo para atualizar o subsistema de segurança e os contêineres de runtime em um dispositivo.

Versões de patch

Quando você atualiza entre versões de patch, por exemplo, 1.4.1 para 1.4.2, a ordem de atualização não é importante. Você pode atualizar o subsistema de segurança ou os contêineres de runtime antes ou depois do outro. Para atualizar entre versões de patch:

  1. Atualizar o subsistema de segurança
  2. Atualizar os contêineres de runtime
  3. Verificar se as versões correspondem

Você pode solucionar problemas do processo de atualização a qualquer momento.

Versões principais ou secundárias

Ao atualizar entre versões principais ou secundárias, por exemplo, da 1.4 para a 1.5, atualize tanto o subsistema de segurança quanto os contêineres de runtime. Antes de uma versão, testamos a combinação do subsistema de segurança e a versão do contêiner de runtime. Para atualizar entre as versões principais ou secundárias do produto:

  1. No dispositivo, interrompa o IoT Edge usando o comando sudo systemctl stop iotedge e desinstale.

  2. No dispositivo, atualize o mecanismo de contêiner, Docker ou Moby.

  3. No dispositivo, instale o IoT Edge.

    Se você estiver importando uma configuração antiga usando iotedge config import, modifique a imagem [agent.config] do arquivo /etc/aziot/config.toml gerado para usar a imagem 1.4 para edgeAgent.

    Para obter mais informações, consulte Definir as configurações de dispositivo do IoT Edge.

  4. No Hub IoT, atualize a implantação do módulo para fazer referência aos módulos do sistema mais recentes.

  5. No dispositivo, inicie o IoT Edge usando sudo iotedge config apply.

Você pode solucionar problemas do processo de atualização a qualquer momento.

Atualizar o subsistema de segurança

O subsistema de segurança do IoT Edge é um conjunto de componentes nativo que precisa ser atualizado pelo gerenciador de pacotes no dispositivo do IoT Edge.

Verifique a versão do subsistema de segurança em execução no seu dispositivo pelo comando iotedge version. Se estiver usando IoT Edge para Linux no Windows, você precisará usar o SSH na máquina virtual Linux para verificar a versão.

Em dispositivos Linux x64, use o apt-get ou o gerenciador de pacotes apropriado para atualizar o subsistema de segurança para a versão mais recente.

Atualizar apt:

sudo apt-get update

Observação

Para instruções para obter a configuração mais recente do repositório da Microsoft, confira as etapas preliminares para Instalar o IoT Edge.

Verifique quais versões do IoT Edge estão disponíveis:

apt list -a aziot-edge

Atualizar o IoT Edge:

sudo apt-get install aziot-edge defender-iot-micro-agent-edge

A execução de apt-get install aziot-edge atualiza o subsistema de segurança e instala o serviço de identidade, aziot-identity-service, como uma dependência necessária.

É recomendável instalar o micro agente com o agente do Edge para habilitar o monitoramento de segurança e a proteção de seus dispositivos do Edge. Para saber mais sobre o Microsoft Defender para IoT, consulte O que é o Microsoft Defender para IoT para compiladores de dispositivos.

Em seguida, aplique novamente a configuração para garantir que o sistema esteja totalmente atualizado.

sudo iotedge config apply

Atualizar os contêineres de runtime

A maneira de atualizar o agente do IoT Edge e contêineres de hub do IoT Edge depende se você pode usar marcas sem interrupção (como 1.5) ou marcas específicas (como 1.5.1) em sua implantação.

Verifique a versão do agente do IoT Edge e de módulos de hub do IoT Edge atualmente em seu dispositivo usando o comando iotedge logs edgeAgent ou iotedge logs edgeHub. Se estiver usando IoT Edge para Linux no Windows, você precisará usar o SSH na máquina virtual Linux para verificar a versão do módulo de runtime.

Captura de tela de onde encontrar a versão do contêiner nos logs do console.

Reconhecer as marcas do IoT Edge

O agente do IoT Edge e as imagens de hub do IoT Edge são marcadas com a versão do IoT Edge a que estão associados. Há duas maneiras diferentes de usar marcas com as imagens de runtime:

  • Marcas sem interrupção – use os dois primeiros valores do número de versão para obter a imagem mais recente que corresponde a esses dígitos. Por exemplo, 1.5 é atualizado sempre que há uma nova versão para apontar para a versão 1.5.x mais recente. Se o runtime do contêiner em seu dispositivo IoT Edge extrair a imagem novamente, os módulos de runtime serão atualizados para a versão mais recente. Implantações do portal do Azure usam como padrão marcas sem interrupção. Essa abordagem é sugerida para fins de desenvolvimento.

  • Marcas específicas – use todos os três valores do número de versão para definir explicitamente a versão da imagem. Por exemplo, a versão 1.5.0 não será alterada após seu lançamento inicial. Você pode declarar um novo número de versão no manifesto de implantação quando estiver pronto para atualizar. Essa abordagem é sugerida para fins de produção.

Atualizar uma imagem de tag sem interrupção

Se você usar marcas sem interrupção em sua implantação (por exemplo, mcr.microsoft.com/azureiotedge-hub:1.5), será necessário forçar o runtime do contêiner em seu dispositivo para obter a versão mais recente da imagem.

Exclua a versão local da imagem do seu dispositivo IoT Edge. Em computadores Windows, desinstalar o subsistema de segurança também remove as imagens de runtime, portanto, você não precisará realizar esta etapa novamente.

docker rmi mcr.microsoft.com/azureiotedge-hub:1.5
docker rmi mcr.microsoft.com/azureiotedge-agent:1.5

Talvez você precise usar a marca -f de forçar para remover as imagens.

O serviço do IoT Edge obtém as versões mais recentes das imagens do runtime e as inicia automaticamente em seu dispositivo outra vez.

Atualizar uma imagem de tag específica

Se você usar marcas específicas em sua implantação (por exemplo, mcr.microsoft.com/azureiotedge-hub:1.4), bastará atualizar a marca em seu manifesto de implantação e aplicar as alterações ao seu dispositivo.

  1. No Hub IoT no portal do Azure, selecione o dispositivo IoT Edge e selecione Definir módulos.

  2. Na guia Módulos, selecione Configurações de Runtime.

  3. Em Configurações de Runtime, atualize o valor URI da Imagem na seção Agente de Borda com a versão desejada. Por exemplo, mcr.microsoft.com/azureiotedge-agent:1.5 Não selecione Aplicar ainda.

  4. Selecione a guia Hub do Edge e atualize o valor URI da Imagem com a mesma versão desejada. Por exemplo, mcr.microsoft.com/azureiotedge-hub:1.5.

  5. Selecione Aplicar para salvar as alterações.

  6. Selecione Revisar + criar, revise a implantação, conforme visto no arquivo JSON, e selecione Criar.

Atualizar URIs do módulo do parceiro

Ao usar módulos de parceiro, atualize as implantações do módulo com URIs de imagem fornecidas pelo parceiro. Entre em contato com o editor de módulos do IoT Edge para obter o URI de imagem de contêiner atualizado. Atualize as configurações do dispositivo com o novo URI de imagem fornecido pelo editor.

  1. Entre no portal do Azure e navegue até o Hub IoT.
  2. No painel à esquerda, selecione Dispositivos no menu Gerenciamento de dispositivos.
  3. Selecione o dispositivo do IoT Edge que usa o módulo de parceiro na lista.
  4. Na barra superior, selecione Definir Módulos.
  5. Escolha o módulo de parceiro do IoT Edge que você deseja atualizar com o novo URI de imagem.
  6. Atualize o valor do URI da imagem com o novo URI de imagem fornecido pelo editor.
  7. Selecione Aplicar para salvar as alterações.
  8. Selecione Revisar + criar, revise a implantação, conforme visto no arquivo JSON, e selecione Criar.

Verificar se as versões correspondem

  1. Em seu dispositivo, use iotedge version para verificar a versão do subsistema de segurança. A saída inclui os números de versão principal, secundária e de revisão. Por exemplo, iotedge 1.4.2.

  2. Nas configurações de runtime de implantação do dispositivo, verifique se as versões do URI de imagem do edgeHub e do edgeAgent correspondem à versão principal e secundária do subsistema de segurança. Se a versão do subsistema de segurança for 1.4.2, as versões de imagem serão 1.4. Por exemplo, mcr.microsoft.com/azureiotedge-hub:1.4 e mcr.microsoft.com/azureiotedge-agent:1.4.

Observação

Atualize o subsistema de segurança do IoT Edge e os contêineres de runtime para a mesma versão com suporte. Embora exista suporte para versões incompatíveis, não testamos todas as combinações de versões.

Para localizar a versão mais recente do Azure IoT Edge, confira Versões do Azure IoT Edge.

Solução de problemas

Você pode exibir logs do sistema a qualquer momento executando os comandos a seguir do seu dispositivo.

  • Inicie a solução de problemas usando o comando de check. Ele executa uma coleção de testes de configuração e conectividade para problemas comuns.

    sudo iotedge check --verbose
    
  • Para exibir o status do sistema do IoT Edge, execute:

    sudo iotedge system status 
    
  • Para exibir os logs de componentes do host, execute:

    sudo iotedge system logs
    
  • Para verificar se há problemas recorrentes relatados com o edgeAgent e o edgeHub, execute:

    Certifique-se de substituir <module> pelo seu próprio nome de módulo. Se não houver problemas, você não verá nenhuma saída.

    sudo iotedge logs <module>
    

Para obter mais informações, consulte Solucionar problemas do dispositivo IoT Edge.

Próximas etapas

Exibir as versões do Azure IoT Edge mais recentes.

Fique por dentro das atualizações e comunicados mais recentes no blog da Internet das Coisas