Temario del curso
Módulo 1: Diseño de Microservicios
• Un buen Límite de Microservicio
• Usando el Diseño Basado en Dominios (DDD)
• Alternativas a los Límites del Negocio (Volatilidad, Datos, Tecnología, Organizacional)
• Descomponer el Monolito
• Descomposición Prematura
• Descomposición por Capa
• Usando Patrones de Descomposición (Estrangulador, Ejecución Paralela, Conmutación de Característica)
• Preocupaciones de Descomposición de Datos (Rendimiento, Integridad, Transacciones)
Módulo 2: Optimización de Docker y el Tiempo de Ejecución
• Elegir la imagen base adecuada
• Minimizar el número de capas
• Usar construcciones en etapas múltiples
• Optimización de imágenes (ordenar argumentos multilínea, etc.)
• Aprovechar la caché de construcción
• Fijar versiones de imagen
• Ajuste fino de la asignación de recursos
• Prácticas seguras de contenedores
• Configuración del tiempo de ejecución para el rendimiento
Módulo 3: Kubernetes y Estrategias de Lanzamiento
Visión General de los Despliegues de Kubernetes
• Crear y ejecutar un Despliegue Inicial
• Opciones de Despliegue en Kubernetes
Realizar Actualizaciones en Cascada (Rolling Updates)
• Comprender las Actualizaciones en Cascada
• Crear y ejecutar una Actualización en Cascada
• Revertir un Despliegue
Realizar Despliegues de Canario (Canary Deployments)
• Comprender los Despliegues de Canario
• Crear y ejecutar un Despliegue de Canario
Realizar Despliegues Blue-Green
• Comprender los Despliegues Blue-Green
• Crear y ejecutar un Despliegue Blue-Green
Ejecutar Trabajos (Jobs) y Tareas Programadas (CronJobs)
• Crear un Job y CronJob
Realizar Tareas de Monitoreo y Solución de Problemas
• Técnicas de Solución de Problemas con kubectl
Módulo 4: Automatización y Eficiencia Operativa
Usar Python para Automatizar Tareas Comunes en Kubernetes
• Usar Python para realizar operaciones administrativas en Kubernetes
• Usar Python para definir Objetos de Configuración
• Usar Python para crear Objetos de Despliegue
• Observar Eventos de Kubernetes usando Python
• Escalar un Despliegue usando Python
Comprender los Desafíos de Automatizar los Despliegues
• Configuración Declarativa con Kubernetes
• Gestionar la Integridad de la Configuración
Usar el Enfoque de GitOps para Automatizar los Despliegues
• Principios de GitOps
• Introducción a Flux
• Instalar Flux en un Clúster de Kubernetes
Configurar Flux para Despliegues Automatizados
• Usar Notificaciones
• Estructura del Repositorio Fuente
Gestionar Actualizaciones de Aplicación con Automatización de Imagen
• Actualizar un Despliegue de Aplicación con Flux
• Escanear Repositorios de Imágenes de Contenedores para Etiquetas
• Definir Políticas para la Selección de la Última Imagen
• Configurar Flux para Realizar Actualizaciones de Imagen Automatizadas
Módulo 5: Observabilidad y Claridad en las Causas Raíz
Capacidades de Registro y Trazado en Kubernetes
• Por Qué el Registro y el Trazado Son Importantes
• Acceder a los Registros de Kubernetes
• Registros de Pods y Contenedores
• Registros del Plano de Control
• Uso de Recursos de Nodos y Pods
Recopilar y Analizar los Registros
• Agregación de Registros
• Visualización de Registros
Trazado Distribuido en Kubernetes
• ¿Qué es el trazado distribuido?
• Usar OpenTelemetry
• Herramientas de Trazado Distribuido
• Instrumentación de una Aplicación
• Usar el Trazado para Encontrar Problemas de Rendimiento
Monitoreo con Prometheus y Grafana
• Conceptos de Observabilidad
• Herramientas de Monitoreo
• Usar la Instrumentación de Prometheus
Casos de Uso Avanzados para el Registro
• Procesamiento de Registros
• Filtrado y Enriquecimiento de los Registros
• Alimentación de Eventos (Event Sourcing)
Módulo 6: Simulación de Crisis en el Clúster y Respuesta a Incidentes
• Comprender los diferentes tipos de fallos en un entorno de clúster
• Simular Fallos de Nodos
• Evicción de Pods y Escenario de Agotamiento de Recursos
• Problemas de Red
• Fallos DNS para el manejo de timeouts de aplicaciones
• Simular un Apagón del Servidor API
• Simular tráfico alto para la estabilidad del sistema
• Fallo de Almacenamiento
• Errores de Configuración
• Comprender los procedimientos de informe de incidentes
Módulo 7: IA para Apoyar la Solución de Problemas
• Beneficios de la IA Generativa para Kubernetes
• Arquitectura del CLI K8sGPT
• Instalar el CLI K8sGPT
• Comandos y Uso de K8sGPT
• Usar Analizadores de K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analizar el Clúster usando K8sGPT
• Analizar Problemas en Tiempo Real usando K8sGPT
• Operador In-Cluster para K8sGPT
Requerimientos
- Conocimientos básicos del línea de comandos de Linux
- Experiencia en desarrollo de aplicaciones o administración de sistemas
- Familiaridad con contenedores (conceptos de Docker)
- Comprensión básica de conceptos de Kubernetes (pods, despliegues, servicios)
- Conocimientos generales de arquitectura de software (por ejemplo, APIs, servicios)
Público objetivo:
- Ingenieros DevOps
- Ingenieros de Fiabilidad del Sitio (SREs)
- Desarrolladores Backend / Software que trabajan con microservicios
- Ingenieros en la Nube y de Plataformas
-
Administradores de Sistemas en transición a entornos de Kubernetes
Testimonios (1)
ejemplos de la vida real
Maria - Fundacja PTA
Curso - Mastering Make: Advanced Workflow Automation and Optimization
Traducción Automática