Udostępnij za pośrednictwem


Samouczek: konfigurowanie kontenera przyczepki dla kontenera niestandardowego w usłudze aplikacja systemu Azure Service

W tym samouczku dodasz moduł zbierający OpenTelemetry jako kontener przyczepki do niestandardowej aplikacji kontenera systemu Linux w usłudze aplikacja systemu Azure Service. Aby uzyskać dostęp do własnych aplikacji systemu Linux, zobacz Samouczek: konfigurowanie kontenera przyczepki dla aplikacji systemu Linux w usłudze aplikacja systemu Azure Service.

W usłudze aplikacja systemu Azure można dodać do dziewięciu kontenerów przyczepki dla każdej niestandardowej aplikacji kontenera z obsługą przyczepki. Kontenery przyczepki umożliwiają wdrażanie dodatkowych usług i funkcji w aplikacji kontenera bez ścisłego sprzężenia ich z głównym kontenerem aplikacji. Można na przykład dodać monitorowanie, rejestrowanie, konfigurację i usługi sieciowe jako kontenery przyczepki. Przyczepka modułu zbierającego OpenTelemetry jest jednym z takich przykładów monitorowania.

Aby uzyskać więcej informacji na temat kontenera bocznego w usłudze App Service, zobacz:

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

1. Konfigurowanie wymaganych zasobów

Najpierw utworzysz zasoby, których używa samouczek. Są one używane w tym konkretnym scenariuszu i nie są wymagane w przypadku kontenerów przyczepki w ogóle.

  1. W usłudze Azure Cloud Shell uruchom następujące polecenia:

    git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
    cd app-service-sidecar-tutorial-prereqs
    azd env new my-sidecar-env
    azd provision
    
  2. Po wyświetleniu monitu podaj odpowiednią subskrypcję i region. Na przykład:

    • Subskrypcja: Twoja subskrypcja.
    • Region: (Europa) Europa Zachodnia.

    Po zakończeniu wdrażania powinny zostać wyświetlone następujące dane wyjściowe:

     APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=...
    
     Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
     
  3. Otwórz link grupy zasobów na karcie przeglądarki. Później musisz użyć parametry połączenia.

    Uwaga

    azd provision używa dołączonych szablonów, aby utworzyć następujące zasoby platformy Azure:

2. Tworzenie aplikacji z obsługą przyczepki

  1. Na stronie zarządzania grupy zasobów wybierz pozycję Utwórz.

  2. Wyszukaj aplikację internetową, a następnie wybierz strzałkę w dół w obszarze Utwórz i wybierz pozycję Aplikacja internetowa.

    Zrzut ekranu przedstawiający stronę witryny Azure Marketplace z przeszukiwaną aplikacją internetową i kliknięciem przycisków aplikacji internetowej.

  3. Skonfiguruj panel Podstawowe w następujący sposób:

    • Nazwa: unikatowa nazwa
    • Publikowanie: kontener
    • System operacyjny: Linux
    • Region: ten sam region co wybrany za pomocą polecenia azd provision
    • Plan systemu Linux: nowy plan usługi App Service

    Zrzut ekranu przedstawiający kreatora tworzenia aplikacji internetowej i ustawienia dla wyróżnionej niestandardowej aplikacji kontenera systemu Linux.

  4. Wybierz pozycję Kontener. Skonfiguruj panel Kontener w następujący sposób:

    • Obsługa przyczepki: włączone
    • Źródło obrazu: Azure Container Registry
    • Rejestr: rejestr utworzony przez azd provision
    • Obraz: nginx
    • Tag: latest
    • Port: 80

    Zrzut ekranu przedstawiający kreatora i ustawienia tworzenia aplikacji internetowej dla obrazu kontenera oraz wyróżnioną obsługę przyczepki.

    Uwaga

    Te ustawienia są konfigurowane inaczej w aplikacjach z obsługą przyczepki. Aby uzyskać więcej informacji, zobacz Różnice w aplikacjach z obsługą przyczepki.

  5. Wybierz pozycję Przeglądanie i tworzenie, a następnie wybierz pozycję Utwórz.

  6. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

  7. Na nowej karcie przeglądarki przejdź do https://<app-name>.azurewebsites.net strony i zobacz domyślną stronę Nginx.

3. Dodawanie kontenera przyczepki

