Vytvoření aplikace App Service on Azure Arc (Preview)

V tomto rychlém startu vytvoříte aplikaci App Service pro cluster Kubernetes s podporou Azure Arc (Preview). Tento scénář podporuje jenom linuxové aplikace a můžete použít integrovaný jazykový zásobník nebo vlastní kontejner.

Požadavky

Přidání rozšíření Azure CLI

Spusťte prostředí Bash v Azure Cloud Shellu.

Protože tyto příkazy rozhraní příkazového řádku ještě nejsou součástí základní sady rozhraní příkazového řádku, přidejte je následujícími příkazy:

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

1. Vytvoření skupiny prostředků

Spusťte následující příkaz:

az group create --name myResourceGroup --location eastus 

2. Získání vlastního umístění

Získejte následující informace o vlastním umístění od správce clusteru (viz Vytvoření vlastního umístění).

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

Získejte ID vlastního umístění pro další krok.

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

3. Vytvoření aplikace

Následující příklad vytvoří Node.js aplikaci. Nahraďte <app-name> jedinečným názvem v rámci clusteru (platné znaky jsou a-z, 0-9a -).

Podporované moduly runtime:

Popis Hodnota modulu runtime pro rozhraní příkazového řádku
.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. Nasazení kódu

Poznámka:

az webapp up ve verzi Public Preview se nepodporuje.

Získejte ukázkovou Node.js aplikaci pomocí Gitu a nasaďte ji pomocí nasazení ZIP. Nahraďte <app-name> názvem vaší webové aplikace.

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. Získání diagnostických protokolů pomocí Log Analytics

Poznámka:

Pokud chcete používat Log Analytics, měli byste ho dříve povolit při instalaci rozšíření Služby App Service. Pokud jste rozšíření nainstalovali bez Log Analytics, přeskočte tento krok.

Přejděte do pracovního prostoru služby Log Analytics, který je nakonfigurovaný s rozšířením služby App Service, a v levém navigačním panelu klikněte na Protokoly. Spuštěním následujícího ukázkového dotazu zobrazte protokoly za posledních 72 hodin. Nahraďte <app-name> názvem vaší webové aplikace. Pokud při spuštění dotazu dojde k chybě, zkuste to znovu za 10 až 15 minut (může se stát, že log Analytics začne přijímat protokoly z vaší aplikace).

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

Protokoly aplikací pro všechny aplikace hostované v clusteru Kubernetes se protokolují do pracovního prostoru služby Log Analytics ve vlastní tabulce protokolů s názvem AppServiceConsoleLogs_CL.

Log_s obsahuje protokoly aplikací pro danou službu App Service a AppName_s obsahuje název aplikace App Service. Kromě protokolů, které píšete prostřednictvím kódu aplikace, obsahuje sloupec Log_s také protokoly o spuštění, vypnutí kontejneru a aplikacích funkcí.

Další informace o dotazech protokolu najdete v začátcích s Kusto.

(Volitelné) Nasazení vlastního kontejneru

Pokud chcete vytvořit vlastní kontejnerizovanou aplikaci, spusťte příkaz az webapp create with --deployment-container-image-name. Pro privátní úložiště přidejte --docker-registry-server-user a --docker-registry-server-password.

Zkuste například:

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

Pokud chcete po vytvoření aplikace aktualizovat image, přečtěte si téma Změna image Dockeru vlastního kontejneru.

Další kroky