Temario del curso
Día 1 – Contenedores y gestión de imágenes
Introducción a las plataformas de contenedores
- Despliegue de aplicaciones tradicional en comparación con el despliegue basado en contenedores
- Contenedores y máquinas virtuales
- Tiempos de ejecución de contenedores (runtimes) y motores de contenedores
- El papel 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 los contenedores
- Iniciar, detener y eliminar contenedores
- Ejecutar comandos dentro de los contenedores
- Variables de entorno
- Mapeo de puertos
- Registros de contenedores (logs)
- Uso de recursos e inspección de procesos
Construcción de imágenes de contenedores
- Estructura de la imagen y capas
- Creación de Dockerfiles y Containerfiles
- Selección de imágenes base
- Añadir 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 (tagging) y versionado de imágenes
- Publicación (push) y extracción (pull) de imágenes
- Autenticación de imágenes
- Retención y limpieza de imágenes
- Consideraciones básicas de seguridad de las imágenes
Red y almacenamiento de contenedores
- Conceptos de red de contenedores
- Red de puente (bridge)
- Exposición de puertos
- Comunicación entre contenedores
- Montajes vinculados (bind mounts) y volúmenes
- Datos persistentes de contenedores
- Consideraciones de copia 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 de un contenedor
Día 2 – Arquitectura de Kubernetes y cargas de trabajo
Fundamentos de Kubernetes
- El propósito de la orquestación de contenedores
- Arquitectura de Kubernetes
- Componentes del plano de control
- Nodos de trabajo
- Servidor de API
- Planificador (Scheduler)
- Controladores
- Estado del clúster y estado deseado
- Comunicación con el clúster usando kubectl
Recursos de Kubernetes
- Pods
- ReplicaSets
- Despliegues (Deployments)
- Espacios de nombres (Namespaces)
- Etiquetas (Labels) y anotaciones (Annotations)
- Selectores
- Definiciones declarativas de recursos
- Manifiestos YAML
Despliegue de aplicaciones
- Creación y gestión de despliegues (Deployments)
- Escalar cargas de trabajo
- Actualización de imágenes de contenedores
- Actualizaciones en caliente (Rolling updates)
- Revertir cambios (Rollbacks)
- Historial de despliegues
- Reiniciar cargas de trabajo
- Gestión de réplicas de la aplicación
Configuración de aplicaciones
- ConfigMaps
- Secretos (Secrets)
- Variables de entorno
- Archivos de configuración
- Separación del código de la aplicación y la configuración
- Gestión de ajustes específicos del entorno
Gestión de recursos
- Solicitudes de CPU y memoria
- Límites de CPU y memoria
- Cuotas de recursos
- Rangos de límites (Limit ranges)
- Implicaciones en la programación
- 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
- Realizar una actualización en caliente y una reversión
- Configurar la aplicación usando ConfigMaps y Secrets
- Aplicar solicitudes y límites de recursos
Día 3 – Red, almacenamiento y seguridad en Kubernetes
Red en Kubernetes
- Modelo de red del clúster
- Comunicación entre pods
- Detección de servicios (Service discovery)
- 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
- Solución de problemas de comunicación de servicios
Almacenamiento persistente
- Almacenamiento efímero y persistente
- Volúmenes
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Provisionamiento dinámico
- Modos de acceso
- Políticas de reclamación (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 (Service accounts)
- Acceso de mínimos privilegios
- Inspección de permisos efectivos
Seguridad de las cargas de trabajo
- Contextos de seguridad
- Ejecución de contenedores como usuario no root
- Capacidades de Linux
- Sistemas de archivos de solo lectura
- Gestión de secretos
- Origen de las imágenes
- Riesgos comunes de configuración
Ejercicios prácticos
- Exponer una aplicación usando servicios de Kubernetes
- Configurar ingress
- Restringir el tráfico usando una política de red
- Provisionar almacenamiento persistente
- Configurar permisos RBAC
- Ejecutar una carga de trabajo con un contexto de seguridad apropiado
Día 4 – Trabajo con entornos de OpenShift
Introducción a OpenShift
- OpenShift como plataforma de aplicaciones basada en Kubernetes
- Recursos de Kubernetes en un entorno de 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 de administración
- Cuotas de recursos
- Rangos de límites
- 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 la aplicación
- Gestión de despliegues
- Escalar aplicaciones
- Actualización de versiones de la aplicación
- Reversión de cambios (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 de rutas y servicios
Almacenamiento en OpenShift
- Persistent Volume Claims
- StorageClasses
- Vinculación de almacenamiento a cargas de trabajo
- Cargas de trabajo con estado
- Permisos de acceso al almacenamiento
- Solución de problemas de montaje de volúmenes
Programación y gestión de nodos
- Etiquetas (Labels) y selectores
- Selectores de nodos
- Taints y tolerations
- Conceptos de afinidad y anti-afinidad
- Ubicación de cargas de trabajo
- Cordoning y draining de nodos
- Consideraciones de mantenimiento de nodos
Ejercicios prácticos
- Acceder a un entorno de OpenShift
- Crear y configurar un proyecto
- Desplegar y exponer una aplicación
- Configurar el acceso de usuarios y cuentas de servicio
- Vincular almacenamiento persistente
- Escalar y actualizar una carga de trabajo en ejecución
Día 5 – Operaciones, monitoreo y solución de problemas
Monitoreo de la plataforma
- Monitoreo de la salud del clúster y de las aplicaciones
- Métricas de recursos
- Salud de los nodos
- Estado de las cargas de trabajo
- Capacidad y uso de recursos
- Identificación de restricciones de rendimiento
Registros y eventos
- Registros de contenedores
- Registros de pods
- Registros de contenedores anteriores
- Eventos de Kubernetes
- Mensajes de la aplicación y de la plataforma
- Filtrado e interpretación de datos operativos
Pruebas de salud
- Probadores de inicio (Startup probes)
- Probadores de preparación (Readiness probes)
- Probadores de vivacidad (Liveness probes)
- Diseño de puntos de salud útiles
- Diagnóstico de fallos de probadores
- Prevención de reinicios innecesarios de aplicaciones
Solución de problemas de cargas de trabajo
- Pods en estado pendiente
- Fallos en la extracción de imágenes
- Bucles de crash
- Variables de entorno mal configuradas
- Fallos en el montaje
- Recursos insuficientes
- Errores de permisos
- Problemas de conectividad de servicios y rutas
- Problemas de DNS
- Fallos al iniciar la aplicación
Seguridad operativa
- Revisión de permisos
- Uso de cuentas de servicio
- Gestión segura de credenciales
- Buenas prácticas de seguridad de imágenes
- Aislamiento de red
- Auditoría del acceso a la plataforma
- Aplicación del principio de mínimos privilegios
Mantenimiento y gestión del ciclo de vida
- Comprobaciones rutinarias de la plataforma
- Mantenimiento de nodos
- Consideraciones de copia 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 reversiones
- Conceptos de recuperación ante desastres
Taller práctico final
Los participantes completan un escenario operativo 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 los ajustes y credenciales de la aplicación.
- Exponer la aplicación.
- Vincular almacenamiento persistente.
- Configurar permisos de acceso.
- Añadir pruebas de salud.
- Escalar y actualizar la aplicación.
- Diagnosticar y resolver un fallo introducido deliberadamente.
Formato del curso
- Clases interactivas y discusiones técnicas.
- Demonstraciones del instructor.
- Amplios ejercicios prácticos.
- Talleres de administración y solució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, el proveedor de nube y las herramientas de contenedores de los participantes.
- El equilibrio entre los temas de Docker, Kubernetes y OpenShift puede ajustarse según la experiencia del equipo.
- Los ejercicios prácticos pueden adaptarse a las aplicaciones, procesos de despliegue y requisitos operativos de la organización.
Aviso de marcas registradas
OpenShift es una marca registrada de Red Hat, Inc. Esta capacitación desarrollada de forma independiente no está afiliada, ni respaldada, ni autorizada por Red Hat.
Requerimientos
Los participantes deben tener:
- Experiencia en el uso de la línea de comandos de Linux.
- Conocimientos básicos de administración de sistemas o DevOps.
- Una comprensión general de los conceptos de red.
- Familiaridad con los procesos de despliegue de software.
La experiencia previa con Docker, Kubernetes o OpenShift es útil, pero no obligatoria.
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 7250 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales
Reseñas (7)
Reda explicó y simplificó mucho el entendimiento
Eric Van Wyk
Curso - Docker, Kubernetes and OpenShift 3 for Administrators
Traducción Automática
Los laboratorios fueron lo mejor. Son muy prácticos y proporcionan experiencia práctica. Personalmente, creo que es el medio más efectivo para comprender realmente el curso y aplicar los conceptos que se cubrieron.
Hishaam Johnstone
Curso - Docker, Kubernetes and OpenShift 3 for Administrators
Traducción Automática
Aprecié mucho la disposición para ayudar y explicar más cuando había incertidumbre
Letlotlo Miffi
Curso - Docker, Kubernetes and OpenShift 3 for Administrators
Traducción Automática
Adriano estudió el tema muy profundamente, lo cual es el estilo que más prefiero: menos sobre los comandos y más sobre el mecanismo detrás de ellos. Los escenarios discutidos estaban bien respaldados por ejemplos prácticos, lo que ayudó mucho a comprender el material presentado.
Mariusz BANASZCZYK - Sopra Steria
Curso - Docker, Kubernetes and OpenShift for Administrators
Traducción Automática
Conocimientos profundos de Adriano. Explicación de los conceptos básicos
Tomasz Szalankiewicz - LPP SA
Curso - Docker, Kubernetes and OpenShift for Administrators
Traducción Automática
Generalmente me gustó el presentador.
Josif Kovacevic - ANZ
Curso - Docker, Kubernetes and OpenShift for Administrators
Traducción Automática
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Curso - Docker, Kubernetes and OpenShift for Administrators
Traducción Automática