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:
- Představujeme sajdkárna pro Aplikace Azure Service pro Linux: Teď je obecně dostupná
- Oznámení obecné dostupnosti rozšiřitelnosti sajdkáře ve službě Aplikace Azure Service
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.
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
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/...
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ů s názvem my-sidecar-env_group.
- 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ší
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 Proměnné prostředí.
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.
Vyberte Použít, pak Použít a pak Potvrdit.
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
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_URL
DOCKER_REGISTRY_SERVER_USERNAME
aDOCKER_REGISTRY_SERVER_PASSWORD
. - Port kontejneru:
WEBSITES_PORT