Share via


Tutorial: Creación de una instancia de Azure Container Apps en Kubernetes habilitado para Azure Arc (versión preliminar)

En este tutorial, creará una aplicación contenedora en un clúster de Kubernetes habilitado para Azure Arc (versión preliminar) y aprenderá a:

  • Creación de una aplicación de contenedor en Azure Arc
  • Visualización de los diagnósticos de la aplicación

Requisitos previos

Antes de continuar con la creación de una aplicación de contenedor, primero debe configurar un clúster de Kubernetes habilitado para Azure Arc para ejecutar Azure Container Apps.

Adición de extensiones de la CLI de Azure

Inicie el entorno de Bash en Azure Cloud Shell.

Launch Cloud Shell in a new window.

A continuación, agregue las extensiones necesarias de la CLI de Azure.

Advertencia

El comando siguiente instala una extensión de Container Apps personalizada que no se puede usar con el servicio en la nube pública. Debe desinstalar la extensión si vuelve a la nube pública de 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

Crear un grupo de recursos

Cree un grupo de recursos para los servicios creados en este tutorial.

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

Obtención de información de ubicación personalizada

Obtenga el siguiente grupo de ubicación, nombre e identificador del administrador del clúster. Consulte Creación de una ubicación personalizada para obtener más información.

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

Obtenga el identificador de ubicación personalizado.

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

Recuperación del identificador de entorno conectado

Ahora que tiene el identificador de ubicación personalizado, puede consultar el entorno conectado.

Un entorno conectado es en gran medida el mismo que un entorno estándar de Container Apps, pero las restricciones de red se controlan mediante el clúster de Kubernetes habilitado para Arc subyacente.

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

Crear una aplicación

El ejemplo siguiente crea una aplicación 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

Obtención de registros de diagnóstico mediante Log Analytics

Nota:

Se requiere una configuración de Log Analytics al instalar la extensión Container Apps para ver la información de diagnóstico. Si instaló la extensión sin Log Analytics, omita este paso.

Vaya al área de trabajo de Log Analytics configurada con la extensión Container Apps y, a continuación, seleccione Registros en el panel de navegación izquierdo.

Ejecute la consulta de ejemplo siguiente para mostrar los registros de las últimas 72 horas.

Si se produce un error al ejecutar una consulta, inténtelo de nuevo en 10-15 minutos. Puede haber un retraso para que Log Analytics empiece a recibir registros de la aplicación.

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

Los registros de aplicación de todas las aplicaciones hospedadas en el clúster de Kubernetes se registran en el área de trabajo de Log Analytics en la tabla de registros personalizada denominada ContainerAppConsoleLogs_CL.

  • Log_s contiene registros de aplicación para una extensión de Container Apps determinada
  • AppName_s contiene el nombre de la aplicación contenedora. Además de los registros que escriba a través del código de la aplicación, la columna Log_s también contiene registros en el inicio y apagado del contenedor.

Puede obtener más información sobre las consultas de registro en Introducción a Kusto.

Pasos siguientes