Contacta con nosotros

Temario del curso

Día 1 – Contenedores y Gestión de Imágenes

Introducción a las Plataformas de Contenedores

  • Comparación entre el despliegue tradicional de aplicaciones y el despliegue basado en contenedores
  • Contenedores y máquinas virtuales
  • Entornos de ejecución de contenedores (runtimes) y motores de contenedores
  • El rol de Docker, Kubernetes y OpenShift
  • Arquitecturas comunes de plataformas de contenedores
  • Flujos de trabajo de desarrollo, pruebas y producción

Trabajo con Contenedores

  • Ejecutar y gestionar contenedores
  • Ciclo de vida de un contenedor
  • Iniciar, detener y eliminar contenedores
  • Ejecutar comandos dentro de contenedores
  • Variables de entorno
  • Mapeo de puertos
  • Registros (logs) del contenedor
  • Uso de recursos e inspección de procesos

Construcción de Imágenes de Contenedores

  • Estructura y capas de la imagen
  • Creación de Dockerfiles y Containerfiles
  • Selección de imágenes base
  • Añadido de dependencias de la aplicación
  • Configuración de puntos de entrada y comandos
  • Caché de imágenes
  • Reducción del tamaño de la imagen
  • Construcción de imágenes reproducibles

Registros de Contenedores

  • Registros públicos y privados
  • Etiquetado y versionado de imágenes
  • Subida (push) y descarga (pull) de imágenes
  • Autenticación de imágenes
  • Retención y limpieza de imágenes
  • Consideraciones básicas de seguridad de imágenes

Red y Almacenamiento en Contenedores

  • Conceptos de red de contenedores
  • Red de puente (bridge networking)
  • Exposición de puertos
  • Comunicación entre contenedores
  • Montajes de enlace y volúmenes
  • Datos persistentes del contenedor
  • Consideraciones para copias de seguridad

Ejercicios Prácticos

  • Ejecutar e inspeccionar contenedores
  • Construir una imagen de aplicación
  • Configurar puertos y variables de entorno
  • Publicar una imagen en un registro
  • Almacenar datos persistentes fuera del contenedor

Día 2 – Arquitectura y Cargas de Trabajo de Kubernetes

Fundamentos de Kubernetes

  • El propósito de la orquestación de contenedores
  • Arquitectura de Kubernetes
  • Componentes del plano de control (control plane)
  • Nodos trabajadores
  • Servidor API
  • Programador (scheduler)
  • Controladores
  • Estado del clúster y estado deseado
  • Comunicación con el clúster mediante kubectl

Recursos de Kubernetes

  • Pods
  • ReplicaSets
  • Deployments (Desplegamientos)
  • Espacios de nombres (Namespaces)
  • Etiquetas y anotaciones
  • Selectores
  • Definiciones de recursos declarativas
  • Manifiestos YAML

Despliegue de Aplicaciones

  • Creación y gestión de Desplegamientos
  • Escalado de cargas de trabajo
  • Actualización de imágenes de contenedores
  • Actualizaciones progresivas (rolling updates)
  • Retrocesos (rollbacks)
  • Historial de despliegue
  • Reinicio de cargas de trabajo
  • Gestión de réplicas de la aplicación

Configuración de la Aplicación

  • ConfigMaps
  • Secrets (Secretos)
  • Variables de entorno
  • Archivos de configuración
  • Separación del código de la aplicación de su configuración
  • Gestión de configuraciones específicas del entorno

Gestión de Recursos

  • Solicitudes de CPU y memoria
  • Límites de CPU y memoria
  • Cuotas de recursos
  • Rangos límite (limit ranges)
  • Implicaciones del escalado (scheduling)
  • Diagnóstico de fallos relacionados con recursos

Ejercicios Prácticos

  • Desplegar una aplicación contenerizada
  • Crear y actualizar manifiestos de Kubernetes
  • Escalar una aplicación
  • Ejecutar una actualización progresiva y un retroceso
  • Configurar la aplicación mediante ConfigMaps y Secretos
  • Aplicar solicitudes y límites de recursos

Día 3 – Red, Almacenamiento y Seguridad en Kubernetes

