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.
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
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/...
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:- Skupina prostředků
- Registr kontejneru se dvěma nasazenými imagemi:
- Obrázek Nginx s modulem OpenTelemetry.
- Image kolektoru OpenTelemetry nakonfigurovaná pro export do služby Azure Monitor.
- Pracovní prostor služby Log Analytics
- Komponenta Application Insights
2. Vytvoření aplikace s podporou sajdkáře
Na stránce pro správu skupiny prostředků vyberte Vytvořit.
Vyhledejte webovou aplikaci a pak vyberte šipku dolů u možnosti Vytvořit a vyberte Web App.
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
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
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.
Vyberte Zkontrolovat a vytvořit a pak Vytvořit.
Po dokončení nasazení vyberte Přejít k prostředku.
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.
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.
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).Vyberte Použít.
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.
Na stránce správy aplikace v nabídce vlevo vyberte Konfigurace.
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ýstupu
azd provision
Vyberte Uložit a pak vyberte Pokračovat.
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.
Zpátky na kartě
https://<app-name>.azurewebsites.net
prohlížeče aktualizujte stránku několikrát, aby se vygenerovaly některé webové požadavky.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.
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_URL
DOCKER_REGISTRY_SERVER_USERNAME
aDOCKER_REGISTRY_SERVER_PASSWORD
. - Port kontejneru:
WEBSITES_PORT