Udostępnij przez


Utwórz aplikację App Service w usłudze Azure Arc (wersja testowa)

Ważne

Usługa Azure App Service na platformie Kubernetes z obsługą usługi Arc zostanie wycofana 31 marca 2026 r. Od 30 września 2025 r. klienci nie będą już mogli instalować rozszerzenia. Żądamy migracji do innych rozwiązań, takich jak Azure Container Apps na Arc-enabled Kubernetes; migracja umożliwia również korzystanie z hybrydowej usługi Logic Apps dla obciążeń integracji.

W tym szybkim starcie utworzysz aplikację App Service w klastrze Kubernetes z obsługą Azure Arc (wersja zapoznawcza). Ten scenariusz obsługuje tylko aplikacje systemu Linux i można użyć wbudowanego stosu językowego lub niestandardowego kontenera.

Wymagania wstępne

Dodawanie rozszerzeń Azure CLI

Uruchom środowisko powłoki Bash w usłudze Azure Cloud Shell.

Ponieważ te polecenia interfejsu wiersza polecenia nie są jeszcze częścią podstawowego zestawu interfejsu wiersza polecenia, dodaj je za pomocą następujących poleceń:

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

1. Tworzenie grupy zasobów

Uruchom następujące polecenie.

az group create --name myResourceGroup --location eastus 

Uzyskaj lokalizację niestandardową

Uzyskaj następujące informacje o lokalizacji niestandardowej od administratora klastra (zobacz Tworzenie lokalizacji niestandardowej).

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

Pobierz identyfikator lokalizacji niestandardowej dla następnego kroku.

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

3. Tworzenie aplikacji

Poniższy przykład tworzy aplikację Node.js. Zastąp <app-name> nazwą, która jest unikatowa w twoim klastrze (prawidłowe znaki to a-z, 0-9 i -).

Obsługiwane środowiska uruchomieniowe:

opis Wartość środowiska uruchomieniowego dla interfejsu wiersza polecenia
.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. Wdrażanie kodu

Uwaga

az webapp up nie jest obsługiwany w publicznej wersji zapoznawczej.

Pobierz przykładową aplikację Node.js przy użyciu narzędzia Git i wdróż ją przy użyciu narzędzia ZIP deploy. Zastąp <app-name> nazwą swojej aplikacji internetowej.

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. Pobieranie dzienników diagnostycznych przy użyciu usługi Log Analytics

Uwaga

Aby korzystać z usługi Log Analytics, należy ją wcześniej włączyć podczas instalowania rozszerzenia usługi App Service. Jeśli rozszerzenie zainstalowano bez usługi Log Analytics, pomiń ten krok.

Przejdź do obszaru roboczego usługi Log Analytics skonfigurowanego przy użyciu rozszerzenia usługi App Service, a następnie kliknij pozycję Dzienniki w obszarze nawigacji po lewej stronie. Uruchom następujące przykładowe zapytanie, aby wyświetlić dzienniki w ciągu ostatnich 72 godzin. Zastąp <app-name> nazwą swojej aplikacji internetowej. Jeśli podczas uruchamiania zapytania wystąpi błąd, spróbuj ponownie w ciągu 10–15 minut (może wystąpić opóźnienie, aby usługa Log Analytics zaczęła odbierać dzienniki z aplikacji).

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

Dzienniki aplikacji dla wszystkich aplikacji hostowanych w klastrze Kubernetes są rejestrowane w obszarze roboczym usługi Log Analytics w niestandardowej tabeli dzienników o nazwie AppServiceConsoleLogs_CL.

Log_s zawiera dzienniki aplikacji dla danej usługi App Service, a AppName_s zawiera nazwę aplikacji usługi App Service. Oprócz dzienników zapisywanych za pośrednictwem kodu aplikacji kolumna Log_s obejmuje również logi dotyczące uruchamiania, zamykania oraz Function Apps.

Możesz dowiedzieć się więcej o zapytaniach dzienników w sekcji Wprowadzenie do Kusto.

(Opcjonalnie) Wdrażanie kontenera niestandardowego

Aby utworzyć niestandardową aplikację konteneryzowaną, uruchom polecenie az webapp create za pomocą polecenia --deployment-container-image-name. W przypadku repozytorium prywatnego dodaj --docker-registry-server-user i --docker-registry-server-password.

Spróbuj na przykład:

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

Aby zaktualizować obraz po utworzeniu aplikacji, odwiedź Zmiana obrazu Docker niestandardowego kontenera

Następne kroki