Red de Kubernetes

  • Modelo de red del clúster
  • Comunicación entre pods
  • Descubrimiento de servicios
  • DNS dentro del clúster
  • Servicios ClusterIP
  • Servicios NodePort
  • Servicios LoadBalancer
  • Conceptos de Ingress
  • Patrones de exposición de aplicaciones

Políticas de Red

  • Control del tráfico entre cargas de trabajo
  • Reglas de entrada (ingress) y salida (egress)
  • Control de tráfico basado en espacios de nombres
  • Pruebas de conectividad de red
  • Resolución de problemas de comunicación de servicios

Almacenamiento Persistente

  • Almacenamiento efímero y persistente
  • Volumenes (Volumes)
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses (Clases de almacenamiento)
  • Provisionamiento dinámico
  • Modos de acceso
  • Políticas de reclamo (reclaim policies)
  • Almacenamiento para aplicaciones con estado

Control de Acceso en Kubernetes

  • Conceptos de autenticación y autorización
  • Control de Acceso Basado en Roles (RBAC)
  • Roles y ClusterRoles
  • RoleBindings y ClusterRoleBindings
  • Cuentas de servicio
  • Acceso de mínimo privilegio
  • Inspección de permisos efectivos

Seguridad de la Carga de Trabajo

  • Contextos de seguridad
  • Ejecución de contenedores como no-root
  • Capacidades de Linux
  • Sistemas de archivos de solo lectura
  • Gestión de secretos
  • Origen de las imágenes (image provenance)
  • Riesgos comunes de configuración

Ejercicios Prácticos

  • Exponer una aplicación mediante servicios de Kubernetes
  • Configurar ingress
  • Restringir el tráfico mediante una política de red
  • Provisionar almacenamiento persistente
  • Configurar permisos RBAC
  • Ejecutar una carga de trabajo con un contexto de seguridad adecuado

Día 4 – Trabajo con Entornos OpenShift

Introducción a OpenShift

  • OpenShift como plataforma de aplicaciones basada en Kubernetes
  • Recursos de Kubernetes en un entorno OpenShift
  • Arquitectura del clúster de OpenShift
  • Proyectos y espacios de nombres
  • Usuarios de la plataforma y cuentas de servicio
  • Trabajo con la consola web
  • Trabajo con la CLI de OpenShift

Gestión de Proyectos y Acceso

  • Creación y gestión de proyectos
  • Asignación de permisos de usuario
  • Roles a nivel de proyecto
  • Acceso administrativo
  • Cuotas de recursos
  • Rangos límite (limit ranges)
  • Cuentas de servicio
  • Revisión de recursos del proyecto

Despliegue de Aplicaciones

  • Despliegue de imágenes de contenedores
  • Creación de cargas de trabajo de aplicación
  • Gestión de despliegues
  • Escalado de aplicaciones
  • Actualización de versiones de la aplicación
  • Retrocesos (rollbacks)
  • Gestión de la configuración de la aplicación
  • Trabajo con secretos

Exposición de Aplicaciones

  • Servicios en OpenShift
  • Rutas (Routes)
  • Conceptos de TLS
  • Acceso interno y externo a la aplicación
  • Nombres de host y certificados
  • Diagnóstico de problemas con rutas y servicios

Almacenamiento en OpenShift

  • Persistent Volume Claims (Solicitudes de Volumes Persistentes)
  • StorageClasses (Clases de almacenamiento)
  • Conexión de almacenamiento a cargas de trabajo
  • Cargas de trabajo con estado (Stateful workloads)
  • Permisos de acceso al almacenamiento
  • Resolución de problemas del montaje de volúmenes

Escalado y Gestión de Nodos

  • Etiquetas y selectores
  • Selectores de nodos
  • Taints (inmunidades) y tolerations
  • Conceptos de afinidad y anti-afinidad
  • Ubicación de cargas de trabajo
  • Aislamiento (cordoning) y vaciado (draining) de nodos
  • Consideraciones para el mantenimiento de nodos

Ejercicios Prácticos

  • Acceder a un entorno OpenShift
  • Crear y configurar un proyecto
  • Desplegar y exponer una aplicación
  • Configurar acceso de usuario y cuenta de servicio
  • Conectar almacenamiento persistente
  • Escalar y actualizar una carga de trabajo en ejecución

