Tutorial: Atualização de Dispositivo para Hub IoT do Azure usando o agente de pacote do Ubuntu Server 22.04 x64
A Atualização de Dispositivo para Hub IoT do Azure é compatível com atualizações baseadas em imagem, pacote e script.
As atualizações baseadas em pacote são atualizações de destino que alteram apenas um componente ou aplicativo específico no dispositivo. Elas levam a um menor consumo de largura de banda e ajudam a reduzir o tempo para baixar e instalar a atualização. Geralmente, as atualizações baseadas em pacotes também permitem menos tempo de inatividade dos dispositivos ao aplicar uma atualização e evitam a sobrecarga de criação de imagens. Elas 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 explica a 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 como atualizar o Microsoft Defender para IoT, usando etapas semelhantes será possível atualizar outros pacotes, como o próprio IoT Edge ou o mecanismo de contêiner que ele usa.
Caso planeje usar outra configuração de plataforma de sistema operacional, as ferramentas e os conceitos deste tutorial ainda poderão ser aplicados. Conclua esta introdução a um processo de atualização de ponta a ponta. Em seguida, escolha sua forma preferencial de atualizar uma plataforma do sistema operacional para analisar os detalhes.
Neste tutorial, você aprenderá como:
- Baixar e instalar um agente de Atualização de Dispositivo e as respectivas dependências.
- Adicionar uma marca ao seu dispositivo.
- Importar uma atualização.
- Implantar uma atualização de pacote.
- Monitorar a implantação da atualização.
Pré-requisitos
Se você ainda não tiver criado, crie uma conta e uma instância de Atualização de Dispositivo. Configurar um hub IoT.
Você precisa da cadeia de conexão de um dispositivo do IoT Edge.
Se você usou o Tutorial de agente do simulador para teste prévio, execute o comando a seguir para invocar o manipulador APT e implantar as 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 uma dispositivo
Usar o botão de Implantação Automatizada no Azure
Por conveniência, este tutorial usa um modelo do Azure Resource Manager baseado em cloud-init para ajudar você a configurar de modo rápido as máquinas virtuais do Ubuntu 22.04 LTS. Ele instala o runtime do Azure IoT Edge e o agente de pacote de Atualização de Dispositivo. Em seguida, ele configura o dispositivo automaticamente com as informações de provisionamento usando a cadeia de conexão do dispositivo para um dispositivo IoT Edge (pré-requisito) fornecido. O modelo do Resource Manager também evita a necessidade de iniciar uma sessão SSH para concluir a instalação.
Para começar, selecione o botão:
Preencha as caixas de texto disponíveis:
- Assinatura: uma assinatura ativa do Azure na qual a máquina virtual será implantada.
- Grupo de recursos: um grupo de recursos existente ou recém-criado para conter a máquina virtual e os recursos associados.
- Região: a região geográfica em que a máquina virtual será implantada. O padrão desse valor é o local do grupo de recursos selecionado.
- Prefixo do Rótulo DNS: um valor necessário de sua preferência que será 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 do dispositivo: uma cadeia de conexão do dispositivo para um dispositivo criado no hub IoT pretendido.
- Tamanho da VM: o tamanho da máquina virtual que será implantada.
- Versão do sistema operacional Ubuntu: a versão do sistema operacional Ubuntu que será instalada na máquina virtual de base. Deixe o valor padrão como está, pois ele já está definido para o Ubuntu 22.04-LTS.
- Tipo de autenticação: escolha sshPublicKey ou senha, de acordo com sua preferência.
- Senha ou chave do administrador: o valor da Chave Pública SSH ou o valor da senha, de acordo com o tipo de autenticação escolhido.
Depois que todas as caixas são preenchidas, marque a caixa de seleção na parte inferior da página para aceitar os termos. Selecione Comprar para iniciar a implantação.
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 de pacote do dispositivo.
Um recurso de máquina virtual deve ser implantado no grupo de recursos selecionado. Observe o nome do computador, 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 implantada recentemente no portal do Azure.
Dica
Para o SSH nesta VM após a configuração, use o Nome DNS associado com o comando a seguir:
ssh <adminUsername>@<DNS_Name>
.Instale o agente de Atualização de Dispositivo na VM.
sudo apt-get install deviceupdate-agent
Abra os detalhes da configuração (veja como configurar o arquivo de configuração aqui com o comando abaixo. Defina o connectionType como 'AIS' e connectionData como cadeia de caracteres vazia. Observe que todos os valores com a marca 'Colocar valor aqui' devem ser definidos. Consulte Configurando um agente de Atualização de Dispositivo.
sudo nano /etc/adu/du-config.json
Reinicie o agente de Atualização de Dispositivo.
sudo systemctl restart deviceupdate-agent
A atualização de dispositivo para pacotes de software do Hub IoT do Azure está sujeita aos seguintes termos de licença:
Leia os termos de licença antes de usar um pacote. A instalação e o uso do pacote constitui a aceitação desses termos. Se você não concorda com os termos de licença, não utilize o pacote.
Adicionar uma marca ao seu dispositivo
Entre no portal do Azure e acesse o hub IoT.
No painel esquerdo, em Dispositivos, localize o dispositivo IoT Edge e acesse o dispositivo gêmeo ou o módulo gêmeo.
No módulo gêmeo do módulo de agente de Atualização de Dispositivo, exclua os valores de marca de Atualização de Dispositivo existentes definindo-os como nulo. 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.
Adicione um novo valor de marca da Atualização de dispositivo, conforme mostrado:
"tags": { "ADUGroup": "<CustomTagValue>" },
Essa captura de tela mostra a seção em que a marca precisa ser adicionada ao gêmeo.
Importar a atualização
Acesse Versões da Atualização de Dispositivo no GitHub e selecione a lista suspensa Ativos. Baixe
Tutorial_IoTEdge_PackageUpdate.zip
selecionando-o. Extraia o conteúdo da pasta para encontrar um exemplo de manifesto de APT (sample-defender-iot-apt-manifest.json) e o manifesto de importação correspondente (sample-defender-iot--importManifest.json).Entre no portal do Azure e vá para o Hub IoT com a Atualização de Dispositivo. No painel esquerdo, em Gerenciamento Automático de Dispositivo, selecione Atualizações.
Selecione a guia Atualizações.
Selecione + Importar nova atualização.
Selecione + Selecionar no contêiner de armazenamento. Selecione uma conta existente ou crie uma usando + Conta de armazenamento. Em seguida, selecione um contêiner existente ou crie um contêiner usando + Contêiner. Esse contêiner é usado para preparar os arquivos de atualização para importação.
Observação
É recomendável usar um contêiner novo cada vez que você importar uma atualização para evitar a importação acidental de arquivos de atualizações anteriores. Se você não usar um contêiner novo, não deixe de excluir todos os arquivos do contêiner existente antes de concluir esta etapa.
No contêiner, selecione Upload e navegue até os arquivos baixados na etapa 1. Depois de selecionar todos os arquivos de atualização, selecione Upload. Em seguida, selecione o botão Selecionar para retornar à página Importar atualização.
Esta captura de tela mostra a etapa de importação. Os nomes de arquivo podem não corresponder aos usados no exemplo.
Na página Importar atualização, examine os arquivos a serem importados. Em seguida, selecione Importar atualização para iniciar o processo de importação.
O processo de importação é iniciado e a tela é alterada 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. Agora a atualização importada deve estar presente na lista.
Para obter mais informações sobre o processo de importação, consulte Importar uma atualização para a Atualização de Dispositivo.
Exibir grupos de dispositivos
A Atualização de Dispositivos usa grupos para organizar os dispositivos. A Atualização de Dispositivo classifica automaticamente os dispositivos em grupos com base nas marcas atribuídas e propriedades de compatibilidade. Cada dispositivo pertence a apenas um grupo, mas os grupos podem ter vários subgrupos para classificar as diferentes classes de dispositivos.
Acesse a guia Grupos e Implantações na parte superior da página.
Exiba a lista de grupos e o gráfico de conformidade de atualização. O gráfico de conformidade da atualização mostra a contagem de dispositivos em vários estados de conformidade: Com a atualização mais recente, Novas atualizações disponíveis e Atualizações em andamento. Saiba mais sobre a conformidade de atualizações.
Você deverá visualizar um grupo de dispositivos contendo o dispositivo simulado que você configurou neste tutorial juntamente com as atualizações disponíveis para os dispositivos no novo grupo. Se houver dispositivos que não atendem 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 deste modo de exibição, selecione Implantar ao lado do grupo.
Para obter mais informações sobre as marcas e os grupos, consulte Gerenciar grupos de dispositivos.
Implantar a atualização
Depois que o grupo for criado, você verá uma nova atualização disponível para o grupo de dispositivos, juntamente com um link para a atualização em Melhor atualização. Talvez você precise atualizar novamente.
Para obter mais informações sobre a conformidade, consulte Conformidade de Atualização de Dispositivo.
Escolha o grupo de destino selecionando o nome do grupo. Você será direcionado para os detalhes do grupo em Noções básicas do grupo.
Para iniciar a implantação, acesse a guia Implantação atual. Selecione o link implantar ao lado da atualização desejada na seção de Atualizações disponíveis. A melhor atualização disponível para determinado grupo é indicada com a Melhor em destaque.
Agende sua implantação para iniciar imediatamente ou no futuro. Em seguida, selecione Criar.
Dica
Por padrão, a data e a hora de Início são 24 horas a partir do horário atual. Lembre-se de selecionar a data e a hora diferentes, caso deseje que a implantação comece mais cedo.
Em Detalhes da implantação, o Status se torna Ativo. A atualização implantada é marcada com (implantando).
Exiba o gráfico de conformidade para ver se a atualização está em andamento.
Após atualizar o dispositivo com êxito, você verá que o gráfico de conformidade e os detalhes de implantação são atualizados para refletir as informações.
Monitorar a implantação da atualização
Selecione a guia Histórico de Implantações na parte superior da página.
Selecione o link de detalhes ao lado da implantação que você criou.
Selecione Atualizar para exibir os detalhes mais recentes do status.
Agora você concluiu com êxito uma atualização de pacote de ponta a ponta usando a Atualização de Dispositivo para Hub IoT em um dispositivo Ubuntu Server 22.04 x64.
Limpar os recursos
Quando não for mais necessária, limpe a conta da atualização de dispositivo, a instância e o hub IoT. Além disso, limpe o dispositivo IoT Edge, se você tiver criado a VM usando o botão Implantar no Azure. Para limpar os recursos, acesse 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.