Dela via


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

I den här snabbstarten skapar du en App Service-app till ett Azure Arc-aktiverat 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.

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, 0-9och -).

Körning som stöds:

beskrivning Körningsvärde för CLI
.NET Core 3.1 DOTNETCORE|3.1
.NET 5.0 DOTNETCORE|6.0
Node JS 12 NODE|12-lts
Nod JS 14 NODE|14-lts
Python 3.6 PYTHON|3.6
Python 3.7 PYTHON|3.7
Python 3.8 PYTHON|3.8
PHP 7.3 PHP|7.3
PHP 7.4 PHP|7.4
Java 8 JAVA|8-jre8
Java 11 JAVA|11-java11
Tomcat 8.5 TOMCAT|8.5-jre8
Tomcat 8.5 TOMCAT|8.5-java11
Tomcat 9.0 TOMCAT|9.0-jre8
Tomcat 9.0 TOMCAT|9.0-java11
 az webapp create \
    --resource-group myResourceGroup \
    --name <app-name> \
    --custom-location $customLocationId \
    --runtime 'NODE|14-lts'

4. Distribuera lite kod

Kommentar

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

Hämta ett exempel Node.js app med Git och distribuera den med hjälp av ZIP-distribution. Ersätt <app-name> med webbappens namn.

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

5. Hämta diagnostikloggar med Log Analytics

Kommentar

Om du vill använda Log Analytics bör du tidigare ha aktiverat det när du installerade 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 har konfigurerats med apptjänsttillägget och klicka sedan på Loggar i det vänstra navigeringsfältet. Kör följande exempelfråga för att visa loggar under de senaste 72 timmarna. Ersätt <app-name> med webbappens namn. 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 till 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 för start, avstängning och funktionsappar för containrar.

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

(Valfritt) Distribuera en anpassad container

Om du vill skapa en anpassad containerbaserad app 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/staticsite:latest

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

Nästa steg