Tutorial: Implementación de aplicaciones en AKS habilitadas por Azure Arc

Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server

Puede compilar e implementar sus propias aplicaciones y servicios en un clúster de Kubernetes cuando use Azure Kubernetes Service habilitado por Azure Arc. Kubernetes proporciona una plataforma distribuida para aplicaciones en contenedores. Puede permitir que el clúster administre la disponibilidad y la conectividad.

En este tutorial, la parte cuatro de siete, describe cómo puede implementar una aplicación de ejemplo en un clúster de Kubernetes en AKS. Aprenderá a:

  • Actualizar los archivos de manifiesto de Kubernetes
  • Implementación de una aplicación en Kubernetes
  • Prueba de la aplicación

Los tutoriales posteriores describen cómo escalar y actualizar esta aplicación.

En esta guía rápida se presupone un conocimiento básico de los conceptos de Kubernetes.

Antes de empezar

En los tutoriales anteriores se describe cómo empaquetar una aplicación en una imagen de contenedor y, a continuación, cargar la imagen en el Azure Container Registry y crear un clúster de Kubernetes.

Para completar este tutorial, necesita el archivo de manifiesto azure-vote-all-in-one-redis.yaml kubernetes creado previamente. Este archivo se descargó con el código fuente de la aplicación en un tutorial anterior. Compruebe que ha clonado el repositorio y que ha cambiado los directorios en el repositorio clonado. Si no ha realizado estos pasos, comience con el Tutorial 1: Creación de imágenes de contenedor.

Para realizar este tutorial es necesaria la versión 2.0.53 o superior de la CLI de Azure. Ejecute az --version para encontrar la versión. Si necesita instalar o actualizar la CLI de Azure, consulte Instalación de la CLI de Azure.

Actualización del archivo de manifiesto

En estos tutoriales, una instancia de Azure Container Registry almacena la imagen de contenedor para la aplicación de ejemplo. Para implementar la aplicación, debe actualizar el nombre de la imagen en el archivo de manifiesto de Kubernetes para incluir el nombre del servidor de inicio de sesión del registro de contenedor.

Obtenga el nombre del servidor de inicio de sesión de Azure Container Registry mediante el comando az acr list, como se indica a continuación:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

El archivo de manifiesto de ejemplo del repositorio de GitHub que ha clonado en el primer tutorial usa el nombre del servidor de inicio de sesión de Microsoft. Asegúrese de que está en el directorio azure-voting-app-redis clonado y, a continuación, abra el archivo de manifiesto con un editor de texto, como el Bloc de notas:

notepad azure-vote-all-in-one-redis.yaml

Reemplace microsoft por el nombre del servidor de inicio de sesión de Azure Container Registry. El nombre de la imagen aparece en la línea 60 del archivo de manifiesto. En el ejemplo siguiente se muestra el nombre de imagen predeterminado:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Proporcione su propio nombre de servidor de inicio de sesión Azure Container Registry para que el archivo de manifiesto tenga un aspecto similar al del ejemplo siguiente:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Guarde y cierre el archivo.

Implementación de la aplicación

Para implementar la aplicación, use el comando kubectl apply. Este comando analiza el archivo de manifiesto y crea los objetos de Kubernetes definidos. Especifique el archivo de manifiesto de ejemplo, como se muestra en el ejemplo siguiente:

kubectl apply -f azure-vote-all-in-one-redis.yaml

En la salida de ejemplo siguiente se muestran los recursos creados correctamente en el clúster de Kubernetes:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Prueba de la aplicación

Cuando se ejecuta la aplicación, el servicio Kubernetes expone el front-end de la aplicación a Internet. Este proceso puede tardar unos minutos en completarse.

Para supervisar el progreso, use el comando kubectl get service con el --watch argumento :

kubectl get service azure-vote-front --watch

En un primer momento, el parámetro EXTERNAL-IP del servicio azure-vote-front se muestra como pendiente:

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Cuando la dirección EXTERNAL-IP cambie de pendiente a una dirección IP pública real, use CTRL-C para detener el kubectl proceso de watch. En la salida del ejemplo siguiente se muestra una dirección IP pública válida asignada al servicio:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

Para ver la aplicación en acción, abra un explorador web en la dirección IP externa del servicio:

Captura de pantalla que muestra la imagen de contenedor de Azure Voting App que se ejecuta en un clúster de AKS abierto en un explorador web local.

Si no se cargó la aplicación, esto se puede deber a un problema de autorización con el registro de la imagen. Para ver el estado de los contenedores, use el comando kubectl get pods. Si las imágenes del contenedor no se pueden extraer, consulte Autenticación con Azure Container Registry desde Azure Kubernetes Service.

Pasos siguientes

En este tutorial, ha implementado una aplicación de voto de Azure de ejemplo en un clúster de Kubernetes en AKS habilitado por Arc. Ha aprendido a:

  • Actualizar los archivos de manifiesto de Kubernetes
  • Ejecutar una aplicación en Kubernetes
  • Prueba de la aplicación

Pase al siguiente tutorial para aprender a escalar una aplicación Kubernetes y la infraestructura de Kubernetes subyacente.