Inicio rápido: Implementación de una aplicación en un nuevo clúster automático de Azure Kubernetes Service (AKS) desde un repositorio de código

Se aplica a: ✔️ AKS Automatic

Use implementaciones automatizadas para compilar e implementar una aplicación desde un repositorio de código en un clúster automático de AKS nuevo o existente. Las implementaciones automatizadas simplifican el proceso de configuración de un flujo de trabajo de acción de GitHub para compilar e implementar el código. Una vez conectado, cada nueva confirmación que realice iniciará la canalización. Las implementaciones automatizadas se basan en draft.sh. Al crear un nuevo flujo de trabajo de implementación, puede usar un Dockerfile existente, generar un Dockerfile, usar manifiestos de Kubernetes existentes o generar manifiestos de Kubernetes. Los manifiestos generados se crean teniendo en cuenta los procedimientos recomendados de seguridad y resistencia. AKS Automatic también incluye un SLA de preparación de pods que garantiza que el 99,9% de las operaciones de preparación de pods que califican se completen en 5 minutos, garantizando una infraestructura fiable y autorreparable para tus aplicaciones.

En este inicio rápido va a aprender a:

  • Conéctese a un repositorio de código.
  • Inclusión en contenedores de la aplicación.
  • Configure los manifiestos de Kubernetes.
  • Crear un clúster de AKS Automatic.
  • Implemente la aplicación a través de una solicitud de incorporación de cambios.

Antes de empezar

Importante

A partir de AKS 1.36, los nuevos clústeres automáticos de AKS habilitarán de forma predeterminada la API de puerta de enlace de Kubernetes a través del complemento de enrutamiento de aplicaciones en lugar de Entrada NGINX administrada con el complemento de enrutamiento de aplicaciones debido a la Retirada de NGINX de entrada ascendente.

Los clústeres automáticos existentes no se ven afectados, pero deben comenzar la migración a la API de puerta de enlace de Kubernetes a través del complemento de enrutamiento de aplicaciones.

Limitaciones

Las limitaciones siguientes se aplican a los clústeres automáticos de AKS:

  • AKS Automatic está disponible con carácter general en las siguientes regiones: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus2, westus3.
    • Los nuevos clústeres automáticos de AKS habilitan de forma predeterminada grupos de nodos del sistema administrados y LocalDNS. No se pueden crear clústeres automáticos de AKS sin grupos de nodos del sistema administrados en ninguna región.
  • El clúster automático de AKS tiene node resource group lockdown preconfigurado, que no permite cambios en el grupo de recursos MC_, lo que impide vínculos de red virtual en la zona de DNS privado predeterminada. Para escenarios cross-VNet o DNS personalizados, utiliza red personalizada y DNS privado siguiendo Crear un clúster privado de Azure Kubernetes Service (AKS) Automatic en una redvirtual personalizada.
  • se requiere CLI de Azure versión 2.86.0 o posterior. Para buscar la versión, ejecute el az --version comando . Si necesita instalar o actualizar, consulte Install CLI de Azure.
  • No se admiten las siguientes extensiones:
  • No se admiten los nodos de Windows.
  • No se admite la migración de la SKU base de AKS a la SKU automática.
  • No se admiten las migraciones entre clústeres automáticos de AKS sin grupos de nodos del sistema administrado y clústeres automáticos de AKS con grupos de nodos del sistema administrado.

Traiga el código fuente de la aplicación

Para implementar una aplicación desde un repositorio de código, comience en la página principal Azure portal.

Recorte de pantalla que muestra la selección de

  1. Busque los Servicios de Kubernetes en la barra de búsqueda superior.
  2. Seleccione Servicioskubernetes en los resultados de búsqueda.
  3. Seleccione el botón Crear y seleccione Implementar aplicación.

Conexión al repositorio de código fuente

Crear y automatizar el flujo de trabajo de implementación y autorizarlo para conectarse al repositorio de código fuente deseado.

  1. En la pestaña Aspectos básicos, seleccione Implementar la aplicación.
  2. En Project details, elija el Subscription, Resource Group y Region.
  3. En Repository details, escriba un nombre para el flujo de trabajo y seleccione Authorize access para conectarse al repositorio de GitHub deseado.
  4. Elija el repositorio y la rama.
  5. Seleccione el botón Siguiente.

Elección de la configuración de la imagen de contenedor

Para preparar una aplicación para Kubernetes, debe compilarla en una imagen de contenedor y almacenarla en un registro de contenedor. Use un Dockerfile para proporcionar instrucciones sobre cómo compilar la imagen de contenedor. Si el repositorio de código fuente aún no tiene un Dockerfile, las implementaciones automatizadas pueden generar uno automáticamente; de lo contrario, puede usar un Dockerfile existente.

