Tutorial: Atualização do Dispositivo para Hub IoT do Azure com o agente do pacote no Ubuntu Server 18.04 x64

A Atualização de Dispositivos para Hub IoT do Azure suporta atualizações baseadas em imagens, baseadas em pacotes e em scripts.

As atualizações baseadas em pacotes são atualizações direcionadas que alteram apenas um componente ou aplicação específico no dispositivo. Conduzem a um menor consumo de largura de banda e ajudam a reduzir o tempo de transferência e instalação da atualização. Normalmente, as atualizações baseadas em pacotes também permitem menos tempo de inatividade dos dispositivos quando aplica uma atualização e evitam a sobrecarga da criação de imagens. Utilizam um manifesto da APT, que fornece ao agente da Atualização de Dispositivos as informações necessárias para transferir e instalar os pacotes especificados no ficheiro de manifesto da APT (e respetivas dependências) a partir de um repositório designado.

Este tutorial explica-lhe como atualizar o Azure IoT Edge no Ubuntu Server 18.04 x64 com o agente do pacote Atualização de Dispositivos. Embora o tutorial demonstre a atualização IoT Edge, ao utilizar passos semelhantes, pode atualizar outros pacotes, como o motor de contentor que utiliza.

As ferramentas e conceitos neste tutorial ainda se aplicam mesmo que planeie utilizar uma configuração diferente da plataforma do SO. Conclua esta introdução a um processo de atualização ponto a ponto. Em seguida, escolha a sua forma preferida de atualizar uma plataforma de SO para analisar os detalhes.

Neste tutorial, irá aprender a:

  • Transfira e instale o agente da Atualização de Dispositivos e as respetivas dependências.
  • Adicione uma etiqueta ao seu dispositivo.
  • Importar uma atualização.
  • Implementar uma atualização de pacote.
  • Monitorize a implementação da atualização.

Pré-requisitos

Preparar um dispositivo

Preparar um dispositivo automaticamente ou manualmente.

Utilizar o botão Implementar no Azure automatizado

