Partilhar via


Criar uma aplicação do Serviço de Aplicações no Azure Arc (Pré-visualização)

Importante

O Azure App Service em Kubernetes habilitado pelo Arc será desativado em 31 de março de 2026. A partir de 30 de setembro de 2025, os clientes não poderão mais instalar a extensão. Solicitamos que você migre para outras soluções, como o Kubernetes habilitado para Aplicativos de Contêiner do Azure on Arc, a migração também permite que você aproveite o Logic Apps Hybrid para suas cargas de trabalho de integração.

Neste início rápido, você cria um App Service para um cluster Kubernetes habilitado com Azure Arc (pré-visualização). Este cenário suporta apenas aplicações Linux e pode usar um stack de linguagem interno ou um contêiner personalizado.

Pré-requisitos

Adicionar extensões da CLI do Azure

Inicie o ambiente Bash no Azure Cloud Shell.

Como esses comandos da CLI ainda não fazem parte do conjunto principal da CLI, adicione-os com os seguintes comandos:

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

1. Criar um grupo de recursos

Execute o seguinte comando.

az group create --name myResourceGroup --location eastus 

2. Obtenha a localização personalizada

Obtenha as seguintes informações sobre o local personalizado do administrador do cluster (consulte Criar um local personalizado).

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

Obtenha o ID de localização personalizada para o passo seguinte.

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

3. Criar uma aplicação

O exemplo a seguir cria um aplicativo Node.js. Substitua <app-name> por um nome exclusivo dentro do cluster (caracteres válidos são a-z, 0-9e -).

Tempos de execução suportados:

Descrição Valor de tempo de execução para 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. Implante algum código

Nota

az webapp up não é suportado durante a pré-visualização pública.

Obtenha um exemplo de aplicação Node.js usando o Git e, de seguida, implemente-o usando o ZIP deploy. Substitua <app-name> pelo nome do aplicativo 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 deploy --resource-group myResourceGroup --name <app-name> --src-path package.zip

5. Obtenha logs de diagnóstico usando o Log Analytics

Nota

Para usar o Log Analytics, você deve tê-lo habilitado anteriormente ao instalar a extensão do Serviço de Aplicativo. Se você instalou a extensão sem o Log Analytics, ignore esta etapa.

Navegue até ao espaço de trabalho do Log Analytics configurado com a extensão App Service e clique em Logs na barra de navegação à esquerda. Execute a seguinte consulta de exemplo para mostrar os logs das últimas 72 horas. Substitua <app-name> pelo nome do aplicativo Web. Se houver um erro ao executar uma consulta, tente novamente em 10 a 15 minutos (pode haver um atraso para o Log Analytics começar a receber logs do seu aplicativo).

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

Os registos de todas as aplicações hospedadas no seu cluster Kubernetes são armazenados no espaço de trabalho do Log Analytics na tabela de log personalizada chamada AppServiceConsoleLogs_CL.

Log_s contém logs de aplicativo para um determinado Serviço de Aplicativo e AppName_s contém o nome do aplicativo do Serviço de Aplicativo. Além dos logs que você escreve por meio do código do aplicativo, a coluna Log_s também contém logs sobre inicialização, desligamento e aplicativos de função do contêiner.

Você pode saber mais sobre consultas de log em Introdução ao Kusto.

(Opcional) Implantar um contêiner personalizado

Para criar um aplicativo em contêiner personalizado, execute az webapp create com --deployment-container-image-name. Para um repositório privado, adicione --docker-registry-server-user e --docker-registry-server-password.

Por exemplo, tente:

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

Para atualizar a imagem após a criação do aplicativo, consulte Alterar a imagem do Docker de um contêiner personalizado

Próximos passos