Skapa en App Service app on Azure Arc (förhandsversion)

I den här snabbstarten skapar du en App Service till ett Azure Arc kubernetes-kluster (förhandsversion). Det här scenariot stöder endast Linux-appar och du kan använda en inbyggd språkstack eller en anpassad container.

Förutsättningar

Lägga till Azure CLI-tillägg

Starta Bash-miljön i Azure Cloud Shell.

Starta Cloud Shell i ett nytt fönster

Eftersom dessa CLI-kommandon ännu inte är en del av CLI-kärnuppsättningen lägger du till dem med följande kommandon:

az extension add --upgrade --yes --name customlocation
az extension remove --name appservice-kube
az extension add --upgrade --yes --name appservice-kube

1. Skapa en resursgrupp

Kör följande kommando.

az group create --name myResourceGroup --location eastus 

2. Hämta den anpassade platsen

Hämta följande information om den anpassade platsen från klusteradministratören (se Skapa en anpassad plats).

customLocationGroup="<resource-group-containing-custom-location>"
customLocationName="<name-of-custom-location>"

Hämta det anpassade plats-ID:t för nästa steg.

customLocationId=$(az customlocation show \
    --resource-group $customLocationGroup \
    --name $customLocationName \
    --query id \
    --output tsv)

3. Skapa en app

I följande exempel skapas en Node.js app. Ersätt <app-name> med ett namn som är unikt i klustret (giltiga tecken är , a-z och 0-9 - ). Om du vill se alla körningar som stöds kör du az webapp list-runtimes --linux .

 az webapp create \
    --resource-group myResourceGroup \
    --name <app-name> \
    --custom-location $customLocationId \
    --runtime 'NODE|12-lts'

4. Distribuera kod

Anteckning

az webapp up stöds inte i den offentliga förhandsversionen.

Hämta ett exempel på Node.js med Git och distribuera den med hjälp av ZIP-distribution. Ersätt <app-name> med namnet på din webbapp.

git clone https://github.com/Azure-Samples/nodejs-docs-hello-world
cd nodejs-docs-hello-world
zip -r package.zip .
az webapp deployment source config-zip --resource-group myResourceGroup --name <app-name> --src package.zip

5. Hämta diagnostikloggar med Log Analytics

Anteckning

Om du vill använda Log Analytics bör du ha aktiverat det tidigare när du App Service tillägget. Om du har installerat tillägget utan Log Analytics hoppar du över det här steget.

Gå till Log Analytics-arbetsytan som är konfigurerad med ditt App Service ochklicka sedan på Loggar i det vänstra navigeringsfönstret. Kör följande exempelfråga för att visa loggar under de senaste 72 timmarna. Ersätt <app-name> med namnet på din webbapp. 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();
AppServiceConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where AppName_s =~ "<app-name>"

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

Log_s innehåller programloggar för en viss App Service och AppName_s innehåller App Service appnamnet. Förutom loggar som du skriver via programkoden innehåller kolumnen Log_s även loggar vid containerstart, avstängning och funktionsappar.

Du kan lära dig mer om loggfrågor i komma igång med Kusto.

(Valfritt) Distribuera en anpassad container

Om du vill skapa en anpassad containerapp kör du az webapp create med --deployment-container-image-name . För en privat lagringsplats lägger du till --docker-registry-server-user och --docker-registry-server-password .

Prova till exempel:

az webapp create \
    --resource-group myResourceGroup \
    --name <app-name> \
    --custom-location $customLocationId \
    --deployment-container-image-name mcr.microsoft.com/appsvc/node:12-lts

Information om hur du uppdaterar avbildningen när appen har skapas finns i Ändra Docker-avbildningen av en anpassad container

Nästa steg