Compartilhar via


Tutorial: criar um aplicativo de contêiner do Azure no Kubernetes habilitado para Azure Arc (versão prévia)

Nese tutorial, você criará um Aplicativo de contêiner para um cluster do Kubernetes habilitado para Azure Arc (Versão Prévia) e aprenderá a:

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

Pré-requisitos

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

Adicionar extensões da CLI do Azure

Inicie o ambiente Bash no Azure Cloud Shell.

Iniciar o Cloud Shell em uma nova janela.

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

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 add --name containerapp  --upgrade --yes

Criar um grupo de recursos

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

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

Coletar 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.

CUSTOM_LOCATION_GROUP="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
CUSTOM_LOCATION_NAME="<NAME_OF_CUSTOM_LOCATION>"

Obter uma ID de local personalizada.

CUSTOM_LOCATION_ID=$(az customlocation show \
    --resource-group $CUSTOM_LOCATION_GROUP \
    --name $CUSTOM_LOCATION_NAME \
    --query id \
    --output tsv)

Recuperar a ID do ambiente conectado

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

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

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

Criar um aplicativo

O exemplo a seguir cria um aplicativo Node.js.

 az containerapp create \
    --resource-group $GROUP_NAME \
    --name $CONTAINER_APP_NAME \
    --environment $CONNECTED_ENVIRONMENT_ID \
    --environment-type connected \
    --image mcr.microsoft.com/k8se/quickstart:latest \
    --target-port 80 \
    --ingress external

az containerapp browse --resource-group $GROUP_NAME --name $CONTAINER_APP_NAME

6. Obter logs de diagnóstico usando o Log Analytics

Observação

Uma configuração do Log Analytics é necessária à medida que você Instala a extensão dos Aplicativos de Contêiner para exibir informações de diagnóstico. Se você instalou a extensão sem o Log Analytics, ignore esta etapa.

Navegue até o workspace do Log Analytics configurado com a extensão dos Aplicativos de Contêiner e clique em Logs no painel de navegação esquerdo.

Execute a consulta de exemplo a seguir para mostrar 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 o Log Analytics começar 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 do aplicativo para todos os aplicativos hospedados no cluster do Kubernetes são registrados no workspace do Log Analytics, na tabela de log personalizada chamada ContainerAppConsoleLogs_CL.

  • Log_s contém logs de aplicativos para uma determinada extensão dos Aplicativos de Contêiner
  • AppName_s contém o nome do aplicativo do 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 sobre inicialização, desligamento do contêiner.

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

Próximas etapas