Samouczek: konfigurowanie kontenera przyczepki dla kontenera niestandardowego w usłudze aplikacja systemu Azure (wersja zapoznawcza)
W tym samouczku dodasz moduł zbierający OpenTelemetry jako kontener przyczepki do niestandardowej aplikacji kontenera systemu Linux w usłudze aplikacja systemu Azure Service.
W usłudze aplikacja systemu Azure można dodać maksymalnie 4 kontenery 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 przyczepek, zobacz Wzorzec przyczepki.
Uwaga
W okresie obowiązywania wersji zapoznawczej należy włączyć obsługę przyczepki podczas tworzenia aplikacji. Obecnie nie ma możliwości włączenia obsługi przyczepki dla istniejącej aplikacji.
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 używane w samouczku (aby uzyskać więcej informacji, zobacz Omówienie usługi Cloud Shell). Są one używane w tym konkretnym scenariuszu i nie są wymagane w przypadku kontenerów przyczepki w ogóle.
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 provision
Po wyświetleniu monitu podaj nazwę środowiska, subskrypcję i żądany region. Na przykład:
- Nazwa środowiska: my-sidecar-env
- 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/...
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:- Grupa zasobów
- Rejestr kontenerów z wdrożonym dwoma obrazami:
- Obraz Nginx z modułem OpenTelemetry.
- Obraz modułu zbierającego OpenTelemetry skonfigurowany do eksportowania do usługi Azure Monitor.
- Obszar roboczy usługi Log Analytics
- Składnik usługi Application Insights
2. Tworzenie aplikacji z obsługą przyczepki
Na stronie zarządzania grupy zasobów wybierz pozycję Utwórz.
Wyszukaj aplikację internetową, a następnie wybierz strzałkę w dół w obszarze Utwórz i wybierz pozycję Aplikacja internetowa.
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
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
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.
Wybierz pozycję Przeglądanie i tworzenie, a następnie wybierz pozycję Utwórz.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
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.
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.
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
- Port: 4317
Port 4317 to domyślny port używany przez przykładowy kontener do odbierania danych OpenTelemetry. Jest on dostępny z dowolnego innego kontenera w aplikacji pod adresem
localhost:4317
. W ten sposób kontener Nginx wysyła dane do przyczepki (zobacz konfigurację modułu OpenTelemetry dla przykładowego obrazu Nginx).Wybierz Zastosuj.
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.
Na stronie zarządzania aplikacją z menu po lewej stronie wybierz pozycję Konfiguracja.
Dodaj ustawienie aplikacji, wybierając pozycję Nowe ustawienie aplikacji i skonfiguruj je w następujący sposób:
- Nazwa: APPLICATIONINSIGHTS_CONNECTION_STRING
- Wartość: parametry połączenia w danych wyjściowych
azd provision
Wybierz pozycję Zapisz, a następnie wybierz pozycję Kontynuuj.
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.
Wróć do karty
https://<app-name>.azurewebsites.net
przeglądarki dla polecenia , odśwież stronę kilka razy, aby wygenerować niektóre żądania internetowe.Wróć do strony przeglądu grupy zasobów, wybierz zasób usługi Application Insights. Powinny być teraz widoczne pewne dane 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
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
iDOCKER_REGISTRY_SERVER_PASSWORD
. - Port kontenera:
WEBSITES_PORT