Tutorial: Atualização de dispositivo para o Hub IoT do Azure usando o agente de pacote no Ubuntu Server 22.04 x64

A Atualização de Dispositivo para o Hub IoT do Azure dá suporte a atualizações baseadas em imagem, pacote e script.

As atualizações baseadas em pacotes são atualizações direcionadas que alteram apenas um componente ou aplicativo específico no dispositivo. Eles levam a um menor consumo de largura de banda e ajudam a reduzir o tempo para baixar e instalar a atualização. As atualizações baseadas em pacotes também normalmente permitem menos tempo de inatividade dos dispositivos quando você aplica uma atualização e evitam a sobrecarga da criação de imagens. Eles usam um manifesto APT, que fornece ao agente de Atualização de Dispositivo as informações necessárias para baixar e instalar os pacotes especificados no arquivo de manifesto APT (e suas dependências) de um repositório designado.

Este tutorial orienta você na atualização do Azure IoT Edge no Ubuntu Server 22.04 x64 usando o agente de pacote de Atualização de Dispositivo. Embora o tutorial demonstre a instalação do Microsoft Defender para IoT, usando etapas semelhantes você pode atualizar outros pacotes, como o próprio IoT Edge ou o mecanismo de contêiner que ele usa.

As ferramentas e os conceitos neste tutorial ainda se aplicam mesmo se você planeja usar uma configuração de plataforma de sistema operacional diferente. Conclua esta introdução a um processo de atualização de ponta a ponta. Em seguida, escolha sua forma preferida de atualizar uma plataforma de sistema operacional para mergulhar nos detalhes.

Neste tutorial, irá aprender a:

  • Baixe e instale o agente de Atualização de Dispositivo e suas dependências.
  • Adicione uma etiqueta ao seu dispositivo.
  • Importe uma atualização.
  • Implante uma atualização de pacote.
  • Monitore a implantação da atualização.

Pré-requisitos

  • Se ainda não o fez, crie uma conta e uma instância de Atualização de Dispositivo. Configure um hub IoT.

  • Você precisa da cadeia de conexão para um dispositivo IoT Edge.

  • Se você usou o tutorial do agente do simulador para testes anteriores, execute o seguinte comando para invocar o manipulador APT e implantar atualizações de pacote over-the-air neste tutorial:

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
    

Preparar um dispositivo

Usar o botão Implantar no Azure automatizado

