Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
IoT Edge 1.1
Importante
O IoT Edge 1.1 data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Update IoT Edge.
À medida que o serviço do IoT Edge lança novas versões, você desejará atualizar seus dispositivos do IoT Edge para obter os recursos e melhorias de segurança mais recentes. Este artigo fornece informações sobre como atualizar seus dispositivos IoT Edge quando uma nova versão está disponível.
Dois componentes lógicos de um dispositivo IoT Edge precisam ser atualizados caso você queira passar para uma versão mais recente. O primeiro é o subsistema de segurança. Embora a arquitetura do subsistema de segurança alterada entre as versões 1.1 e 1.2, suas responsabilidades gerais permaneceram as mesmas. Ele é executado no dispositivo, lida com tarefas baseadas em segurança e inicia os módulos quando o dispositivo é iniciado. Atualmente, o subsistema de segurança só pode ser atualizado do próprio dispositivo. O segundo componente é o runtime, composto pelos módulos do hub do IoT Edge e do agente do IoT Edge. Dependendo de como você estrutura sua implantação, o runtime pode ser atualizado do dispositivo ou remotamente.
Você deve atualizar o runtime do IoT Edge e as camadas de aplicativo para usarem a mesma versão de lançamento. Embora haja suporte para versões incompatíveis, elas não são testadas juntas. Use as seções a seguir neste artigo para atualizar as camadas de runtime e de aplicativo em um dispositivo:
- Atualizar o subsistema de segurança
- Atualizar os contêineres de runtime
- Verificar se as versões correspondem
- Em seu dispositivo, use
iotedge versionpara verificar a versão do subsistema de segurança. A saída inclui os números de versão principal, menor e de revisão. Por exemplo, iotedge 1.4.2. - Nas configurações de tempo de execução da implantação no seu dispositivo, verifique se as versões da URI de imagem do edgehub e do edgeagent correspondem à versão principal e secundária do subsistema de segurança. Se a versão do subsistema de segurança for 1.4.2, as versões de imagem serão 1.4. Por exemplo, mcr.microsoft.com/azureiotedge-hub:1.4 e mcr.microsoft.com/azureiotedge-agent:1.4.
- Em seu dispositivo, use
Para localizar a versão mais recente do Azure IoT Edge, confira Versões do Azure IoT Edge.
Atualizar o subsistema de segurança
O subsistema de segurança do IoT Edge é um conjunto de componentes nativo que precisa ser atualizado pelo gerenciador de pacotes no dispositivo do IoT Edge.
Verifique a versão do subsistema de segurança em execução no seu dispositivo pelo comando iotedge version. Se estiver usando IoT Edge para Linux no Windows, você precisará usar o SSH na máquina virtual Linux para verificar a versão.
Importante
Se você estiver atualizando um dispositivo da versão 1.0 ou 1.1 para a versão mais recente, há diferenças nos processos de instalação e configuração que exigem etapas extras. Para obter mais informações, consulte as etapas mais adiante neste artigo: Caso especial: atualizar da versão 1.0 ou 1.1 para a versão mais recente.
Em dispositivos Linux x64, use apt-get ou o gerenciador de pacotes apropriado para atualizar o módulo de runtime para a versão mais recente.
Atualizar a ferramenta apt.
sudo apt-get update
Observação
Para instruções para obter a configuração mais recente do repositório da Microsoft, confira as etapas preliminares para Instalar o IoT Edge.
Verifique quais versões do IoT Edge estão disponíveis.
apt list -a iotedge
Se você quiser atualizar para a versão mais recente do módulo de runtime, use o seguinte comando, que também atualiza libiothsm-std para a versão mais recente:
sudo apt-get install iotedge
Se você quiser atualizar para uma versão específica do módulo de runtime, especifique a versão da saída da lista apt. Sempre que iotedge é atualizado, ele tenta atualizar automaticamente o pacote libiothsm-std para sua versão mais recente, o que pode causar um conflito de dependência. Se você não estiver indo para a versão mais recente, certifique-se de direcionar ambos os pacotes para a mesma versão. Por exemplo, o comando a seguir instala uma versão específica da versão 1.1:
sudo apt-get install iotedge=1.1.1 libiothsm-std=1.1.1
Se a versão que você deseja instalar não estiver disponível por meio do apt-get, poderá usar o curl para direcionar qualquer versão do repositório de lançamentos do IoT Edge . Para a versão que você deseja instalar, localize os arquivos apropriados libiothsm-std e iotedge para seu dispositivo. Para cada arquivo, clique com o botão direito do mouse no link do arquivo e copie o endereço do link. Use o endereço de link para instalar as versões específicas desses componentes:
curl -L <libiothsm-std link> -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.deb
curl -L <iotedge link> -o iotedge.deb && sudo apt-get install ./iotedge.deb
Em seguida, aplique novamente a configuração para garantir que o sistema esteja totalmente atualizado.
sudo iotedge config apply
Atualizar os contêineres de runtime
A maneira como você atualiza o agente e o hub do IoT Edge depende se você usa tags contínuas (como 1.1) ou tags específicas (como 1.1.1) em sua implantação.
Verifique a versão do agente do IoT Edge e de módulos de hub do IoT Edge atualmente em seu dispositivo usando o comando iotedge logs edgeAgent ou iotedge logs edgeHub. Se estiver usando IoT Edge para Linux no Windows, você precisará usar o SSH na máquina virtual Linux para verificar a versão do módulo de runtime.
Compreender as etiquetas do IoT Edge
O agente do IoT Edge e as imagens de hub do IoT Edge são marcadas com a versão do IoT Edge a que estão associados. Há duas maneiras diferentes de usar tags com as imagens de runtime:
Tags contínuas – use os dois primeiros valores do número de versão para obter a imagem mais recente que corresponde a esses dígitos. Por exemplo, 1.1 é atualizado sempre que há uma nova versão para apontar para a versão 1.1.x mais recente. Se o runtime do contêiner em seu dispositivo IoT Edge extrair a imagem novamente, os módulos de runtime serão atualizados para a versão mais recente. Implantações no portal do Azure têm como padrão etiquetas contínuas. Essa abordagem é sugerida para fins de desenvolvimento.
Marcas específicas – use todos os três valores do número de versão para definir explicitamente a versão da imagem. Por exemplo, 1.1.0 não mudará após seu lançamento inicial. Você pode declarar um novo número de versão no manifesto de implantação quando estiver pronto para atualizar. Essa abordagem é sugerida para fins de produção.
Atualizar uma imagem de tag contínua
Se você usar tags contínuas em sua implantação (por exemplo, mcr.microsoft.com/azureiotedge-hub:1.1), será necessário forçar o runtime do contêiner em seu dispositivo a puxar a versão mais recente da imagem.
Exclua a versão local da imagem do seu dispositivo IoT Edge. Em computadores Windows, desinstalar o subsistema de segurança também remove as imagens de runtime, portanto, você não precisará realizar esta etapa novamente.
docker rmi mcr.microsoft.com/azureiotedge-hub:1.1
docker rmi mcr.microsoft.com/azureiotedge-agent:1.1
Talvez você precise usar o flag -f de força para remover as imagens.
O serviço do IoT Edge extrairá as versões mais recentes das imagens de runtime e as iniciará automaticamente em seu dispositivo novamente.
Atualizar uma imagem de tag específica
Se você usar marcas específicas em sua implantação (por exemplo, mcr.microsoft.com/azureiotedge-hub:1.1.1) então tudo o que você precisa fazer é atualizar a marca no manifesto de implantação e aplicar as alterações ao seu dispositivo.
No Hub IoT no portal do Azure, selecione o dispositivo IoT Edge e selecione Definir módulos.
Na seção módulos do IoT Edge, selecione Configurações de Tempo de Execução.
Em Configurações de Runtime , atualize o valor da Imagem para o Hub de Borda com a versão desejada. Não selecione Salvar ainda.
Recolha as configurações de do Hub de Borda ou role para baixo e atualize o valor de Imagem para o Agente de Borda com a mesma versão desejada.
Clique em Salvar.
Selecione Examinar + criar, revise a implantação e selecione Criar.
Caso especial: atualizar da versão 1.0 ou 1.1 para a versão mais recente
A partir da versão 1.2, o serviço do IoT Edge usa um novo nome de pacote e tem algumas diferenças nos processos de instalação e configuração. Se você tiver um dispositivo IoT Edge executando a versão 1.0 ou 1.1, use estas instruções para saber como atualizar para a versão mais recente.
Algumas das principais diferenças entre a versão mais recente e a versão 1.1 e anterior incluem:
- O nome do pacote foi alterado de iotedge para aziot-edge.
- O pacote libiothsm-std não é mais usado. Se você usou o pacote padrão fornecido como parte da versão do IoT Edge, suas configurações poderão ser transferidas para a nova versão. Se você usou uma implementação diferente de libiothsm-std, todos os certificados fornecidos pelo usuário, como o certificado de identidade do dispositivo, a AC do dispositivo e o pacote de confiança, precisarão ser reconfigurados.
- Um novo serviço de identidade, aziot-identity-service foi introduzido como parte da versão 1.2. Esse serviço lida com o provisionamento e o gerenciamento de identidade do IoT Edge e outros componentes de dispositivos que precisam se comunicar com o Hub IoT, como Atualização de Dispositivo para o Hub IoT.
- O arquivo de configuração padrão tem um novo nome e local. Anteriormente
/etc/iotedge/config.yaml, as informações de configuração do dispositivo agora devem estar em/etc/aziot/config.tomlpor padrão. O comandoiotedge config importpode ser usado para ajudar a migrar informações de configuração do local e da sintaxe antigos para a nova.- O comando de importação não pode detectar ou modificar regras de acesso para o TPM (módulo de plataforma confiável) de um dispositivo. Se o dispositivo usar o atestado do TPM, você precisará atualizar manualmente o arquivo /etc/udev/rules.d/tpmaccess.rules para dar acesso ao serviço aziottpm. Para mais informações, consulte Conceder acesso do IoT Edge ao TPM.
- A API de carga de trabalho na versão mais recente salva segredos criptografados em um novo formato. Se você atualizar de uma versão mais antiga para a versão mais recente, a chave de criptografia mestra existente será importada. A API de carga de trabalho pode ler segredos salvos no formato anterior usando a chave de criptografia importada. No entanto, a API de carga de trabalho não pode gravar segredos criptografados no formato antigo. Depois que um segredo é criptografado novamente por um módulo, ele é salvo no novo formato. Os segredos criptografados na versão mais recente não podem ser lidos pelo mesmo módulo na versão 1.1. Se você persistir dados criptografados em uma pasta ou volume montado pelo host, sempre crie uma cópia de backup dos dados antes da atualização para poder fazer o downgrade, se necessário.
- Para compatibilidade com versões anteriores ao conectar dispositivos que não dão suporte ao TLS 1.2, você pode configurar o Hub do Edge para ainda aceitar o TLS 1.0 ou 1.1 por meio da variável de ambiente SslProtocols. Observe que o suporte para TLS 1.0 e 1.1 no Hub IoT é considerado herdado e também pode ser removido do Hub do Edge em versões futuras. Para evitar problemas futuros, use o TLS 1.2 como a única versão do TLS ao se conectar ao Hub do Edge ou ao Hub IoT.
- A versão prévia do agente MQTT experimental no Edge Hub 1.2 terminou e não está incluída no Edge Hub 1.3 ou posterior. Continuamos a refinar nossos planos para um agente MQTT com base nos comentários recebidos. Enquanto isso, se você precisar de um agente MQTT compatível com padrões no IoT Edge, considere implantar um agente de software livre, como o Mosquitto, como um módulo do IoT Edge.
- A partir da versão 1.2, quando uma imagem de backup é removida de um contêiner, o contêiner continua em execução e ele persiste entre reinicializações. Na versão 1.1, quando uma imagem de backup é removida, o contêiner é recriado imediatamente e a imagem de backup é atualizada.
Antes de automatizar os processos de atualização, valide se ele funciona em computadores de teste.
Quando estiver pronto, siga estas etapas para atualizar o IoT Edge em seus dispositivos:
Atualizar a ferramenta apt.
sudo apt-get updateDesinstale a versão anterior do IoT Edge, deixando seus arquivos de configuração em vigor.
sudo apt-get remove iotedgeInstale a versão mais recente do IoT Edge, juntamente com o serviço de identidade IoT e o micro agente do Microsoft Defender para IoT para Edge.
sudo apt-get install aziot-edge defender-iot-micro-agent-edge
É recomendável instalar o micro agente com o agente do Edge para habilitar o monitoramento de segurança e a proteção de seus dispositivos do Edge. Para saber mais sobre o Microsoft Defender para IoT, consulte O que é o Microsoft Defender para IoT para compiladores de dispositivos.
Importe o arquivo config.yaml antigo para seu novo formato e aplique as informações de configuração.
sudo iotedge config import
Agora que o serviço do IoT Edge em execução em seus dispositivos foi atualizado, siga as etapas neste artigo para também Atualizar os contêineres de execução.
Próximas etapas
Exibir as versões do Azure IoT Edge mais recentes.
Fique por dentro das atualizações e comunicados mais recentes no blog da Internet das Coisas