Tutorial: Atualização de dispositivo do Azure para o Hub IoT usando o agente de pacote do Ubuntu 22.04
A Atualização de Dispositivo para o Hub IoT do Azure dá suporte a atualizações baseadas em imagem, pacote e script. Este tutorial demonstra uma atualização de pacote de ponta a ponta usando o agente de pacote de Atualização de Dispositivo Ubuntu Server 22.04 x64 para atualizar o Azure IoT Edge.
As atualizações baseadas em pacotes destinam-se a alterar apenas um dispositivo, componente ou aplicativo específico. Essas atualizações têm menor consumo de largura de banda e tempos de download e instalação mais curtos do que as atualizações baseadas em imagem, incorrendo em menos tempo de inatividade do dispositivo e evitando a sobrecarga da criação de imagens. Em uma atualização baseada em pacote, um manifesto APT fornece ao agente de Atualização de Dispositivo as informações necessárias para baixar e instalar pacotes especificados e suas dependências de um repositório designado.
Este tutorial orienta você na instalação do Microsoft Defender para IoT, mas você pode atualizar outros pacotes usando etapas semelhantes, como o próprio IoT Edge ou o mecanismo de contêiner que ele usa. As ferramentas e os conceitos neste tutorial se aplicam mesmo se você usar uma configuração de plataforma de sistema operacional diferente.
Neste tutorial:
- Baixe e instale o agente de Atualização de Dispositivo e suas dependências.
- Adicione uma etiqueta de grupo ao seu dispositivo.
- Importe a atualização do pacote.
- Implante a atualização do pacote.
- Exiba o histórico de implantação da atualização.
Pré-requisitos
- Uma conta e instância de Atualização de Dispositivo configuradas com um hub IoT.
- Um dispositivo Azure IoT Edge registrado no hub IoT com a cadeia de conexão copiada.
Preparar o dispositivo
Por conveniência, este tutorial usa um modelo do Azure Resource Manager (ARM) baseado em inicialização na nuvem para configurar rapidamente uma máquina virtual (VM) Ubuntu 22.04 LTS. O modelo instala o tempo de execução do IoT Edge e o agente do pacote de Atualização de Dispositivo e configura automaticamente o dispositivo com informações de provisionamento usando a cadeia de conexão de dispositivo do IoT Edge fornecida. O uso do modelo ARM também evita a necessidade de iniciar uma sessão de shell seguro (SSH) para concluir a configuração.
Para executar o modelo, selecione o seguinte botão Implantar no Azure :
Preencha as seguintes informações:
- Assinatura: a assinatura ativa do Azure na qual implantar a VM.
- Grupo de recursos: um grupo de recursos novo ou existente para conter a VM e seus recursos.
- Região: a região geográfica na qual a VM será implantada, cujo padrão é o local do grupo de recursos.
- Dns Label Prefix: um valor para prefixar o nome do host da VM.
- Nome de usuário do administrador: um nome de usuário para fornecer privilégios de raiz na implantação.
- Tipo de autenticação: escolha sshPublicKey ou senha.
- Senha de administrador ou fonte de chave pública SSH, Tipo de chave SSH, Nome do par de chaves: As informações de senha ou chave pública SSH com base na escolha do tipo de autenticação.
- Tamanho da VM: o tamanho da VM a ser implantada.
- Versão do Ubuntu OS: Deixe em 22_04-lts.
- Cadeia de conexão do dispositivo: a cadeia de conexão do IoT Edge copiada anteriormente.
Selecione Rever + criar na parte inferior da página. Quando a validação for bem-sucedida, selecione Criar para iniciar a implantação do modelo.
Verifique se a implantação foi concluída com êxito e 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.
Você deve ver um recurso de VM no grupo de recursos selecionado. Observe o nome da máquina, que está no formato
vm-0000000000000
. Selecione o nome da VM e, na página Visão Geral da VM, anote o nome DNS, que está no formato<dnsLabelPrefix>
.<location>.cloudapp.azure.com
.
Gorjeta
Para SSH nesta VM após a instalação, use o nome DNS associado com o comando ssh <admin username>@<DNS name>
.
Instalar o agente de Atualização de Dispositivo na VM
Importante
O software Azure Device Update for IoT Hub está sujeito aos seguintes termos de licença:
Leia os termos de licença antes de usar o agente. A instalação e utilização do agente constituem a aceitação destes termos. Se você não concordar com os termos de licença, não use o agente de Atualização de Dispositivo.
Para instalar o agente de Atualização de Dispositivo na VM, execute o seguinte comando.
sudo apt-get install deviceupdate-agent
Abra o arquivo de detalhes de configuração du-config.json usando o comando a seguir.
sudo nano /etc/adu/du-config.json
No arquivo, substitua todos os
<placeholder>
valores por sua própria configuração. Defina o seuconnectionType
como"AIS"
econnectionData
como uma cadeia de caracteres vazia. Para obter um arquivo de exemplo, consulte Exemplo du-config.json conteúdo do arquivo.Reinicie o agente de Atualização de Dispositivo executando o seguinte comando.
sudo systemctl restart deviceupdate-agent
Nota
Se você usou o agente do simulador neste dispositivo anteriormente, execute o seguinte comando para invocar o manipulador APT e implantar atualizações de pacote over-the-air para este tutorial.
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/apt:1'
Adicionar uma etiqueta de grupo ao dispositivo
A Atualização de Dispositivo organiza automaticamente os dispositivos em grupos com base nas etiquetas atribuídas e nas propriedades de compatibilidade. Cada dispositivo pode pertencer a apenas um grupo, mas os grupos podem ter vários subgrupos para classificar diferentes classes de dispositivo. Para obter mais informações sobre tags e grupos, consulte Gerenciar grupos de dispositivos.
Na página do hub IoT do portal do Azure para sua instância de Atualização de Dispositivo, selecione Dispositivos de gerenciamento>de dispositivos na navegação à esquerda.
Aceda ao gémeo do dispositivo ou ao gémeo do módulo de identidade do seu dispositivo.
No arquivo gêmeo de dispositivo ou Twin de Identidade 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
null
e, em seguida, adicione a nova tag de grupo de Atualização de Dispositivo a seguir.Se você estiver usando a identidade do dispositivo com o agente de Atualização de Dispositivo, faça essas alterações no gêmeo do dispositivo. Se você estiver usando uma identidade de módulo com o módulo de agente de Atualização de Dispositivo, adicione a tag no Gêmeo de Identidade de Módulo.
"tags": { "ADUGroup": "<GroupTagValue>" },
A captura de tela a seguir mostra onde no arquivo para adicionar a tag.
Selecione Guardar.
Importar a atualização
O arquivo Tutorial_IoTEdge_PackageUpdate.zip tem os arquivos necessários para o tutorial.
Baixe o arquivo de Tutorial_IoTEdge_PackageUpdate.zip na seção Ativos da versão mais recente na página Versões de atualização de dispositivo do GitHub.
Deszipe o ficheiro. A pasta Tutorial_IoTEdge_PackageUpdate extraída contém o manifesto APT de exemplo sample-defender-iot-apt-manifest.json e seu manifesto de importação sample-defender-iot--importManifest.json correspondente.
Na página do hub IoT do portal do Azure para sua instância de Atualização de Dispositivo, selecione Atualizações de Gerenciamento>de Dispositivos na navegação à esquerda.
Na página Atualizações, selecione Importar uma nova atualização.
Na página Importar atualização, selecione Selecionar do contêiner de armazenamento.
Na página Contas de armazenamento, selecione uma conta de armazenamento existente ou crie uma nova conta selecionando Conta de armazenamento.
Na página Contêineres, selecione um contêiner existente ou crie um novo contêiner selecionando Contêiner. Use o contêiner para preparar os arquivos de atualização para importação.
Gorjeta
Para evitar a importação acidental de arquivos de atualizações anteriores, use um novo contêiner sempre que importar uma atualização. Se você não usar um novo contêiner, certifique-se de excluir todos os arquivos do contêiner existente.
Na página do contêiner, selecione Carregar, arrastar e soltar ou procure e selecione os arquivos de atualização que você baixou e, em seguida, selecione Carregar. Após o upload, os arquivos aparecem na página do contêiner.
Reveja e selecione os ficheiros a importar e, em seguida, selecione Selecionar.
Na tela Importar atualização, selecione Importar atualização.
O processo de importação começa e a tela alterna para a tela Atualizações . Depois que a importação for bem-sucedida, ela aparecerá na guia Atualizações . Para obter mais informações sobre o processo de importação, consulte Importar uma atualização para a Atualização de dispositivo.
Selecione o grupo de dispositivos
Você pode usar a tag de grupo aplicada ao seu dispositivo para implantar a atualização no grupo de dispositivos. Selecione a guia Grupos e implantações na parte superior da página Atualizações para exibir a lista de grupos e implantações e o gráfico de conformidade de atualizações.
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. Para obter mais informações, consulte Conformidade com a Atualização de Dispositivo.
Em Nome do grupo, você verá uma lista de todos os grupos de dispositivos conectados a esse hub IoT e suas atualizações disponíveis, com links para implantar as atualizações em Status. Todos os dispositivos que não atendem aos requisitos de classe de dispositivo de um grupo aparecem em um grupo inválido correspondente. Para obter mais informações sobre tags e grupos, consulte Gerenciar grupos de dispositivos.
Você deve ver o grupo de dispositivos que contém o dispositivo configurado neste tutorial, juntamente com as atualizações disponíveis para os dispositivos no grupo. Poderá ter de atualizar a página. Para implantar a melhor atualização disponível para o grupo a partir desse modo de exibição, selecione Implantar ao lado do grupo.
Implantar a atualização
Na página Detalhes do grupo, selecione a guia Implantação atual e, em seguida, selecione Implantar ao lado da atualização desejada na seção Atualizações disponíveis. A melhor atualização disponível para o grupo é indicada com um destaque Best .
Na página Criar implantação, agende sua implantação para iniciar imediatamente ou no futuro e 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.
Na página Detalhes do grupo, em Detalhes da implantação, o Status se transforma em Ativo. Em Atualizações disponíveis, a atualização selecionada é marcada com (implantação).
Na guia Grupos e Implantações da página Atualizações, exiba o gráfico de conformidade para ver se a atualização está em andamento. Após a atualização bem-sucedida do dispositivo, o gráfico de conformidade e os detalhes da implantação são atualizados para refletir esse status.
Exibir histórico de implantação de atualizações
Selecione a guia Histórico de implantação na parte superior da página Detalhes do grupo e selecione o link de detalhes ao lado da implantação que você criou.
Na página Detalhes da implantação, selecione o ícone Atualizar para exibir os detalhes de status mais recentes.
Clean up resources (Limpar recursos)
Quando não precisar mais dos recursos criados para este tutorial, você poderá excluí-los.
- No portal do Azure, navegue até o grupo de recursos que contém os recursos.
- Se quiser excluir todos os recursos do grupo, selecione Excluir grupo de recursos.
- Se pretender eliminar apenas alguns dos recursos, utilize as caixas de verificação para selecionar os recursos e, em seguida, selecione Eliminar.