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

Importante

O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.

O tempo de execução do Azure IoT Edge transforma um dispositivo em um dispositivo IoT Edge. Implante o tempo de execução em dispositivos tão pequenos quanto um Raspberry Pi ou tão grandes quanto um servidor industrial. Depois de configurar o tempo de execução do IoT Edge, implante a lógica de negócios no dispositivo a partir da nuvem.

Para saber mais sobre como funciona o tempo de execução do IoT Edge e seus componentes, 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 fornecida. A implantação usa um modelo do Azure Resource Manager baseado em cloud-init do 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 usando cloud-init. Ele também define uma cadeia de conexão fornecida antes do início do tempo de execução, para que você possa configurar e conectar rapidamente o dispositivo IoT Edge sem 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 implantar rapidamente modelos do Azure Resource Manager a partir do GitHub. Esta seção mostra como usar o botão Implantar no Azure no repositório de projetos iotedge-vm-deploy .

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

    Botão de Implantação no Azure para iotedge-vm-deploy

  2. Na nova janela, insira valores para os campos de formulário disponíveis:

    Captura de tela mostrando 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 novo ou existente para conter a máquina virtual e seus recursos associados.
    Região A região geográfica onde você implanta a máquina virtual. Por defeito, este valor define-se automaticamente para o local do grupo de recursos selecionado.
    Prefixo de rótulo DNS Um valor necessário que você escolhe para prefixar o nome do host da máquina virtual.
    Nome de usuário do administrador Um nome de utilizador com privilégios de raiz na implementação.
    Cadeia de Ligação de Dispositivo Uma cadeia de conexão de dispositivo para um dispositivo que você criou em seu hub IoT.
    Tamanho da VM O tamanho da máquina virtual a ser implantada.
    Versão do Ubuntu OS A versão do Ubuntu OS para instalar na máquina virtual base.
    Tipo de Autenticação Escolha sshPublicKey ou senha com base em sua preferência.
    Palavra-passe ou chave de administrador O valor da chave pública ou senha SSH, dependendo do tipo de autenticação escolhido.

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

  3. Verifique se a implantação foi concluída com êxito. O recurso de máquina virtual é implantado no grupo de recursos selecionado. Observe o nome da máquina, que está no formato vm-0000000000000. Além disso, observe o nome DNS associado, que está no formato <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Você pode encontrar o Nome DNS na seção Visão geral da nova máquina virtual no portal do Azure.

    Captura de tela mostrando o nome dns da VM do IoT Edge.

  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 ativa 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, use o seguinte exemplo:

    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 e, em seguida, forneça o valor da chave SSH no sshPublicKey. 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, ele está no formato vm-0000000000000. Além disso, tome nota do Nome DNS associado, que está no formato <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Você pode obter o Nome DNS da saída formatada em JSON da etapa anterior, na seção de saídas como parte da entrada SSH pública . Use esse valor para SSH na máquina recém-implantada.

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

    Você também pode obter o Nome DNS 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 do IoT Edge.

  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ê provisionou um dispositivo IoT Edge com o tempo de execução instalado, implante módulos IoT Edge.

Se tiver problemas ao instalar o runtime do IoT Edge, consulte a página de resoluçã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.