Ćwiczenie — publikowanie kontenera NVIDIA DeepStream Graph Composer w usłudze Azure Container Registry

Ukończone

Teraz, gdy aplikacja DeepStream Graph Composer została spakowana do kontenera, możesz opublikować ten artefakt w wystąpieniu usługi Azure Container Registry w celu zapewnienia bezpiecznej dystrybucji na innych obsługiwanych urządzeniach.

To przygotowanie określa również etap potencjalnego wdrożenia przy użyciu usługi Azure IoT Edge, którą omówimy bardziej szczegółowo w następnym module.

  1. Aby rozpocząć, postępuj zgodnie z tymi instrukcjami, aby "utworzyć rejestr kontenerów". W dokumencie pokazano, jak utworzyć wystąpienie niezbędnych zasobów usługi Container Registry na platformie Microsoft Azure oraz jak zalogować się i wypchnąć obrazy do tej usługi. Po zakończeniu kroków w tej sekcji opublikujesz artefakt kontenera DeepStream Graph Composer w tym rejestrze.

    Wykonaj kroki opisane w przewodniku Szybki start: tworzenie rejestru kontenerów platformy Azure przy użyciu witryny Azure Portal. Wystarczy wykonać kroki tworzenia rejestru kontenerów. Dodatkowe kroki wymienione w dokumentacji są opcjonalne. Po zakończeniu tego zadania przejdź do następnych kroków.

  2. Przejdź do nowo wdrożonego wystąpienia usługi Container Registry w witrynie Azure Portal:

    Screenshot that shows the Azure Container Registry overview.

    Zauważysz, że rejestr kontenerów ma właściwość serwera logowania, która odwołuje się do adresu URL umożliwiającego zdalny dostęp do usługi. Ta właściwość kończy się azurecr.io. Zanotuj tę wartość, ponieważ wkrótce użyjesz jej.

  3. Następnie wybierz sekcję Klucze dostępu po lewej stronie w obszarze Ustawienia i włącz opcję dla użytkownika Administracja. Ta operacja umożliwia uwierzytelnianie w rejestrze kontenerów w celu umożliwienia dostępu z wystąpienia platformy Docker uruchomionego na maszynie hosta. Ponownie zanotuj wartości serwera logowania, nazwy użytkownika i hasła, ponieważ są one używane w następnym kroku.

    Screenshot that shows the Container Registry Access keys.

  4. Teraz możesz przeprowadzić uwierzytelnianie w rejestrze kontenerów i udzielić dostępu do wystąpienia platformy Docker hosta. Aby wykonać ten krok, uruchom następujące polecenia w sesji terminalu na maszynie hosta:

    sudo docker login <Login server>
    
    1. Po wyświetleniu monitu o nazwę użytkownika wprowadź wartość podaną w sekcji Klucze dostępu rejestru kontenerów w witrynie Azure Portal.

    2. Po wyświetleniu monitu o hasło wprowadź wartość podaną w sekcji Klucze dostępu rejestru kontenerów w witrynie Azure Portal.

    3. Po pomyślnym wpisie powinien zostać wyświetlony komunikat wskazujący komunikat "Logowanie powiodło się".

  5. Aby można było wypchnąć niedawno utworzony obraz platformy Docker do rejestru kontenerów, musisz otagować obraz, aby odwoływać się do rejestru kontenerów. Uruchom następujące polecenie w terminalu na maszynie hosta:

    sudo docker tag deepstream_test1_dgpu <Login Server>/deepstream_test1_dgpu:v1
    
  6. Wypchnij obraz kontenera DeepStream Graph Composer do tego repozytorium, uruchamiając następujące polecenie:

    sudo docker push <Login Server>/deepstream_test1_dgpu:v1
    
  7. Poczekaj na zakończenie wypychania. Następnie wróć do rejestru kontenerów w witrynie Azure Portal i sprawdź, czy obraz został przekazany. Aby sprawdzić, wybierz pozycję Repozytoria w sekcji Usługi po lewej stronie przeglądu. Na liście repozytoriów powinien zostać wyświetlony świeżo wypchnięty deepstream_test1_dgpu:v1 obraz, jak pokazano poniżej:

    Screenshot that shows the Azure Container Registry Repo list.

  8. Na koniec, jeśli chcesz wykonać i uruchomić ten obraz przy użyciu obrazu zawartego w rejestrze kontenerów, uruchom następujące polecenia w terminalu na zgodnym hoście:

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

    Uwaga

    Jeśli zamierzasz uruchomić to obciążenie na maszynie, która nie jest bieżącym hostem, z którym pracujesz, musisz włączyć dostęp do platformy X11 sudo xhost + i uwierzytelnić wystąpienie platformy Docker w celu uzyskania dostępu do rejestru kontenerów.

Gratulacje! Udało Ci się pomyślnie skompilować i opublikować pierwszą aplikację DeepStream Graph Composer w bezpiecznym rejestrze kontenerów, aby umożliwić dystrybucję obciążenia na różnych zgodnych hostach.

Wypróbuj

Wyobraź sobie, że twoim zadaniem było opracowanie aplikacji IVA w celu zliczenia liczby osób, które wchodzą do restauracji. Zespół deweloperów ściśle współpracuje z zespołem testowym, który weryfikuje dokładność rozwiązania IVA przed wdrożeniem go w środowisku produkcyjnym. Jak można dystrybuować nowe kompilacje aplikacji IVA do zespołu testowego w sposób, który nie wymaga ręcznej ponownej konfiguracji sprzętu testowego?