Introducción
Con el lanzamiento de Sitecore 10, ahora admitimos la ejecución de la aplicación dentro de contenedores y la implementación en Kubernetes (K8s). En un artículo anterior, "Sitecore, Docker y la integración continua", repasamos cómo crear automáticamente sus imágenes. En este artículo, consideramos las etapas finales que se ejecutan una vez que las imágenes recién creadas están disponibles en Container Registry. Sin embargo, antes de sumergirnos, queremos destacar algunos recursos importantes para los desarrolladores. Puede descargar un conjunto completo de especificaciones de K8s desde dev.sitecore.com. También encontrará una guía de instalación completa que lo llevará de una instancia limpia de K8s a una instancia completamente implementada y en ejecución de Sitecore 10.
Si es nuevo en Kubernetes y no está familiarizado con los conceptos de clústeres, nodos, pods y los otros elementos que lo sustentan, probablemente querrá ponerse al día antes de continuar. El sitio de Kubernetes tiene algunos tutoriales excelentes para Presentarle los conceptos clave.
Una vez que esté familiarizado con cómo implementar Sitecore en K8s, puede usar las mismas especificaciones como base para crear y automatizar su implementación.
Mira el video que acompaña a este artículo a continuación, que incluye demostraciones de estos conceptos. O míralo en Discover Sitecore en YouTube.
Automatización de una implementación basada en contenedores
La automatización de una implementación basada en contenedores es un poco diferente a una implementación típica. Puede ver el flujo en este diagrama del proceso completo de un extremo a otro:
Como se dijo anteriormente, en este artículo consideramos las etapas finales que se ejecutan una vez que las imágenes recién creadas están disponibles en Container Registry:
Una vez que se compilan las imágenes, las especificaciones se actualizan para hacer referencia a la nueva etiqueta de imagen y estas se envían a la instancia de K8s. K8s creará nuevos pods basados en las nuevas imágenes de contenedor y cambiará el tráfico a esos nuevos pods a una velocidad controlada. También puede controlar cómo se realiza este cambio: tal vez desee realizar una implementación azul/verde con un cambio manual, o tal vez desee realizar una implementación Canary para que solo algunos usuarios vean la nueva versión. Ambos enfoques, junto con otros enfoques de implementación, se pueden lograr cuando se trabaja con K8.
Implementación de los cambios de contenido
Ninguna implementación de Sitecore está completa sin una actualización de contenido. Afortunadamente, la nueva CLI de Sitecore lanzada con la versión 10 hace que esto sea muy fácil. Con solo un par de comandos, puede autenticarse con el servidor de identidad, enviar los cambios de contenido y, finalmente, realizar una publicación completa de los cambios.
Esto puede darle la confianza de que lo que está en su sistema de control de código fuente es lo que se está ejecutando en producción, no solo desde una perspectiva de código, sino también incluyendo su contenido propiedad del desarrollador.
Ejemplo de sitio MVP
Si desea ver un ejemplo completo de extremo a extremo de este proceso, puede verlo en el nuevo Repositorio del sitio MVP que lanzamos como código abierto recientemente. En este repositorio encontrarás un definición completa de YAML para una implementación en Azure Kubernetes Service (AKS).