Dela via


Självstudie: Skapa en Azure Container App på Azure Arc-aktiverade Kubernetes (förhandsversion)

I den här självstudien skapar du en containerapp till ett Azure Arc-aktiverat Kubernetes-kluster (förhandsversion) och lär dig att:

  • Skapa en containerapp i Azure Arc
  • Visa programmets diagnostik

Förutsättningar

Innan du fortsätter att skapa en containerapp måste du först konfigurera ett Azure Arc-aktiverat Kubernetes-kluster för att köra Azure Container Apps.

Lägga till Azure CLI-tillägg

Starta Bash-miljön i Azure Cloud Shell.

Starta Cloud Shell i ett nytt fönster.

Lägg sedan till nödvändiga Azure CLI-tillägg.

Varning

Följande kommando installerar ett anpassat Container Apps-tillägg som inte kan användas med den offentliga molntjänsten. Du måste avinstallera tillägget om du växlar tillbaka till det offentliga Azure-molnet.

az extension add --upgrade --yes --name customlocation
az extension add --name containerapp  --upgrade --yes

Skapa en resursgrupp

Skapa en resursgrupp för de tjänster som skapades i den här självstudien.

GROUP_NAME="my-container-apps-resource-group"
az group create --name $GROUP_NAME --location eastus 

Hämta anpassad platsinformation

Hämta följande platsgrupp, namn och ID från klusteradministratören. Mer information finns i Skapa en anpassad plats .

CUSTOM_LOCATION_GROUP="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
CUSTOM_LOCATION_NAME="<NAME_OF_CUSTOM_LOCATION>"

Hämta det anpassade plats-ID:t.

CUSTOM_LOCATION_ID=$(az customlocation show \
    --resource-group $CUSTOM_LOCATION_GROUP \
    --name $CUSTOM_LOCATION_NAME \
    --query id \
    --output tsv)

Hämta anslutet miljö-ID

Nu när du har det anpassade plats-ID:t kan du fråga efter den anslutna miljön.

En ansluten miljö är i stort sett densamma som en standardmiljö för Container Apps, men det underliggande Arc-aktiverade Kubernetes-klustret styr nätverksbegränsningarna.

CONTAINER_APP_NAME="my-container-app"
CONNECTED_ENVIRONMENT_ID=$(az containerapp connected-env list --custom-location $CUSTOM_LOCATION_ID -o tsv --query '[].id')

Skapa ett program

I följande exempel skapas en Node.js app.

 az containerapp create \
    --resource-group $GROUP_NAME \
    --name $CONTAINER_APP_NAME \
    --environment $CONNECTED_ENVIRONMENT_ID \
    --environment-type connected \
    --image mcr.microsoft.com/k8se/quickstart:latest \
    --target-port 80 \
    --ingress external

az containerapp browse --resource-group $GROUP_NAME --name $CONTAINER_APP_NAME

Hämta diagnostikloggar med Log Analytics

Kommentar

En Log Analytics-konfiguration krävs när du installerar Container Apps-tillägget för att visa diagnostikinformation. Om du har installerat tillägget utan Log Analytics hoppar du över det här steget.

Gå till Log Analytics-arbetsytan som har konfigurerats med containerapptillägget och välj sedan Loggar i det vänstra navigeringsfältet.

Kör följande exempelfråga för att visa loggar under de senaste 72 timmarna.

Om det uppstår ett fel när du kör en fråga kan du försöka igen om 10–15 minuter. Det kan uppstå en fördröjning för Log Analytics att börja ta emot loggar från ditt program.

let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"

Programloggarna för alla appar som finns i kubernetes-klustret loggas till Log Analytics-arbetsytan i den anpassade loggtabellen med namnet ContainerAppConsoleLogs_CL.

  • Log_s innehåller programloggar för ett visst Container Apps-tillägg
  • AppName_s innehåller namnet på containerappappen. Förutom loggar som du skriver via programkoden innehåller kolumnen Log_s även loggar vid start och avstängning av containrar.

Du kan lära dig mer om loggfrågor när du kommer igång med Kusto.

Nästa steg