Sdílet prostřednictvím


Kurz: Konfigurace kontejneru sajdkáře pro vlastní kontejner ve službě Aplikace Azure Service

V tomto kurzu přidáte kolektor OpenTelemetry jako kontejner sajdkáře do vlastní aplikace kontejneru Linuxu ve službě Aplikace Azure Service. Informace o aplikacích pro Linux s vlastním kódem najdete v tématu Kurz: Konfigurace kontejneru sajdkáře pro aplikaci pro Linux ve službě Aplikace Azure Service.

Ve službě Aplikace Azure Service můžete přidat až devět kontejnerů sajdkáru pro každou vlastní aplikaci kontejneru s podporou sajdkáru. Kontejnery sajdkáru umožňují nasadit do kontejnerové aplikace další služby a funkce, aniž byste je úzce spojte s hlavním kontejnerem aplikací. Jako kontejnery sajdkáře můžete například přidat monitorování, protokolování, konfiguraci a síťové služby. Příkladem monitorování je kolektor OpenTelemetry.

Další informace o kontejneru na straně ve službě App Service najdete tady:

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

1. Nastavení potřebných prostředků

Nejprve vytvoříte prostředky, které kurz používá. Používají se pro tento konkrétní scénář a obecně se nevyžadují pro kontejnery sajdkáře.

  1. V Azure Cloud Shellu spusťte následující příkazy:

    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 zobrazení výzvy zadejte požadované předplatné a oblast. Příklad:

    • Předplatné: Vaše předplatné.
    • Oblast: (Evropa) Západní Evropa.

    Po dokončení nasazení by se měl zobrazit následující výstup:

     APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=...
    
     Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
     
  3. Otevřete odkaz na skupinu prostředků na kartě prohlížeče. Později budete muset použít připojovací řetězec.

    Poznámka:

    azd provision používá zahrnuté šablony k vytvoření následujících prostředků Azure:

2. Vytvoření aplikace s podporou sajdkáře

  1. Na stránce pro správu skupiny prostředků vyberte Vytvořit.

  2. Vyhledejte webovou aplikaci a pak vyberte šipku dolů u možnosti Vytvořit a vyberte Web App.

    Snímek obrazovky zobrazující stránku Azure Marketplace s prohledávané webovou aplikací a kliknutím vytvořte tlačítka webové aplikace.

  3. Panel Základy nakonfigurujte následujícím způsobem:

    • Název: Jedinečný název
    • Publikování: Kontejner
    • Operační systém: Linux
    • Oblast: Stejná oblast jako ta, kterou jste zvolili azd provision
    • Plán Linuxu: Nový plán služby App Service

    Snímek obrazovky se zvýrazněnou možností Průvodce vytvořením webové aplikace a nastavením vlastní aplikace kontejneru pro Linux

  4. Vyberte kontejner. Panel Kontejner nakonfigurujte následujícím způsobem:

    • Podpora sajdkáru: Povoleno
    • Zdroj image: Azure Container Registry
    • Registr: Registr vytvořený pomocí azd provision
    • Obrázek: nginx
    • Značka: nejnovější
    • Port: 80

    Snímek obrazovky znázorňující průvodce vytvořením webové aplikace a nastavení image kontejneru a zvýrazněnou podporu sajdkáru

    Poznámka:

    Tato nastavení jsou v aplikacích s podporou sajdkáře nakonfigurovaná jinak. Další informace najdete v tématu Rozdíly pro aplikace s podporou sajdkáře.

  5. Vyberte Zkontrolovat a vytvořit a pak Vytvořit.

  6. Po dokončení nasazení vyberte Přejít k prostředku.

  7. Na nové kartě prohlížeče přejděte na https://<app-name>.azurewebsites.net výchozí stránku Nginx a podívejte se na ji.

3. Přidání kontejneru sajdkáře

