Partilhar via


Tutorial: Atualização de dispositivo para o Hub IoT do Azure usando o agente de pacote no Ubuntu Server 18.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 18.04 x64 usando o agente de pacote de Atualização de Dispositivo. Embora o tutorial demonstre a atualização do IoT Edge, usando etapas semelhantes você pode atualizar outros pacotes, como 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, você 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.
  • Crie um grupo de dispositivos.
  • Implante uma atualização de pacote.
  • Monitore a implantação da atualização.

Pré-requisitos

Preparar um dispositivo

Prepare um dispositivo automaticamente ou manualmente.

Utilize o botão Automático de Implementação para Azure

Por conveniência, este tutorial utiliza um modelo cloud-init baseado em um modelo Azure Resource Manager para ajudá-lo a configurar rapidamente uma máquina virtual com Ubuntu 18.04 LTS. Instala tanto o runtime do Azure IoT Edge quanto 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. Por defeito, este valor define-se automaticamente para o local do grupo de recursos selecionado.
    • Prefixo do rótulo DNS: um valor necessário à sua escolha que é usado para prefixar o nome do anfitrião 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 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á será definido como Ubuntu 18.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 ter sido 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.

    Sugestão

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

  4. Abra os detalhes de configuração (Veja como configurar o arquivo de configuração aqui com o comando abaixo. Defina o connectionType como 'AIS' e o connectionData como uma string vazia.

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

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 de Atualização de Dispositivo não depende do IoT Edge. Mas ele depende do daemon do IoT Identity Service instalado com o IoT Edge (1.2.0 e superior) para obter uma identidade e se conectar ao Hub IoT.

    Embora não seja abordado neste tutorial, o daemon IoT Identity Service pode ser instalado de forma autônoma em dispositivos IoT baseados em Linux. A sequência de instalação é importante. O agente do pacote de Atualização de Dispositivos deve ser instalado após o Serviço de Identidade IoT. Caso contrário, o agente de pacote não será registrado como um componente autorizado para estabelecer uma conexão com o Hub IoT.

  2. Instale os pacotes .deb do agente de atualização do dispositivo.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Insira a cadeia de conexão principal do módulo (ou dispositivo, dependendo de como se provisionou o dispositivo com Device Update) no arquivo de configuração, executando o seguinte comando:

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

     sudo systemctl restart adu-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 agente de Atualização de Dispositivo, exclua todos os valores de tag de Atualização de Dispositivo existentes, configurando-os para 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 tag de Atualização de Dispositivo, conforme mostrado:

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

Importar a atualização

  1. Vá para lançamentos de Atualização de Dispositivo no GitHub e selecione a lista suspensa de 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-1.0.2-aziot-edge-apt-manifest.json) e seu manifesto de importação correspondente (sample-1.0.2-aziot-edge-importManifest.json).

  2. Entre no portal do Azure e vá para o 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 + Seleção do 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.

    Observação

    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 o ecrã alterna para a secção Histórico de importação. Quando a coluna Status indicar que a importação foi bem-sucedida, selecione o cabeçalho de Atualizações disponíveis. Você deve ver sua atualização importada na lista agora.

    Captura de tela que mostra o status do trabalho.

Saiba mais sobre como importar atualizações.

Criar um grupo de atualização

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

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

  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 tag de IoT Hub e uma Classe de Dispositivo na lista. Em seguida, selecione Criar grupo.

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

  4. Depois que o grupo for criado, você verá que o gráfico de conformidade de atualização e a lista de grupos são atualizados. 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 com atualizações.

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

  5. Você deve ver seu grupo recém-criado e todas as 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.

Saiba mais sobre como adicionar tags 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 seu grupo de dispositivos com um link para a atualização em Melhor atualização. Talvez seja necessário atualizar uma vez. Saiba mais sobre a conformidade da atualização.

  2. Selecione o grupo-alvo selecionando o nome do grupo. Você será direcionado para os detalhes do grupo em Informaçõ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 de Melhor.

    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.

    Sugestão

    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 ecrã 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 (a implantar).

    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 foram 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. Na parte superior da página, selecione o separador Histórico de Implementação.

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

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

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