Een App Service-app maken in Azure Arc (preview)
In deze quickstart maakt u een App Service-app naar een Kubernetes-cluster met Azure Arc (preview). Dit scenario ondersteunt alleen Linux-apps en u kunt een ingebouwde taalstack of een aangepaste container gebruiken.
Vereisten
- Stel uw Kubernetes met Azure Arc in om App Service uit te voeren.
Azure CLI-extensies toevoegen
Start de Bash-omgeving in Azure Cloud Shell.
Omdat deze CLI-opdrachten nog geen deel uitmaken van de cli-kernset, voegt u deze toe met de volgende opdrachten:
az extension add --upgrade --yes --name customlocation
az extension remove --name appservice-kube
az extension add --upgrade --yes --name appservice-kube
1. Een resourcegroep maken
Voer de volgende opdracht uit.
az group create --name myResourceGroup --location eastus
2. De aangepaste locatie ophalen
Haal de volgende informatie op over de aangepaste locatie van uw clusterbeheerder (zie Een aangepaste locatie maken).
customLocationGroup="<resource-group-containing-custom-location>"
customLocationName="<name-of-custom-location>"
Haal de aangepaste locatie-id op voor de volgende stap.
customLocationId=$(az customlocation show \
--resource-group $customLocationGroup \
--name $customLocationName \
--query id \
--output tsv)
3. Een app maken
In het volgende voorbeeld wordt een Node.js-app gemaakt. Vervang <app-name>
door een naam die uniek is binnen uw cluster (geldige tekens zijn a-z
, 0-9
en -
).
Ondersteunde runtimes:
Beschrijving | Runtimewaarde voor CLI |
---|---|
.NET Core 3.1 | DOTNETCORE|3.1 |
.NET 5.0 | DOTNETCORE|6.0 |
Node JS 12 | NODE|12-lts |
Node 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. Een aantal code implementeren
Notitie
az webapp up
wordt niet ondersteund tijdens de openbare preview.
Haal een voorbeeld-Node.js-app op met behulp van Git en implementeer deze met behulp van ZIP Deploy. Vervang door <app-name>
de naam van uw web-app.
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. Diagnostische logboeken ophalen met Log Analytics
Notitie
Als u Log Analytics wilt gebruiken, moet u deze eerder hebben ingeschakeld bij het installeren van de App Service-extensie. Als u de extensie zonder Log Analytics hebt geïnstalleerd, slaat u deze stap over.
Navigeer naar de Log Analytics-werkruimte die is geconfigureerd met uw App Service-extensie en klik vervolgens op Logboeken in de linkernavigatiebalk. Voer de volgende voorbeeldquery uit om logboeken in de afgelopen 72 uur weer te geven. Vervang door <app-name>
de naam van uw web-app. Als er een fout optreedt bij het uitvoeren van een query, probeert u het over 10-15 minuten opnieuw (er kan een vertraging optreden voordat Log Analytics logboeken van uw toepassing ontvangt).
let StartTime = ago(72h);
let EndTime = now();
AppServiceConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where AppName_s =~ "<app-name>"
De toepassingslogboeken voor alle apps die in uw Kubernetes-cluster worden gehost, worden vastgelegd in de Log Analytics-werkruimte in de aangepaste logboektabel met de naam AppServiceConsoleLogs_CL
.
Log_s bevat toepassingslogboeken voor een bepaalde App Service en AppName_s de app-naam van de App Service bevat. Naast logboeken die u schrijft via uw toepassingscode, bevat de kolom Log_s ook logboeken bij het opstarten, afsluiten en functie-apps van de container.
Meer informatie over logboekquery's vindt u in aan de slag met Kusto.
(Optioneel) Een aangepaste container implementeren
Als u een aangepaste container-app wilt maken, voert u az webapp create uit met --deployment-container-image-name
. Voor een privéopslagplaats voegt u deze toe --docker-registry-server-user
en --docker-registry-server-password
.
Probeer bijvoorbeeld het volgende:
az webapp create \
--resource-group myResourceGroup \
--name <app-name> \
--custom-location $customLocationId \
--deployment-container-image-name mcr.microsoft.com/appsvc/staticsite:latest
Als u de installatiekopieën wilt bijwerken nadat de app is gemaakt, raadpleegt u De Docker-installatiekopieën van een aangepaste container wijzigen