Sdílet prostřednictvím


Vytvořte aplikaci App Service na Azure Arc (Preview)

Důležité

31. března 2026 bude vyřazena služba Azure App Service on Arc s podporou Kubernetes. Od 30. září 2025 už zákazníci nebudou moct rozšíření nainstalovat. Žádáme vás , abyste migrovali do jiných řešení, jako je Azure Container Apps v Kubernetes s podporou Služby Arc. Migrace také umožňuje využít hybridní služby Logic Apps pro vaše úlohy integrace.

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ískejte vlastní 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 vlastní ID 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é prostředí runtime:

Popis Hodnota runtime pro CLI
.NET Core 8.0 DOTNETCORE|8.0
.NET 5.0 DOTNETCORE|9.0
.NET 5.0 DOTNETCORE|10.0
Node JS 20 NODE|20-lts
Node JS 22 NODE|22 LTS
Node JS 24 NODE|24-lts
Python 3.10 PYTHON|3.10
Python 3.11 PYTHON|3.11
Python 3.12 PYTHON|3.12
Python 3.13 PYTHON|3.13
Python 3.14 PYTHON|3.14
PHP 8.1 PHP|8.1
PHP 8.2 PHP|8.2
PHP 8.3 PHP|8.3
PHP 8.4 PHP|8.4
Java 8 JAVA|8-jre8
Java 11 JAVA|11-java11
Java 17 JAVA|17-java17
Java 21 JAVA|21-java21
Tomcat 9.0 TOMCAT|9.0-jre8
Tomcat 9.0 TOMCAT|9.0-java11
Tomcat 9.0 TOMCAT|9.0-java17
Tomcat 9.0 TOMCAT|9.0-java21
Tomcat 10.1 TOMCAT|10.1-java11
Tomcat 10.1 TOMCAT|10.1-java17
Tomcat 10.1 TOMCAT|10.1-java21
Tomcat 11.0 TOMCAT|11.0-java11
Tomcat 11.0 TOMCAT|11.0-java17
Tomcat 11.0 TOMCAT|11.0-java21
 az webapp create \
    --resource-group myResourceGroup \
    --name <app-name> \
    --custom-location $customLocationId \
    --runtime 'NODE|24-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 deploy --resource-group myResourceGroup --name <app-name> --src-path 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 (Log Analytics možná začne v tomto intervalu 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 všech aplikací hostovaných v clusteru Kubernetes jsou protokolovány do pracovního prostoru 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 az webapp create s --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/staticsite:latest

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

Další kroky