Por conveniência, este tutorial usa um modelo do Azure Resource Manager baseado em inicialização na nuvem para ajudá-lo a configurar rapidamente uma VM do Ubuntu 22.04 LTS (Máquina Virtual). Ele instala o tempo de execução do Azure IoT Edge e o agente do pacote de Atualização de Dispositivo. Em seguida, ele configura automaticamente o dispositivo com informações de provisionamento usando a cadeia de conexão do dispositivo para um dispositivo IoT Edge (pré-requisito) fornecido. O modelo do Gerenciador de Recursos também evita a necessidade de iniciar uma sessão SSH para concluir a instalação.

  1. Para começar, selecione o botão:

    Captura de tela mostrando o botão Implantar no Azure para iotedge-vm-deploy.

  2. Preencha as caixas de texto disponíveis:

    • Assinatura: a assinatura ativa do Azure na qual implantar a máquina virtual.
    • Grupo de recursos: um grupo de recursos existente ou recém-criado para conter a máquina virtual e seus recursos associados.
    • Região: a região geográfica na qual a máquina virtual será implantada. O padrão desse valor é o local do grupo de recursos selecionado.
    • Prefixo de rótulo DNS: um valor necessário de sua escolha que é usado para prefixar o nome do host da máquina virtual.
    • Nome de usuário do administrador: um nome de usuário, que recebe privilégios de raiz na implantação.
    • Cadeia de conexão de dispositivo: uma cadeia de conexão de dispositivo para um dispositivo que foi criado dentro do hub IoT pretendido.
    • Tamanho da VM: o tamanho da máquina virtual a ser implantada.
    • Versão do Ubuntu OS: A versão do Ubuntu OS a ser instalada na máquina virtual base. Deixe o valor padrão inalterado porque ele já está definido como Ubuntu 22.04-LTS.
    • Tipo de autenticação: escolha sshPublicKey ou senha com base em sua preferência.
    • Senha ou chave de administrador: o valor da chave pública SSH ou o valor da senha com base na escolha do tipo de autenticação.

    Depois que todas as caixas forem preenchidas, marque a caixa de seleção na parte inferior da página para aceitar os termos. Selecione Comprar para iniciar a implantação.

  3. Verifique se a implantação foi concluída com êxito. Aguarde alguns minutos após a conclusão da implantação para que a pós-instalação e a configuração concluam a instalação do IoT Edge e do agente de atualização do pacote de dispositivo.

    Um recurso de máquina virtual deve ser implantado no grupo de recursos selecionado. Observe o nome da máquina, que está no formato vm-0000000000000. Observe também o nome DNS associado, que está no formato <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Você pode obter o nome DNS na seção Visão geral da máquina virtual recém-implantada no portal do Azure.

    Captura de tela mostrando o nome DNS da vm iotedge.

    Gorjeta

    Para SSH nesta VM após a instalação, use o nome DNS associado com o seguinte comando: ssh <adminUsername>@<DNS_Name>.

  4. Instale o agente de atualização de dispositivo na VM.

    sudo apt-get install deviceupdate-agent
    
  5. Abra os detalhes de configuração (Veja como configurar o arquivo de configuração aqui com o comando abaixo. Defina seu connectionType como 'AIS' e connectionData como string vazia. Observe que todos os valores com a tag 'Colocar valor aqui' devem ser definidos. Consulte Configurando um agente de atualização de dispositivo.

    sudo nano /etc/adu/du-config.json
    
  6. Reinicie o agente de Atualização de Dispositivo.

    sudo systemctl restart deviceupdate-agent
    

Os pacotes de software da Atualização de Dispositivo para o Hub IoT do Azure estão sujeitos aos seguintes termos de licença:

Leia os termos de licença antes de usar um pacote. A sua instalação e utilização de um pacote constitui a sua aceitação destes termos. Se você não concorda com os termos da licença, não use esse pacote.

Adicionar uma etiqueta ao dispositivo

  1. Entre no portal do Azure e vá para o hub IoT.

  2. No painel esquerdo, em Dispositivos, localize seu dispositivo IoT Edge e vá para o dispositivo gêmeo ou módulo gêmeo.

  3. No módulo twin do módulo do agente de Atualização de Dispositivo, exclua todos os valores de tag de Atualização de Dispositivo existentes definindo-os como nulos. Se você estiver usando a identidade do dispositivo com o agente de Atualização de Dispositivo, faça essas alterações no dispositivo gêmeo.

  4. Adicione um novo valor de tag de Atualização de Dispositivo, conforme mostrado:

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

    Captura de tela que mostra o gêmeo com informações da tag.

    Esta captura de tela mostra a seção onde a tag precisa ser adicionada no gêmeo.

Importar a atualização

  1. Vá para Versões de Atualização de Dispositivo no GitHub e selecione a lista suspensa Ativos . Faça o download Tutorial_IoTEdge_PackageUpdate.zip selecionando-o. Extraia o conteúdo da pasta para descobrir um exemplo de manifesto APT (sample-defender-iot-apt-manifest.json) e seu manifesto de importação correspondente (sample-defender-iot--importManifest.json).

  2. Entre no portal do Azure e vá para seu hub IoT com a Atualização de Dispositivo. No painel esquerdo, em Gerenciamento Automático de Dispositivos, selecione Atualizações.

  3. Selecione a guia Atualizações .

  4. Selecione + Importar nova atualização.

  5. Selecione + Selecionar no contêiner de armazenamento. Selecione uma conta existente ou crie uma nova conta usando + Conta de armazenamento. Em seguida, selecione um contêiner existente ou crie um novo contêiner usando + Container. Esse contêiner é usado para preparar seus arquivos de atualização para importação.

    Nota

    Recomendamos que você use um novo contêiner sempre que importar uma atualização para evitar a importação acidental de arquivos de atualizações anteriores. Se você não usar um novo contêiner, certifique-se de excluir todos os arquivos do contêiner existente antes de concluir esta etapa.

    Captura de tela que mostra a conta de armazenamento.

  6. No seu contêiner, selecione Carregar e vá para os arquivos que você baixou na etapa 1. Depois de selecionar todos os seus arquivos de atualização, selecione Carregar. Em seguida, selecione o botão Selecionar para retornar à página Importar atualização .

    Captura de ecrã que mostra a seleção de ficheiros carregados.

    Esta captura de tela mostra a etapa de importação. Os nomes de arquivo podem não corresponder aos usados no exemplo.

  7. Na página Importar atualização, revise os arquivos a serem importados. Em seguida, selecione Importar atualização para iniciar o processo de importação.

    Captura de tela que mostra o início do processo de importação.

  8. O processo de importação começa e a tela alterna para a seção Histórico de importação. Quando a coluna Status indicar que a importação foi bem-sucedida, selecione o cabeçalho Atualizações disponíveis. Você deve ver sua atualização importada na lista agora.

    Captura de tela que mostra o status do trabalho.

Para obter mais informações sobre o processo de importação, consulte Importar uma atualização para a Atualização de dispositivo.

Ver grupos de dispositivos

A Atualização de Dispositivo usa grupos para organizar dispositivos. A Atualização de Dispositivo classifica automaticamente os dispositivos em grupos com base nas etiquetas atribuídas e nas propriedades de compatibilidade. Cada dispositivo pertence a apenas um grupo, mas os grupos podem ter vários subgrupos para classificar diferentes classes de dispositivos.

  1. Vá para a guia Grupos e implantações na parte superior da página.

    Captura de ecrã que mostra dispositivos não agrupados.

  2. Exiba a lista de grupos e o gráfico de conformidade de atualização. O gráfico de conformidade de atualização mostra a contagem de dispositivos em vários estados de conformidade: Na última atualização, Novas atualizações disponíveis e Atualizações em andamento. Saiba mais sobre a conformidade de atualizações.

    Captura de tela que mostra a exibição de conformidade de atualização.

  3. Você verá um grupo de dispositivos que contém o dispositivo simulado configurado neste tutorial, juntamente com quaisquer atualizações disponíveis para os dispositivos no novo grupo. Se houver dispositivos que não atendam aos requisitos de classe de dispositivo do grupo, eles aparecerão em um grupo inválido correspondente. Para implantar a melhor atualização disponível para o novo grupo definido pelo usuário a partir desse modo de exibição, selecione Implantar ao lado do grupo.

Para obter mais informações sobre tags e grupos, consulte Gerenciar grupos de dispositivos.

Implantar a atualização

  1. Depois que o grupo for criado, você verá uma nova atualização disponível para seu grupo de dispositivos com um link para a atualização em Melhor atualização. Talvez seja necessário atualizar uma vez.

    Para obter mais informações sobre conformidade, consulte Conformidade de atualização de dispositivo.

  2. Selecione o grupo-alvo selecionando o nome do grupo. Você será direcionado para os detalhes do grupo em Noções básicas do grupo.

    Captura de ecrã que mostra os detalhes do Grupo.

  3. Para iniciar a implantação, vá para a guia Implantação atual. Selecione o link de implantação ao lado da atualização desejada na seção Atualizações disponíveis. A melhor atualização disponível para um determinado grupo é indicada com um destaque Best .

    Captura de ecrã que mostra a seleção de uma atualização.

  4. Agende sua implantação para começar imediatamente ou no futuro. Depois, selecione Criar.

    Gorjeta

    Por padrão, a data e a hora de início são 24 horas a partir da hora atual. Certifique-se de selecionar uma data e hora diferentes se quiser que a implantação comece mais cedo.

    Captura de tela que mostra a criação de uma implantação.

  5. Em Detalhes da implantação, Status se transforma em Ativo. A atualização implantada está marcada com (implantação).

    Captura de tela que mostra a implantação como Ativa.

  6. Veja o gráfico de conformidade para ver se a atualização está em andamento.

  7. Depois que o dispositivo for atualizado com êxito, você verá que o gráfico de conformidade e os detalhes de implantação serão atualizados para refletir o mesmo.

    Captura de tela que mostra que a atualização foi bem-sucedida.

Monitorar a implantação da atualização

  1. Selecione a guia Histórico de implantação na parte superior da página.

    Captura de tela que mostra o histórico de implantação.

  2. Selecione o link de detalhes ao lado da implantação que você criou.

    Captura de tela que mostra os detalhes da implantação.

  3. Selecione Atualizar para visualizar os detalhes de status mais recentes.

Agora você concluiu uma atualização de pacote de ponta a ponta bem-sucedida usando a Atualização de Dispositivo para o Hub IoT em um dispositivo Ubuntu Server 22.04 x64.

Clean up resources (Limpar recursos)

Quando não for mais necessário, limpe a conta de atualização do dispositivo, a instância e o hub IoT. Limpe também o dispositivo IoT Edge se tiver criado a VM por meio do botão Implantar no Azure . Para limpar recursos, vá para cada recurso individual e selecione Excluir. Limpe uma instância de atualização de dispositivo antes de limpar a conta de atualização de dispositivo.

Próximos passos