Share via


Tutorial: Criar um Aplicativo de Contêiner do Azure no Kubernetes habilitado para Azure Arc (Visualização)

Neste tutorial, você cria um aplicativo Container para um cluster Kubernetes habilitado para Azure Arc (Visualização) e aprende a:

  • Criar um aplicativo de contêiner no Azure Arc
  • Exibir o diagnóstico do seu aplicativo

Pré-requisitos

Antes de continuar a criar um aplicativo de contêiner, primeiro você precisa configurar um cluster Kubernetes habilitado para Azure Arc para executar os Aplicativos de Contêiner do Azure.

Adicionar extensões da CLI do Azure

Inicie o ambiente Bash no Azure Cloud Shell.

Launch Cloud Shell in a new window.

Em seguida, adicione as extensões necessárias da CLI do Azure.

Aviso

O comando a seguir instala uma extensão personalizada de Aplicativos de Contêiner que não pode ser usada com o serviço de nuvem pública. Você precisará desinstalar a extensão se voltar para a nuvem pública do Azure.

az extension add --upgrade --yes --name customlocation
az extension remove --name containerapp
az extension add -s https://aka.ms/acaarccli/containerapp-latest-py2.py3-none-any.whl --yes

Criar um grupo de recursos

Crie um grupo de recursos para os serviços criados neste tutorial.

myResourceGroup="my-container-apps-resource-group"
az group create --name $myResourceGroup --location eastus 

Obter informações de localização personalizadas

Obtenha o seguinte grupo de locais, nome e ID do administrador do cluster. Consulte Criar um local personalizado para obter detalhes.

customLocationGroup="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
customLocationName="<NAME_OF_CUSTOM_LOCATION>"

Obtenha o ID de local personalizado.

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

Recuperar ID do ambiente conectado

Agora que você tem a ID de local personalizada, pode consultar o ambiente conectado.

Um ambiente conectado é basicamente o mesmo que um ambiente padrão de Aplicativos de Contêiner, mas as restrições de rede são controladas pelo cluster Kubernetes subjacente habilitado para Arc.

myContainerApp="my-container-app"
myConnectedEnvironment=$(az containerapp connected-env list --custom-location $customLocationId -o tsv --query '[].id')

Criar uma aplicação

O exemplo a seguir cria um aplicativo Node.js.

 az containerapp create \
    --resource-group $myResourceGroup \
    --name $myContainerApp \
    --environment $myConnectedEnvironment \
    --environment-type connected \
    --image mcr.microsoft.com/k8se/quickstart:latest \
    --target-port 80 \
    --ingress 'external'

az containerapp browse --resource-group $myResourceGroup --name $myContainerApp

Obter logs de diagnóstico usando o Log Analytics

Nota

Uma configuração do Log Analytics é necessária quando você instala a extensão Container Apps para exibir informações de diagnóstico. Se você instalou a extensão sem o Log Analytics, ignore esta etapa.

Navegue até o espaço de trabalho do Log Analytics configurado com a extensão Aplicativos de contêiner e selecione Logs na navegação à esquerda.

Execute a seguinte consulta de exemplo para mostrar os logs das últimas 72 horas.

Se houver um erro ao executar uma consulta, tente novamente em 10 a 15 minutos. Pode haver um atraso para que o Log Analytics comece a receber logs do seu aplicativo.

let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"

Os logs de aplicativos para todos os aplicativos hospedados em seu cluster Kubernetes são registrados no espaço de trabalho do Log Analytics na tabela de log personalizada chamada ContainerAppConsoleLogs_CL.

  • Log_s contém logs de aplicativos para uma determinada extensão de Aplicativos de Contêiner
  • AppName_s contém o nome do aplicativo Aplicativo de Contêiner. Além dos logs que você escreve por meio do código do aplicativo, a coluna Log_s também contém logs na inicialização e no desligamento do contêiner.

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

Próximos passos