Para conveniência, este tutorial utiliza um modelo de Resource Manager do Azure baseado na cloud para o ajudar a configurar rapidamente uma máquina virtual Ubuntu 18.04 LTS. Instala o runtime de IoT Edge do Azure e o agente do pacote de Atualização de Dispositivos. Em seguida, configura automaticamente o dispositivo com informações de aprovisionamento através da cadeia de ligação do dispositivo para um dispositivo IoT Edge (pré-requisito) fornecido. O modelo de Resource Manager também evita a necessidade de iniciar uma sessão SSH para concluir a configuração.

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

    Captura de ecrã a mostrar o botão Implementar no Azure para iotedge-vm-deploy.

  2. Preencha as caixas de texto disponíveis:

    Captura de ecrã a mostrar o modelo iotedge-vm-deploy.

    • Subscrição: a subscrição ativa do Azure para implementar a máquina virtual.
    • Grupo de recursos: um grupo de recursos existente ou recentemente criado para conter a máquina virtual e os respetivos recursos associados.
    • Região: a região geográfica para implementar a máquina virtual. Este valor é predefinido para a localização do grupo de recursos selecionado.
    • Prefixo de Etiqueta DNS: um valor necessário à sua escolha que é utilizado para prefixar o nome do anfitrião da máquina virtual.
    • Administração Nome de Utilizador: um nome de utilizador, que tem privilégios de raiz na implementação.
    • Cadeia de Ligação do Dispositivo: uma cadeia de ligação de dispositivo para um dispositivo que foi criado no hub IoT pretendido.
    • Tamanho da VM: o tamanho da máquina virtual a implementar.
    • Versão do SO do Ubuntu: a versão do SO Ubuntu a instalar na máquina virtual base. Deixe o valor predefinido inalterado porque já estará definido como Ubuntu 18.04-LTS.
    • Tipo de Autenticação: selecione sshPublicKey ou palavra-passe com base na sua preferência.
    • Administração Palavra-passe ou Chave: o valor da Chave Pública SSH ou o valor da palavra-passe com base na escolha do tipo de autenticação.

    Depois de todas as caixas serem preenchidas, selecione a caixa de verificação na parte inferior da página para aceitar os termos. Selecione Comprar para iniciar a implementação.

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

    Um recurso da máquina virtual devia ter sido implementado no grupo de recursos selecionados. Tenha em atenção o nome do computador, que está no formato vm-0000000000000. Tenha também em atenção o nome DNS associado, que está no formato <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Pode obter o nome DNS na secção Descrição geral da máquina virtual recentemente implementada no portal do Azure.

    Captura de ecrã a mostrar o nome DNS da vm iotedge.

    Dica

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

  4. Abra os detalhes de configuração (veja como configurar o ficheiro de configuração aqui com o comando abaixo. Defina connectionType como "AIS" e connectionData como cadeia vazia. Tenha em atenção que todos os valores com a etiqueta "Colocar valor aqui" têm de ser definidos. Veja Configurar um agente DU.

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

    sudo systemctl restart deviceupdate-agent
    

A Atualização de Dispositivos para pacotes de software Hub IoT do Azure está sujeita aos seguintes termos de licença:

Leia os termos de licenciamento antes de utilizar um pacote. A sua instalação e utilização de um pacote constitui a sua aceitação destes termos. Se não concordar com os termos de licença, não utilize esse pacote.

Preparar manualmente um dispositivo

À semelhança dos passos automatizados pelo script cloud-init, são utilizados os seguintes passos manuais para instalar e configurar um dispositivo. Utilize estes passos para preparar um dispositivo físico.

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

    Nota

    O agente da Atualização de Dispositivos não depende de IoT Edge. No entanto, depende do daemon do IoT Identity Service instalado com IoT Edge (1.2.0 e superior) para obter uma identidade e ligar-se a Hub IoT.

    Apesar de não estar abrangido neste tutorial, o daemon do IoT Identity Service pode ser instalado autónomo em dispositivos IoT baseados em Linux. A sequência de instalação é importante. O agente do pacote atualização de dispositivos tem de ser instalado após o Serviço de Identidade do IoT. Caso contrário, o agente do pacote não será registado como um componente autorizado para estabelecer uma ligação ao Hub IoT.

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

    sudo apt-get install deviceupdate-agent 
    
  3. Introduza o módulo (ou dispositivo) do dispositivo IoT, consoante a forma como aprovisionou a cadeia de ligação primária do dispositivo com a Atualização de Dispositivos no ficheiro de configuração. Tenha em atenção que todos os valores com a etiqueta "Colocar valor aqui" têm de ser definidos. Veja Configurar um agente DU.

    sudo /etc/adu/du-config.json
    
  4. Reinicie o agente de Atualização de Dispositivos.

    sudo systemctl restart deviceupdate-agent
    

A Atualização de Dispositivos para pacotes de software Hub IoT do Azure está sujeita aos seguintes termos de licença:

Leia os termos de licenciamento antes de utilizar um pacote. A sua instalação e utilização de um pacote constitui a sua aceitação destes termos. Se não concordar com os termos de licença, não utilize esse pacote.

Adicionar uma etiqueta ao seu dispositivo

  1. Inicie sessão no portal do Azure e aceda ao hub IoT.

  2. No painel esquerdo, em Dispositivos, localize o seu dispositivo IoT Edge e aceda ao dispositivo duplo ou módulo duplo.

  3. No módulo duplo do módulo do agente de Atualização de Dispositivos, elimine todos os valores de etiquetas existentes da Atualização de Dispositivos ao defini-los como nulos. Se estiver a utilizar a Identidade do dispositivo com o agente de Atualização de Dispositivos, efetue estas alterações no dispositivo duplo.

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

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

    Captura de ecrã que mostra duplos com informações de etiqueta.

    Esta captura de ecrã mostra a secção onde a etiqueta tem de ser adicionada no duplo.

Importar a atualização

  1. Aceda a Versões de Atualização de Dispositivos no GitHub e selecione a lista pendente Ativos . Transfira Tutorial_IoTEdge_PackageUpdate.zip ao selecioná-lo. Extraia o conteúdo da pasta para detetar um manifesto da APT de exemplo (sample-1.0.2-aziot-edge-apt-manifest.json) e o manifesto de importação correspondente (sample-1.0.2-aziot-edge-importManifest.json).

  2. Inicie sessão no portal do Azure e aceda ao hub IoT com a Atualização de Dispositivos. No painel esquerdo, em Gestão de Dispositivos Automática, selecione Atualizações.

  3. Selecione o separador Atualizações.

  4. Selecione + Importar Nova Atualização.

  5. Selecione + Selecionar a partir do contentor de armazenamento. Selecione uma conta existente ou crie uma nova conta com + Conta de armazenamento. Em seguida, selecione um contentor existente ou crie um novo contentor com + Contentor. Este contentor é utilizado para testar os ficheiros de atualização para importação.

    Nota

    Recomendamos que utilize um novo contentor sempre que importar uma atualização para evitar importar acidentalmente ficheiros de atualizações anteriores. Se não utilizar um novo contentor, certifique-se de que elimina quaisquer ficheiros do contentor existente antes de concluir este passo.

    Captura de ecrã que mostra a Conta de armazenamento.

  6. No contentor, selecione Carregar e aceda aos ficheiros que transferiu no passo 1. Depois de selecionar todos os ficheiros de atualização, selecione Carregar. Em seguida, selecione o botão Selecionar para regressar à página Importar atualização .

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

    Esta captura de ecrã mostra o passo de importação. Os nomes de ficheiro podem não corresponder aos utilizados no exemplo.

  7. Na página Importar atualização , reveja os ficheiros a importar. Em seguida, selecione Importar atualização para iniciar o processo de importação.

    Captura de ecrã que mostra o início do processo de Importação.

  8. O processo de importação é iniciado e o ecrã muda para a secção Histórico de Importações . Quando a coluna Estado indicar que a importação foi efetuada com êxito, selecione o cabeçalho Atualizações disponíveis . Deverá ver a atualização importada na lista agora.

    Captura de ecrã que mostra o estado da tarefa.

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

Ver grupos de dispositivos

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

  1. Aceda ao separador Grupos e Implementações na parte superior da página.

    Captura de ecrã a mostrar dispositivos desagrupar.

  2. Veja a lista de grupos e o gráfico de conformidade de atualizações. O gráfico de conformidade de atualizações mostra a contagem de dispositivos em vários estados de conformidade: Na atualização mais recente, novas atualizações disponíveis e Atualizações em curso. Saiba mais sobre a conformidade de atualizações.

    Captura de ecrã que mostra a vista de conformidade de atualizações.

  3. Deverá ver um grupo de dispositivos que contém o dispositivo simulado que configurou neste tutorial juntamente com quaisquer atualizações disponíveis para os dispositivos no novo grupo. Se existirem dispositivos que não cumpram os requisitos de classe de dispositivo do grupo, estes serão apresentados num grupo inválido correspondente. Para implementar a melhor atualização disponível para o novo grupo definido pelo utilizador a partir desta vista, selecione Implementar junto ao grupo.

Para obter mais informações sobre etiquetas e grupos, veja Gerir grupos de dispositivos.

Implementar a atualização

  1. Após a criação do grupo, deverá ver uma nova atualização disponível para o grupo de dispositivos com uma ligação para a atualização em Melhor atualização. Poderá ter de atualizar uma vez.

    Para obter mais informações sobre conformidade, veja Conformidade da Atualização de Dispositivos.

  2. Selecione o grupo de destino ao selecionar o nome do grupo. É 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 implementação, aceda ao separador Implementação atual . Selecione a ligação implementar junto à atualização pretendida na secção Atualizações disponíveis . A melhor atualização disponível para um determinado grupo é indicada com o melhor realce.

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

  4. Agende a sua implementação para começar imediatamente ou no futuro. Em seguida, selecione Criar.

    Dica

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

    Captura de ecrã que mostra a criação de uma implementação.

  5. Em Detalhes da implementação, o Estado muda para Ativo. A atualização implementada está marcada com (a implementar).

    Captura de ecrã que mostra a implementação como Ativa.

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

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

    Captura de ecrã que mostra a atualização com êxito.

Monitorizar a implementação de atualizações

  1. Selecione o separador Histórico de implementações na parte superior da página.

    Captura de ecrã a mostrar o Histórico de implementações.

  2. Selecione a ligação de detalhes junto à implementação que criou.

    Captura de ecrã que mostra os detalhes da implementação.

  3. Selecione Atualizar para ver os detalhes de estado mais recentes.

Concluiu uma atualização de pacote ponto a ponto com êxito com a Atualização de Dispositivos para Hub IoT num dispositivo Ubuntu Server 18.04 x64.

Limpar os recursos

Quando já não for 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 através do botão Implementar no Azure. Para limpar os recursos, aceda a cada recurso individual e selecione Eliminar. Limpe uma instância de atualização de dispositivos antes de limpar a conta de atualização do dispositivo.

Passos seguintes