Descripción:
GitOps usa los repositorios de Git como única fuente de verdad para ofrecer una infraestructura como código. El código enviado verifica el proceso de integración continua (CI), mientras que el proceso de distribución continua (CD) comprueba y aplica los requisitos en torno a la seguridad, la infraestructura como código o cualquier otro límite establecido para el marco de la aplicación. Dado que se hace un seguimiento de todos los cambios en el código, resulta más sencillo implementar las actualizaciones. Además, se puede usar el control de versiones para restaurar el sistema, en caso de ser necesario.
GitOps ofrece:
- Un flujo de trabajo estándar para el desarrollo de las aplicaciones
- Mayor seguridad para definir los requisitos de las aplicaciones por anticipado
- Confiabilidad mejorada con un sistema de supervisión y control de versiones a través de Git
- Uniformidad en todos los clústeres, las nubes y los entornos locales
- Se pueden combinar otras herramientas para diseñar un marco de GitOps, como los repositorios de Git, Kubernetes, las herramientas de integración y distribución continuas (CI/CD) y las de gestión de la configuración.
Objetivo del curso: Este curso guiará a los participantes a través de todos los pasos necesarios para el éxito práctico en el desarrollo y despliegue de aplicaciones con GitOps. Una vez finalice este curso, tendrá una ventaja en los ciclos de desarrollo en Kubernetes siguiendo el enfoque GitOps.
Aprenderás a:
- Desarrollar y desplegar aplicaciones en Kubernetes
- Comprender los conceptos básicos de CI/CD y automatización en Kubernetes, y aplicar prácticas de GitOps para implementar ciclos de desarrollo en la plataforma
- Preparar la aplicación para su despliegue en múltiples entornos y/o múltiples clusters Kubernetes
- Desplegar aplicaciones para múltiples entornos utilizando GitOps y ArgoCD, o para clusters Kubernetes.
- Crear pipelines nativos de Kubernetes con Tekton
- Proporcionar y ampliar las habilidades DevOps para el equipo que trabaja en Kubernetes
- Utilizar la entrega progresiva para poner sus aplicaciones en producción
Requisitos de ingreso.
Comprensión de textos en idioma inglés.
Temario:
- Introducción
- ¿Qué es GitOps?
- ¿Por qué GitOps?
- Kubernetes CI/CD
- Despliegue de aplicaciones con GitOps en Kubernetes
- DevOps y Agilidad
- Requisitos
- Inscripción en un Registro de Contenedores
- Registro de un repositorio Git
- Creación de un clúster local de Kubernetes
- Contenedores
- Creación de un Contenedor con Docker
- Creación de un contenedor con Dockerless Jib
- Construir un contenedor con Buildah
- Construir un contenedor con Buildpacks
- Creación de un contenedor con Shipwright y kaniko en Kubernetes
- Personalizar
- Uso de Kustomize para Desplegar Recursos Kubernetes
- Actualización de la Imagen del Contenedor en Kustomize
- Actualización de cualquier campo de Kubernetes en Kustomize
- Despliegue en Múltiples Entornos
- Generación de ConfigMaps en Kustomize
- Timón
- Creación de un proyecto Helm
- Reutilización de sentencias entre plantillas
- Actualización de una Imagen de Contenedor en Helm
- Empaquetando y Distribuyendo una Carta Helm
- Despliegue de una Carta desde un Repositorio
- Desplegar un Gráfico con una Dependencia
- Lanzamiento automático de una actualización continua
- CI/CD nativo en la nube
- Instalar Tekton
- Crear una Tarea Hello World
- Crear una tarea para compilar y empaquetar una aplicación desde Git
- Creación de una tarea para compilar y empaquetar una aplicación desde Git privado
- Containerizar una aplicación utilizando una tarea Tekton y Buildah
- Despliegue de una Aplicación en Kubernetes Utilizando una Tarea Tekton
- Creación de una Canalización Tekton para Construir e Implementar una Aplicación en Kubernetes
- Uso de Disparadores Tekton para Compilar y Empaquetar una Aplicación Automáticamente Cuando se Produce un Cambio en Git
- Actualizar un Recurso Kubernetes Utilizando Kustomize y Empujar el Cambio a Git
- Actualización de un Recurso Kubernetes mediante Helm y Creación de una Pull Request
- Uso de Drone para Crear un Pipeline para Kubernetes
- Uso de Acciones de GitHub para CI
- Argo CD
- Despliegue de una aplicación utilizando Argo CD
- Sincronización automática
- Integración personalizada
- Integración Helm
- Actualización de imágenes
- Despliegue desde un repositorio Git privado
- Ordenar manifiestos Kubernetes
- Definir ventanas de sincronización
- Temas Avanzados
- Cifrar Datos Sensibles (Secretos Sellados)
- Encriptar Secretos con ArgoCD (ArgoCD + Bóveda de HashiCorp + Secreto Externo)
- Desencadenar el despliegue de una aplicación automáticamente (Argo CD Webhooks)
- Despliegue en Múltiples Clusters
- Despliegue de una Pull Request en un Cluster
- Utilizar técnicas avanzadas de despliegue