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

V tomto kurzu přidáte kolekci OpenTelemetry jako kontejner sajdkáře do vlastní aplikace kontejneru Linuxu ve službě Aplikace Azure Service.

Ve službě Aplikace Azure Service můžete přidat až 4 kontejnery 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 sajdkáře naleznete v tématu Vzor sajdkáře.

Poznámka:

V období Preview musí být při vytváření aplikace povolená podpora sajdkáru. V současné době neexistuje způsob, jak povolit podporu sajdkáru pro existující aplikaci.

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á (další informace najdete v tématu Přehled Cloud Shellu). 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 provision
    
  2. Po zobrazení výzvy zadejte požadovaný název prostředí, předplatné a oblast. Příklad:

    • Název prostředí: my-sidecar-env
    • Předplatné: vaše předplatné
    • Region: (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ší
    • Port: 4317

    Port 4317 je výchozí port používaný ukázkovým kontejnerem pro příjem dat OpenTelemetry. Je přístupný z jakéhokoli jiného kontejneru v aplikaci na adrese localhost:4317. Přesně tak kontejner Nginx odesílá data do sajdkáře (viz konfigurace modulu OpenTelemetry pro ukázkovou image Nginx).

  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 Konfigurace.

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

    • Název: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Hodnota: Připojovací řetězec ve výstupuazd provision
  3. Vyberte Uložit a pak vyberte Pokračovat.

    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

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