Día 5 – Operaciones, Monitoreo y Resolución de Problemas

Monitoreo de la Plataforma

  • Monitoreo de la salud del clúster y de la aplicación
  • Métricas de recursos
  • Salud de los nodos
  • Estado de la carga de trabajo
  • Capacidad y utilización de recursos
  • Identificación de restricciones de rendimiento

Registros (Logs) y Eventos

  • Registros del contenedor
  • Registros del pod
  • Registros anteriores del contenedor
  • Eventos de Kubernetes
  • Mensajes de la aplicación y de la plataforma
  • Filtrado e interpretación de datos operativos

Comprobaciones de Salud (Health Checks)

  • Probes de inicio (startup probes)
  • Probes de disponibilidad (readiness probes)
  • Probes de actividad (liveness probes)
  • Diseño de puntos finales de salud útiles
  • Diagnóstico de fallos en las comprobaciones de salud
  • Prevención de reinicios innecesarios de la aplicación

Resolución de Problemas de Cargas de Trabajo

  • Pods pendientes
  • Fallos en la extracción de imágenes
  • Bucles de crash (crash loops)
  • Variables de entorno mal configuradas
  • Montajes fallidos
  • Recursos insuficientes
  • Errores de permisos
  • Problemas de conectividad de servicios y rutas
  • Problemas de DNS
  • Fallos en el inicio de la aplicación

Seguridad Operativa

  • Revisión de permisos
  • Uso de cuentas de servicio
  • Manejo seguro de credenciales
  • Prácticas de seguridad de imágenes
  • Aislamiento de red
  • Auditoría del acceso a la plataforma
  • Aplicación del principio de mínimo privilegio

Mantenimiento y Gestión del Ciclo de Vida

  • Verificaciones rutinarias de la plataforma
  • Mantenimiento de nodos
  • Consideraciones para copias de seguridad de aplicaciones
  • Copia de seguridad de la configuración
  • Planificación de actualizaciones
  • Gestión de cambios
  • Pruebas de actualizaciones
  • Planificación de retrocesos (rollbacks)
  • Conceptos de recuperación ante desastres

Taller Práctico Final

Los participantes completan un escenario operacional de extremo a extremo:

  • Construir y etiquetar una imagen de contenedor.
  • Publicar la imagen en un registro.
  • Desplegar la aplicación en Kubernetes o OpenShift.
  • Configurar ajustes y credenciales de la aplicación.
  • Exponer la aplicación.
  • Conectar almacenamiento persistente.
  • Configurar permisos de acceso.
  • Añadir comprobaciones de salud.
  • Escalar y actualizar la aplicación.
  • Diagnosticar y resolver una falla introducida intencionalmente.

Formato del Curso

  • Conferencias interactivas y discusiones técnicas.
  • Demostraciones por parte del instructor.
  • Amplios ejercicios prácticos.
  • Talleres de administración y resolución de problemas basados en escenarios.
  • Trabajo práctico en entornos de contenedores, Kubernetes y OpenShift.

Opciones de Personalización del Curso

  • El curso puede adaptarse a la infraestructura existente del participante, al proveedor de nube y a las herramientas de contenedores utilizadas.
  • El equilibrio entre los temas de Docker, Kubernetes y OpenShift puede ajustarse según la experiencia del equipo.
  • Los ejercicios prácticos pueden personalizarse para adaptarse a las aplicaciones de la organización, sus procesos de despliegue y sus requisitos operativos.

Aviso de Marca Comercial

OpenShift es una marca comercial de Red Hat, Inc. Esta formación desarrollada independientemente no está afiliada, respaldada ni autorizada por Red Hat.

Requerimientos

Los participantes deben tener:

  • Experiencia utilizando la línea de comandos de Linux.
  • Conocimientos básicos de administración de sistemas o DevOps.
  • Comprensión general de conceptos de red.
  • Familiaridad con procesos de despliegue de software.

Experiencia previa con Docker, Kubernetes u OpenShift es útil pero no requerida.

 35 Horas

Número de participantes


Precio por participante

Reseñas (7)

Próximos cursos

Categorías Relacionadas