V této části přidáte kontejner sajdkáře do vlastní aplikace kontejneru.

  1. Na stránce správy aplikace v nabídce vlevo vyberte Deployment Center.

    V centru nasazení se zobrazí všechny kontejnery v aplikaci. Právě teď má pouze hlavní kontejner.

  2. Vyberte Přidat a nakonfigurujte nový kontejner následujícím způsobem:

    • Název: otel-collector
    • Zdroj image: Azure Container Registry
    • Registr: Registr vytvořený pomocí azd provision
    • Obrázek: otel-collector
    • Značka: nejnovější
  3. Vyberte Použít.

    Snímek obrazovky znázorňující, jak nakonfigurovat kontejner sajdkáře v centru nasazení webové aplikace

    V centru nasazení byste teď měli vidět dva kontejnery. Hlavní kontejner je označený Main a kontejner sajdkáře je označený sajdkáře. Každá aplikace musí mít jeden hlavní kontejner, ale může mít více kontejnerů sajdkáře.

4. Konfigurace proměnných prostředí

V ukázkovém scénáři je sajdkárna otel-collector nakonfigurovaná tak, aby exportovala data OpenTelemetry do služby Azure Monitor, ale potřebuje připojovací řetězec jako proměnnou prostředí (viz konfigurační soubor OpenTelemetry pro image kolektoru otel-collector).

Proměnné prostředí pro kontejnery konfigurujete tak, že nakonfigurujete nastavení aplikace. Nastavení aplikace jsou přístupná pro všechny kontejnery v aplikaci.

  1. Na stránce správy aplikace v nabídce vlevo vyberte Proměnné prostředí.

  2. Přidejte nastavení aplikace tak , že vyberete Přidat a nakonfigurujete ho následujícím způsobem:

    • Název: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Hodnota: připojovací řetězec ve výstupu .azd provision Pokud jste relaci Cloud Shellu ztratili, najdete ji také na stránce Přehled prostředku Application Insight v části Připojovací řetězec.
  3. Vyberte Použít, pak Použít a pak Potvrdit.

    Snímek obrazovky zobrazující stránku Konfigurace webové aplikace se dvěma přidanými nastaveními aplikace

Poznámka:

Některá nastavení aplikace se nevztahují na aplikace s podporou sajdkáře. Další informace najdete v tématu Rozdíly pro aplikace s podporou sajdkáře.

5. Ověření v Application Insights

Sajdkárna otel-collector by teď měla exportovat data do Application Insights.

  1. Zpátky na kartě https://<app-name>.azurewebsites.netprohlížeče aktualizujte stránku několikrát, aby se vygenerovaly některé webové požadavky.

  2. Vraťte se na stránku přehledu skupiny prostředků a vyberte prostředek Application Insights. Ve výchozím grafu byste teď měli vidět nějaká data.

    Snímek obrazovky se stránkou Application Insights zobrazující data ve výchozích grafech

Poznámka:

V tomto velmi běžném scénáři monitorování je Application Insights jen jedním z cílů OpenTelemetry, které můžete použít, například Jaeger, Prometheus a Zipkin.

Vyčištění prostředků

Pokud už prostředí nepotřebujete, můžete odstranit skupinu prostředků, službu App Service a všechny související prostředky. Stačí spustit tento příkaz v Cloud Shellu v naklonovaném úložišti:

azd down

Jak kontejnery sajdkár zpracovávají interní komunikaci?

Kontejnery sajdkáře sdílejí stejného síťového hostitele jako hlavní kontejner, takže hlavní kontejner (a další kontejnery sajdkáře) se může spojit s libovolným portem na sajdkáře .localhost:<port> Přesně tak kontejner Nginx odesílá data do sajdkáře (viz konfigurace modulu OpenTelemetry pro ukázkovou image Nginx).

V dialogovém okně Upravit kontejner se v současné době služba App Service nepoužívá pole Port. Můžete ho použít jako součást metadat sajdkáře, například k označení portu, na kterém sajdkáře naslouchá.

Rozdíly v aplikacích s podporou sajdkáře

Aplikace s podporou sajdkáře nakonfigurujete jinak než aplikace, které nejsou povolené sajdkáře. Konkrétně nekonfigurujete hlavní kontejner a sajdkáře s nastavením aplikace, ale přímo ve vlastnostech prostředku. Tato nastavení aplikací se nevztahují na aplikace s podporou sajdkáře:

  • Nastavení ověřování registru: DOCKER_REGISTRY_SERVER_URLDOCKER_REGISTRY_SERVER_USERNAME a DOCKER_REGISTRY_SERVER_PASSWORD.
  • Port kontejneru: WEBSITES_PORT

Další materiály