W tej sekcji dodasz kontener przyczepki do niestandardowej aplikacji kontenera.

  1. Na stronie zarządzania aplikacją z menu po lewej stronie wybierz pozycję Centrum wdrażania.

    W centrum wdrażania są wyświetlane wszystkie kontenery w aplikacji. W tej chwili ma on tylko główny kontener.

  2. Wybierz pozycję Dodaj i skonfiguruj nowy kontener w następujący sposób:

    • Nazwa: otel-collector
    • Źródło obrazu: Azure Container Registry
    • Rejestr: rejestr utworzony przez azd provision
    • Obraz: otel-collector
    • Tag: latest
  3. Wybierz Zastosuj.

    Zrzut ekranu przedstawiający sposób konfigurowania kontenera przyczepki w centrum wdrażania aplikacji internetowej.

    Powinny być teraz widoczne dwa kontenery w centrum wdrażania. Główny kontener jest oznaczony jako Main, a kontener przyczepki jest oznaczony jako Przyczepka. Każda aplikacja musi mieć jeden główny kontener, ale może mieć wiele kontenerów przyczepki.

4. Konfigurowanie zmiennych środowiskowych

W przykładowym scenariuszu przyczepka modułu zbierającego otel jest skonfigurowana do eksportowania danych OpenTelemetry do usługi Azure Monitor, ale wymaga parametry połączenia jako zmiennej środowiskowej (zobacz plik konfiguracji OpenTelemetry dla obrazu modułu zbierającego otel-collector).

Zmienne środowiskowe dla kontenerów, takich jak dowolna aplikacja usługi App Service, konfigurując ustawienia aplikacji. Ustawienia aplikacji są dostępne dla wszystkich kontenerów w aplikacji.

  1. Na stronie zarządzania aplikacją z menu po lewej stronie wybierz pozycję Zmienne środowiskowe.

  2. Dodaj ustawienie aplikacji, wybierając pozycję Dodaj i skonfiguruj je w następujący sposób:

    • Nazwa: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Wartość: parametry połączenia w danych wyjściowych elementu azd provision. Jeśli sesja usługi Cloud Shell zostanie utracona, możesz ją również znaleźć na stronie Przegląd zasobu usługi Application Insights w obszarze Parametry połączenia.
  3. Wybierz pozycję Zastosuj, a następnie pozycję Zastosuj, a następnie potwierdź.

    Zrzut ekranu przedstawiający stronę Konfiguracja aplikacji internetowej z dodanymi dwoma ustawieniami aplikacji.

Uwaga

Niektóre ustawienia aplikacji nie mają zastosowania do aplikacji z obsługą przyczepki. Aby uzyskać więcej informacji, zobacz Różnice w aplikacjach z obsługą przyczepki

5. Sprawdź w usłudze Application Insights

Przyczepka modułu zbierającego otel powinna teraz eksportować dane do usługi Application Insights.

  1. Wróć do karty https://<app-name>.azurewebsites.netprzeglądarki dla polecenia , odśwież stronę kilka razy, aby wygenerować niektóre żądania internetowe.

  2. Wróć do strony przeglądu grupy zasobów, a następnie wybierz zasób usługi Application Insights. Powinny być teraz widoczne pewne dane na wykresach domyślnych.

    Zrzut ekranu przedstawiający stronę usługi Application Insights z danymi na wykresach domyślnych.

Uwaga

W tym bardzo typowym scenariuszu monitorowania usługa Application Insights jest tylko jednym z obiektów docelowych OpenTelemetry, których można użyć, takich jak Jaeger, Prometheus i Zipkin.

Czyszczenie zasobów

Gdy środowisko nie jest już potrzebne, możesz usunąć grupę zasobów, usługę App Service i wszystkie powiązane zasoby. Wystarczy uruchomić to polecenie w usłudze Cloud Shell w sklonowanym repozytorium:

azd down

Jak kontenery przyczepki obsługują komunikację wewnętrzną?

Kontenery przyczepki współdzielą ten sam host sieciowy co główny kontener, więc główny kontener (i inne kontenery przyczepki) może dotrzeć do dowolnego portu w przyczepce za pomocą polecenia localhost:<port>. W ten sposób kontener Nginx wysyła dane do przyczepki (zobacz konfigurację modułu OpenTelemetry dla przykładowego obrazu Nginx).

W oknie dialogowym Edytowanie kontenera okno Port nie jest obecnie używane przez usługę App Service. Można go użyć w ramach metadanych przyczepki, takich jak wskazanie, na którym porcie nasłuchuje przyczepka.

Różnice w aplikacjach z obsługą przyczepki

Aplikacje z obsługą przyczepki są konfigurowane inaczej niż aplikacje, które nie są włączone w przyczepce. W szczególności nie konfigurujesz głównego kontenera i przyczepek z ustawieniami aplikacji, ale bezpośrednio we właściwościach zasobu. Te ustawienia aplikacji nie mają zastosowania do aplikacji z obsługą przyczepki:

  • Ustawienia uwierzytelniania rejestru: DOCKER_REGISTRY_SERVER_URL, DOCKER_REGISTRY_SERVER_USERNAME i DOCKER_REGISTRY_SERVER_PASSWORD.
  • Port kontenera: WEBSITES_PORT

Więcej zasobów