Use implementaciones automatizadas para generar un Dockerfile para muchos lenguajes y marcos como Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift y Rust. La compatibilidad con idiomas se basa en lo que está disponible en draft.sh.

  1. Seleccione Contenedor automático (generar Dockerfile) para la configuración del contenedor.
  2. Seleccione la ubicación donde se va a guardar el Dockerfile generado en el repositorio.
  3. Elija el entorno de la aplicación en la lista de lenguajes y marcos admitidos.
  4. Escriba el puerto de la aplicación.
  5. Seleccione una Azure Container Registry o cree una nueva. Este registro se usa para almacenar la imagen de aplicación compilada. A la identidad de kubelet del clúster automático de AKS se le conceden permisos AcrPull en ese registro.

Elección de la configuración del manifiesto de Kubernetes

Una aplicación que se ejecuta en Kubernetes consta de muchos componentes primitivos de Kubernetes. Estos componentes describen qué imagen de contenedor usar, cuántas réplicas se van a ejecutar, si se requiere una dirección IP pública para exponer la aplicación, etc. Para más información, consulte la documentación oficial de Documentación de Kubernetes. Si el repositorio de código fuente aún no tiene los manifiestos básicos de Kubernetes para implementar, las implementaciones automatizadas pueden generarlos automáticamente; de lo contrario, puede usar un conjunto de manifiestos existentes. También puede elegir un gráfico de Helm existente.

Use implementaciones automatizadas para generar un conjunto de archivos de manifiesto básicos de Kubernetes para que la aplicación esté en funcionamiento. En este momento, Implementaciones automatizadas crea un Deployment, un Service, y un ConfigMap.

Los manifiestos generados están diseñados para aplicar recomendaciones de medidas de seguridad de implementación, como:

Para generar manifiestos de Kubernetes:

  1. Seleccione Generar archivos de implementación de aplicaciones para las opciones de implementación.
  2. Escriba el puerto de la aplicación. Este puerto se usa en el objeto generado Service.
  3. Seleccione la ubicación donde se guardarán los manifiestos de Kubernetes generados en el repositorio.
  4. Seleccione el botón Siguiente.

Seleccione dónde quiere implementar la aplicación

Si aún no tiene un clúster, puede crear un nuevo clúster automático de AKS como parte de esta implementación.

  1. Seleccione Crear clúster de Kubernetes automático para la configuración del clúster.
  2. Escriba un nombre de clúster.
  3. Elija la programación de mantenimiento de actualizaciones automáticas o deje el valor predeterminado seleccionado.
  4. Escriba el Espacio de nombres de Kubernetes donde se implementa la aplicación.
  5. Elija el nivel de supervisión y registro o deje el valor predeterminado seleccionado.
  6. Seleccione el botón Siguiente.

Revisión de la configuración e implementación

Revise la configuración del clúster, la aplicación y los manifiestos de Kubernetes y a continuación, seleccione Implementar. La creación de un clúster tarda unos minutos, no salga de la página de implementación.

Recorte de pantalla que muestra la implementación de la aplicación.

  1. Se crea un nuevo clúster automático de AKS o se configura uno existente.
  2. Se crea un registro de contenedor o se configura uno existente con el clúster.
  3. Las credenciales federadas se crean para permitir que el flujo de trabajo de acción de GitHub se implemente en el clúster.
  4. Se crea una solicitud de incorporación de cambios en el repositorio de código con los archivos generados y el flujo de trabajo.

Revisión y combinación de la solicitud de cambios

Cuando la implementación se realice correctamente, seleccione el botón Ver solicitud de incorporación de cambios para ver los detalles de la solicitud de incorporación de cambios generada en el repositorio de código.

Captura de pantalla de un pull request en GitHub.

  1. Revise los cambios en Archivos modificados y realice las modificaciones deseadas.
  2. Seleccione Combinar solicitud de incorporación de cambios para combinar los cambios en el repositorio de código.

La combinación del cambio ejecuta el flujo de trabajo de Acciones de GitHub que compila la aplicación en una imagen de contenedor, la almacena en Azure Container Registry e impleméntela en el clúster.

Captura de pantalla que muestra el flujo de trabajo de Acciones de GitHub en curso.

Comprobación de los recursos implementados

Una vez completada la canalización, puede revisar el Kubernetes creado Service en el Azure Portal seleccionando Servicios y entradas en el menú de servicio de Recursos de Kubernetes.

Recorte de pantalla del panel Servicios y entradas.

Al seleccionar la dirección IP externa, se abrirá una nueva página del explorador con la aplicación en ejecución.

Recorte de pantalla que muestra la aplicación Contoso Air en ejecución.

Eliminar recursos

Una vez que haya terminado con el clúster, puede eliminarlo para evitar incurrir en cargos Azure.

  1. En el portal de Azure, vaya al grupo de recursos.
  2. Seleccione Eliminar grupo de recursos.
  3. Escriba el nombre del grupo de recursos para confirmar la eliminación y seleccione Delete.
  4. En el cuadro de diálogo Confirmación de eliminación, seleccione Eliminar.

Pasos siguientes

En este inicio rápido, ha implementado una aplicación en un clúster de Kubernetes mediante AKS Automatic y ha configurado una canalización de integración e implementación continua (CI/CD) desde un repositorio de código.

Para obtener más información sobre AKS Automatic, continúe con la introducción.