Partilhar via


Executar o Azure IoT Edge em Máquinas Virtuais Ubuntu

Aplica-se a: Marca de verificação do IoT Edge 1.5 IoT Edge 1.5 Marca de verificação do IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS são versões suportadas. O IoT Edge 1.4 LTS termina a vida útil em 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.

O tempo de execução do Azure IoT Edge é o que transforma um dispositivo em um dispositivo IoT Edge. O runtime pode ser implementado em dispositivos tão pequenos como um Raspberry Pi ou tão grandes como um servidor industrial. Quando um dispositivo é configurado com o runtime do IoT Edge, pode começar a implementar a lógica de negócio no mesmo partir da cloud.

Para saber mais sobre como o tempo de execução do IoT Edge funciona e quais componentes estão incluídos, consulte Compreender o tempo de execução do Azure IoT Edge e sua arquitetura.

Este artigo lista as etapas para implantar uma máquina virtual Ubuntu com o tempo de execução do Azure IoT Edge instalado e configurado usando uma cadeia de conexão de dispositivo pré-fornecida. A implantação é realizada usando um modelo do Azure Resource Manager baseado em nuvem mantido no repositório de projetos iotedge-vm-deploy.

Na primeira inicialização, a máquina virtual instala a versão mais recente do tempo de execução do Azure IoT Edge via cloud-init. Ele também define uma cadeia de conexão fornecida antes do início do tempo de execução, permitindo que você configure e conecte facilmente o dispositivo IoT Edge sem a necessidade de iniciar uma sessão SSH ou de área de trabalho remota.

Implantar usando o botão Implantar no Azure

O Botão Implantar no Azure permite a implantação simplificada de modelos do Azure Resource Manager mantidos no GitHub. Esta seção demonstra o uso do Botão Implantar no Azure contido no repositório do projeto iotedge-vm-deploy .

  1. Você implantará uma VM Linux habilitada para Azure IoT Edge usando o modelo iotedge-vm-deploy do Azure Resource Manager. Para começar, selecione o seguinte botão:

    Botão Implementar no Azure iotedge-vm-deploy

  2. Na janela recém-lançada, preencha os campos de formulário disponíveis:

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

    Campo Descrição
    Subscrição A assinatura ativa do Azure para 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, esse valor assume como padrão o local do Grupo de Recursos selecionado.
    Prefixo de rótulo DNS Um valor necessário de sua escolha que é 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 Ligação de Dispositivo Uma cadeia de conexão de 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 sistema operacional Ubuntu a ser instalada na máquina virtual base.
    Tipo de Autenticação Escolha sshPublicKey ou senha , dependendo da sua preferência.
    Palavra-passe ou chave de administrador O valor da Chave Pública SSH ou o valor da senha, dependendo da escolha do Tipo de Autenticação.

    Selecione Next : Review + create para revisar os termos e selecione Criar para iniciar a implantação.

  3. Verifique se a implantação foi concluída com êxito. Um recurso de máquina virtual é implantado no grupo de recursos selecionado. Anote o nome da máquina, isso deve estar no formato vm-0000000000000. Além disso, tome nota do Nome DNS associado, que deve estar no formato <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    O Nome DNS pode ser obtido na secção Descrição geral da máquina virtual recentemente implementada no portal do Azure.

    Captura de tela mostrando o nome dns da vm iotedge

  4. Se você quiser SSH nesta VM após a instalação, use o Nome DNS associado com o comando:ssh <adminUsername>@<DNS_Name>

Implantar a partir da CLI do Azure

  1. Certifique-se de instalar a extensão iot da CLI do Azure com:

    az extension add --name azure-iot
    
  2. Em seguida, se estiver a utilizar a CLI do Azure no ambiente de trabalho, comece por iniciar sessão:

    az login
    
  3. Se tiver várias subscrições, selecione a subscrição que pretende utilizar:

    1. Liste as suas subscrições:

      az account list --output table
      
    2. Copie o campo SubscriptionID da subscrição que pretende utilizar.

    3. Defina a sua subscrição de trabalho com o ID que copiou:

      az account set -s <SubscriptionId>
      
  4. Crie um novo grupo de recursos (ou especifique um existente nas próximas etapas):

    az group create --name IoTEdgeResources --location westus2
    
  5. Crie uma nova máquina virtual:

    Para usar um authenticationType de password, consulte o exemplo a seguir:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    Para autenticar com uma chave SSH, especifique um authenticationType de sshPublicKeye, em seguida, forneça o valor da chave SSH no parâmetro adminPasswordOrKey. Veja o seguinte exemplo:

    #Generate the SSH Key
    ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N ""
    
    #Create a VM using the iotedge-vm-deploy script
    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='sshPublicKey' \
    --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
    
  6. Verifique se a implantação foi concluída com êxito. Um recurso de máquina virtual deve ser implantado no grupo de recursos selecionado. Anote o nome da máquina, isso deve estar no formato vm-0000000000000. Além disso, tome nota do Nome DNS associado, que deve estar no formato <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    O Nome DNS pode ser obtido a partir da saída formatada em JSON da etapa anterior, dentro da seção de saídas como parte da entrada SSH pública. O valor dessa entrada pode ser usado para SSH na máquina recém-implantada.

    "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh <adminUsername>@<DNS_Name>"
      }
    }
    

    O Nome DNS também pode ser obtido na seção Visão geral da máquina virtual recém-implantada no portal do Azure.

    Captura de tela mostrando o nome dns da vm iotedge

  7. Se você quiser SSH nesta VM após a instalação, use o Nome DNS associado com o comando:ssh <adminUsername>@<DNS_Name>

Próximos passos

Agora que você tem um dispositivo IoT Edge provisionado com o tempo de execução instalado, você pode implantar módulos IoT Edge.

Se você estiver tendo problemas com o tempo de execução do IoT Edge instalando corretamente, confira a página de solução de problemas .

Para atualizar uma instalação existente para a versão mais recente do IoT Edge, consulte Atualizar o daemon de segurança e o tempo de execução do IoT Edge.

Se você quiser abrir portas para acessar a VM por meio de SSH ou outras conexões de entrada, consulte a documentação de Máquinas Virtuais do Azure sobre como abrir portas e pontos de extremidade para uma VM Linux.