Dela via


Självstudie: Konfigurera en sidovagnscontainer för anpassad container i Azure App Service (förhandsversion)

I den här självstudien lägger du till OpenTelemetry-insamlare som en sidovagnscontainer i en anpassad Linux-containerapp i Azure App Service.

I Azure App Service kan du lägga till upp till 4 sidovagnscontainrar för varje sidovagnsaktiverad anpassad containerapp. Med sidovagnscontainrar kan du distribuera extra tjänster och funktioner till ditt containerprogram utan att göra dem nära kopplade till huvudprogramcontainern. Du kan till exempel lägga till övervaknings-, loggnings-, konfigurations- och nätverkstjänster som sidovagnscontainrar. En OpenTelemetry-insamlares sidovagn är ett sådant övervakningsexempel.

Mer information om sidovagn finns i Sidovagnsmönster.

Kommentar

Under förhandsgranskningsperioden måste sidovagnsstöd aktiveras när appen skapas. Det finns för närvarande inget sätt att aktivera sidovagnsstöd för en befintlig app.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

1. Konfigurera nödvändiga resurser

Först skapar du de resurser som självstudien använder (mer information finns i Översikt över Cloud Shell). De används för det här scenariot och krävs inte för sidovagnscontainrar i allmänhet.

  1. Kör följande kommandon i Azure Cloud Shell:

    git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
    cd app-service-sidecar-tutorial-prereqs
    azd provision
    
  2. När du uppmanas till det anger du det miljönamn, den prenumeration och region som du vill använda. Till exempel:

    • Miljönamn: my-sidecar-env
    • Prenumeration: din prenumeration
    • Region: (Europa) Europa, västra

    När distributionen är klar bör du se följande utdata:

     APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=...
    
     Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
     
  3. Öppna resursgruppslänken på en webbläsarflik. Du måste använda anslutningssträng senare.

    Kommentar

    azd provision använder de inkluderade mallarna för att skapa följande Azure-resurser:

2. Skapa en sidovagnsaktiverad app

  1. På resursgruppens hanteringssida väljer du Skapa.

  2. Sök efter webbapp och välj sedan nedåtpilen på Skapa och välj Webbapp.

    Skärmbild som visar Azure Marketplace-sidan där webbappen genomsöks och skapar knappar för webbappar som klickas.

  3. Konfigurera panelen Grundläggande enligt följande:

    • Namn: Ett unikt namn
    • Publicera: Container
    • Operativsystem: Linux
    • Region: Samma region som den du valde med azd provision
    • Linux-plan: En ny App Service-plan

    Skärmbild som visar guiden skapa webbapp och inställningar för en anpassad Linux-containerapp markerad.

  4. Välj Container. Konfigurera containerpanelenföljande sätt:

    • Sidovagnsstöd: Aktiverat
    • Bildkälla: Azure Container Registry
    • Register: Registret som skapats av azd provision
    • Bild: nginx
    • Tagg: senaste
    • Port: 80

    Skärmbild som visar guiden skapa webbapp och inställningar för containeravbildningen och sidovagnsstödet markerat.

    Kommentar

    De här inställningarna konfigureras på olika sätt i sidovagnsaktiverade appar. Mer information finns i Skillnader för sidovagnsaktiverade appar.

  5. Välj Granska + skapa och välj sedan Skapa.

  6. När distributionen är klar väljer du Gå till resurs.

  7. I en ny webbläsarflik navigerar du till https://<app-name>.azurewebsites.net och ser standardsidan för Nginx.

3. Lägg till en sidovagnscontainer

I det här avsnittet lägger du till en sidovagnscontainer i din anpassade containerapp.

  1. På appens hanteringssida går du till den vänstra menyn och väljer Distributionscenter.

    Distributionscentret visar alla containrar i appen. Just nu har den bara huvudcontainern.

  2. Välj Lägg till och konfigurera den nya containern på följande sätt:

    • Namn: otel-collector
    • Avbildningskälla: Azure Container Registry
    • Register: Registret som skapats av azd provision
    • Bild: otel-collector
    • Tagg: senaste
    • Port: 4317

    Port 4317 är standardporten som används av exempelcontainern för att ta emot OpenTelemetry-data. Den är tillgänglig från alla andra containrar i appen på localhost:4317. Det är precis så Nginx-containern skickar data till sidovagnen (se konfigurationen av OpenTelemetry-modulen för Nginx-exempelavbildningen).

  3. Välj Använd.

    Skärmbild som visar hur du konfigurerar en sidovagnscontainer i en webbapps distributionscenter.

    Nu bör du se två containrar i distributionscentret. Huvudcontainern är markerad som Main och sidovagnscontainern är markerad som Sidovagn. Varje app måste ha en huvudcontainer men kan ha flera sidovagnscontainrar.

4. Konfigurera miljövariabler

I exempelscenariot är sidovagnen otel-collector konfigurerad för att exportera OpenTelemetry-data till Azure Monitor, men den behöver anslutningssträng som en miljövariabel (se OpenTelemetry-konfigurationsfilen för avbildningen otel-collector).

Du konfigurerar miljövariabler för containrar som alla App Service-appar genom att konfigurera appinställningar. Appinställningarna är tillgängliga för alla containrar i appen.

  1. På appens hanteringssida går du till den vänstra menyn och väljer Konfiguration.

  2. Lägg till en appinställning genom att välja Ny programinställning och konfigurera den på följande sätt:

    • Namn: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Värde: anslutningssträng i utdata förazd provision
  3. Välj Spara och välj sedan Fortsätt.

    Skärmbild som visar en webbapps konfigurationssida med två appinställningar tillagda.

Kommentar

Vissa appinställningar gäller inte för sidovagnsaktiverade appar. Mer information finns i Skillnader för sidovagnsaktiverade appar

5. Verifiera i Application Insights

Sidovagnen otel-collector bör exportera data till Application Insights nu.

  1. Gå tillbaka till webbläsarfliken för och uppdatera sidan några gånger för https://<app-name>.azurewebsites.netatt generera några webbbegäranden.

  2. Gå tillbaka till översiktssidan för resursgruppen och välj Application Insights-resursen. Nu bör du se vissa data i standarddiagrammen.

    Skärmbild av sidan Application Insights som visar data i standarddiagrammen.

Kommentar

I det här mycket vanliga övervakningsscenariot är Application Insights bara ett av de OpenTelemetry-mål som du kan använda, till exempel Jaeger, Prometheus och Zipkin.

Rensa resurser

När du inte längre behöver miljön kan du ta bort resursgruppen, App Service och alla relaterade resurser. Kör bara det här kommandot i Cloud Shell på den klonade lagringsplatsen:

azd down

Skillnader för sidovagnsaktiverade appar

Du konfigurerar sidovagnsaktiverade appar på ett annat sätt än appar som inte är sidovagnsaktiverade. Mer specifikt konfigurerar du inte huvudcontainern och sidovagnen med appinställningar, utan direkt i resursegenskaperna. De här appinställningarna gäller inte för sidovagnsaktiverade appar:

  • Registerautentiseringsinställningar: DOCKER_REGISTRY_SERVER_URL, DOCKER_REGISTRY_SERVER_USERNAME och DOCKER_REGISTRY_SERVER_PASSWORD.
  • Containerport: WEBSITES_PORT

Fler resurser