Exercício – Publicar um contêiner do NVIDIA DeepStream Graph Composer no Registro de Contêiner do Azure

Concluído

Agora que empacotou seu aplicativo do DeepStream Graph Composer em um contêiner, você está pronto para publicar esse artefato em uma instância do Registro de Contêiner do Azure para uma distribuição segura para outros dispositivos com suporte.

Essa preparação também organiza a cena para a possível implantação usando o Azure IoT Edge, que vamos abordar mais detalhadamente no próximo módulo.

  1. Para começar, siga estas instruções para "criar um registro de contêiner". A documentação demonstra como criar uma instância dos recursos necessários do Registro de Contêiner no Microsoft Azure e como entrar e enviar imagens por push para o serviço. Depois de concluir as etapas desta seção, você publicará o artefato de contêiner do DeepStream Graph Composer nesse registro.

    Siga as etapas no Início Rápido: Criar um registro de contêiner do Azure usando o portal do Azure. Você só precisa seguir as etapas para criar um registro de contêiner. As etapas adicionais mencionadas na documentação são opcionais. Depois de concluir essa tarefa, continue com as próximas etapas.

  2. Acesse a instância recém-implantada do Registro de Contêiner no portal do Azure:

    Captura de tela que mostra a visão geral do Registro de Contêiner do Azure.

    Você observará que o registro de contêiner tem uma propriedade do Servidor de logon que se refere à URL para acessar o serviço remotamente. Essa propriedade termina em azurecr.io. Anote esse valor porque você o usará em breve.

  3. Em seguida, selecione a seção Chaves de acesso no lado esquerdo em Configurações e habilite a opção para Usuário administrador. Essa operação concede a você a capacidade de se autenticar no registro de contêiner para permitir o acesso da instância do Docker em execução no seu computador host. Novamente, anote os valores de Servidor de logon, Nome de usuário e Senha, pois eles serão usados na próxima etapa.

    Captura de tela que mostra as chaves de acesso do Registro de Contêiner.

  4. Agora você está pronto para se autenticar no registro de contêiner e permitir acesso à instância do Docker do host. Para executar essa etapa, execute os seguintes comandos em uma sessão de terminal no computador host:

    sudo docker login <Login server>
    
    1. Quando for solicitado o Nome de usuário, insira o valor fornecido na seção Chaves de acesso do registro de contêiner no portal do Azure.

    2. Quando for solicitado a Senha, insira o valor fornecido na seção Chaves de acesso do registro de contêiner no portal do Azure.

    3. Você verá uma mensagem que indica "Logon bem-sucedido" após a entrada bem-sucedida.

  5. Para efetuar push da imagem do Docker que foi criada recentemente para o registro de contêiner, você deve marcar a imagem para fazer referência ao registro de contêiner. Execute o seguinte comando em um terminal no computador host:

    sudo docker tag deepstream_test1_dgpu <Login Server>/deepstream_test1_dgpu:v1
    
  6. Envie sua imagem de contêiner do DeepStream Graph Composer por push para esse repositório executando este comando:

    sudo docker push <Login Server>/deepstream_test1_dgpu:v1
    
  7. Aguarde a conclusão do push. Agora, volte para o registro de contêiner no portal do Azure e verifique se a imagem foi carregada. Para verificar, selecione Repositórios na seção Serviços no lado esquerdo da página de visão geral. Você deverá ver a imagem recém-enviada deepstream_test1_dgpu:v1 na lista de repositórios, conforme mostrado aqui:

    Captura de tela que mostra a lista de Repositórios do Registro de Contêiner do Azure.

  8. Por fim, se você quiser executar essa imagem usando a imagem que está no registro de contêiner, execute os seguintes comandos em um terminal em um host compatível:

    sudo docker run -it --rm --gpus all -v /tmp/.X11-unix/:/tmp/.X11-unix/ -e DISPLAY=:0 
    <Login server>/deepstream_test1_dgpu:v1
    

    Observação

    Se você pretende executar essa carga de trabalho em um computador que não seja o host atual com o que você está trabalhando, habilite o acesso ao X11 com o sudo xhost + e autentique sua instância do Docker para acessar o registro de contêiner.

Parabéns! Você criou e publicou com êxito seu primeiro aplicativo do DeepStream Graph Composer em um registro de contêiner seguro para permitir a distribuição da carga de trabalho para vários hosts compatíveis.

Experimente fazer isto

Imagine que você tenha sido encarregado de desenvolver um aplicativo de IVA para contar o número de pessoas que entram em um restaurante. Sua equipe de desenvolvimento trabalha em estreita colaboração com uma equipe de testes que valida a precisão da solução de IVA antes de implantá-la em produção. Como você faria para distribuir novos builds do aplicativo de IVA para a equipe de teste de uma forma que não exija reconfiguração manual do hardware de teste?