Compartilhar via


Tutorial: Atualização de Dispositivo para Hub IoT do Azure usando um agente de pacote no Ubuntu Server 18.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 18.04 x64 usando o agente de pacote de Atualização de Dispositivo. Embora o tutorial demonstre como atualizar o IoT Edge, usando etapas semelhantes, será possível atualizar outros pacotes, como 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.
  • Criar um grupo de dispositivos.
  • Implantar uma atualização de pacote.
  • Monitorar a implantação da atualização.

Pré-requisitos

Preparar uma dispositivo

Prepare um dispositivo manual ou automaticamente.

Usar o botão de Implantação Automatizada no Azure

Por conveniência, este tutorial usará um modelo do Azure Resource Manager baseado em cloud-init para ajudar você a configurar de modo rápido máquinas virtuais do Ubuntu 18.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.

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

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

  2. 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 inalterado, pois ele será definido como Ubuntu 18.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.

  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 de pacote do dispositivo.

    Um recurso de máquina virtual deve ter sido 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>.

  4. 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.

/etc/adu/du-config.json
  1. Reinicie o agente de Atualização de Dispositivo executando o comando a seguir:
 sudo systemctl restart adu-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.

Preparar manualmente um dispositivo

Semelhante às etapas automatizadas pelo script cloud-init, as etapas manuais a seguir são usadas para instalar e configurar um dispositivo. Use estas etapas para preparar um dispositivo físico.

  1. Siga as instruções para instalar o runtime do Azure IoT Edge.

    Observação

    O agente do pacote de atualizações de dispositivo não depende do IoT Edge. No entanto, ele dependerá do daemon do Serviço de Identidade da IoT que será instalado com o IoT Edge (1.2.0 e posterior) para obter uma identidade e se conectar ao Hub IoT.

    Embora não seja abordado neste tutorial, o daemon do Serviço de Identidade da IoT poderá ser instalado de modo autônomo em dispositivos IoT baseados em Linux. A sequência da instalação é importante. O agente de pacote de Atualização de Dispositivo deverá ser instalado após o Serviço de Identidade da IoT. Caso contrário, o agente de pacote não será registrado como um componente autorizado a estabelecer uma conexão com o Hub IoT.

  2. Instale os pacotes .deb do agente de Atualização de Dispositivo:

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Insira a cadeia de conexão primária do módulo (ou dispositivo, dependendo de como você provisionou o dispositivo com a Atualização de Dispositivo) do dispositivo IoT no arquivo de configuração executando o comando a seguir:

    /etc/adu/du-config.json
    
  4. Reinicie o agente de Atualização de Dispositivo executando o comando a seguir:

     sudo systemctl restart adu-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

  1. Entre no portal do Azure e acesse o hub IoT.

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

  3. 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.

  4. Adicione um novo valor de marca da Atualização de dispositivo, conforme mostrado:

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

Importar a atualização

  1. 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 descobrir um exemplo de manifesto de APT (exemplo-1.0.2-aziot-edge-apt-manifest.json) e o manifesto de importação correspondente (exemplo-1.0.2-aziot-edge-importManifest.json).

  2. 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.

  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 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.

    Captura de tela que mostra a conta de armazenamento.

  6. 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.

    Captura de tela que mostra a seleção de arquivos enviados.

    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, examine 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 é 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.

    Captura de tela que mostra o status do trabalho.

Saiba mais sobre como importar atualizações.

Criar um grupo de atualizações

  1. Acesse a guia Grupos e Implantações na parte superior da página.

    Captura de tela que mostra dispositivos desagrupados.

  2. Selecione o botão Adicionar grupo para criar um novo grupo.

    Captura de tela que mostra a adição do grupo de dispositivos.

  3. Selecione uma marca do Hub IoT e a Classe de Dispositivo na lista. Em seguida, selecione Criar grupo.

    Captura de tela que mostra a seleção de marcas.

  4. Depois que o grupo for criado, você verá que a lista de gráficos e grupos de conformidade de atualização será atualizada. 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.

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

  5. Você deve ver o grupo recém-criado e todas as atualizações disponíveis para os dispositivos do 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.

Saiba mais sobre como adicionar marcas e criar grupos de atualização.

Implantar a atualização

  1. 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. Saiba mais sobre a conformidade das atualizações.

  2. 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.

    Captura de tela que mostra detalhes do grupo.

  3. 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.

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

  4. 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.

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

  5. Em Detalhes da implantação, o Status se torna Ativo. A atualização implantada é marcada com (implantando).

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

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

  7. Depois de atualizar seu dispositivo com êxito, você verá que o gráfico de conformidade e os detalhes da implantação atualizados refletem as mesmas informações.

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

Monitorar a implantação da atualização

  1. Selecione a guia Histórico de Implantações 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 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 18.04 x64.

Limpar 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.

Próximas etapas

Use os seguintes tutoriais para uma demonstração simples da Atualização de Dispositivo para Hub IoT: