Créer une application App Service sur Azure Arc (préversion)

Dans ce démarrage rapide, vous allez créer une application App Service sur un cluster Kubernetes avec Azure Arc (préversion). Ce scénario ne prend en charge que les applications Linux, et vous pouvez utiliser une pile de langage intégrée ou un conteneur personnalisé.

Prérequis

Ajouter des extensions Azure CLI

Lancez l’environnement Bash dans Azure Cloud Shell.

Comme ces commandes CLI ne font pas encore partie de l’ensemble principal de l’interface CLI, ajoutez-les avec les commandes suivantes :

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

1. Créer un groupe de ressources

Exécutez la commande suivante.

az group create --name myResourceGroup --location eastus 

2. Accéder à l’emplacement personnalisé

Obtenez les informations suivantes sur l’emplacement personnalisé auprès de votre administrateur de cluster (voir Créer un emplacement personnalisé).

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

Obtenez l’ID d’emplacement personnalisé pour la prochaine étape.

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

3. Créer une application

L’exemple suivant crée une application Node.js. Remplacez <app-name> par un nom unique au sein de votre cluster (les caractères valides sont a-z, 0-9 et -).

Runtimes pris en charge :

Description Valeur de runtime pour l’interface 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. Déployer du code

Notes

az webapp up n’est pas pris en charge pendant la préversion publique.

Obtenir un exemple d’application Node.js à l’aide de Git et le déployer à l’aide de ZIP deploy. Remplacez <app-name> par le nom de votre application web.

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. Récupérer des journaux de diagnostic à l’aide de Log Analytics

Notes

Pour utiliser Log Analytics, vous devez l’avoir activé lors de l’installation de l’extension App Service. Si vous avez installé l’extension sans Log Analytics, ignorez cette étape.

Accédez à l’espace de travail Log Analytics configuré avec votre extension App service, puis cliquez sur Journaux dans le volet de navigation gauche. Exécutez l’exemple de requête suivant pour afficher les journaux des dernières 72 heures. Remplacez <app-name> par le nom de votre application web. Si une erreur se produit lors de l’exécution d’une requête, réessayez dans 10 à 15 minutes (il peut y avoir un délai pour que Log Analytics commence à recevoir les journaux de votre application).

let StartTime = ago(72h);
let EndTime = now();
AppServiceConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where AppName_s =~ "<app-name>"

Les journaux d’application pour toutes les applications hébergées dans votre cluster Kubernetes sont enregistrés dans l’espace de travail Log Analytics de la table de journaux personnalisée nommée AppServiceConsoleLogs_CL.

Log_s contient les journaux d’applications pour un App Service donné, et AppName_s contient le nom d’application App service. En plus des journaux que vous écrivez à l’aide de votre code d’application, la colonne Log_s contient des journaux sur le démarrage et l’arrêt de conteneur, ainsi que sur les applications de fonction.

Pour en savoir plus sur les requêtes de journal, consultez Bien démarrer avec Kusto.

(Facultatif) Déployer un conteneur personnalisé

Pour créer une application conteneurisée personnalisée, exécutez la commande az webapp create avec --deployment-container-image-name. Pour un dépôt privé, ajoutez --docker-registry-server-user et --docker-registry-server-password.

Par exemple, essayez :

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

Pour mettre à jour l’image une fois l’application créée, consultez Modifier l’image Docker d’un conteneur personnalisé

Étapes suivantes