Temario del curso
1. Introducción a OpenStack - 2h
● Historia de la nube y de OpenStack
● Características de las nubes
● Modelos de nube
○ privada, pública, híbrida
○ on-premise, IaaS, PaaS, SaaS
● Despliegues de nubes públicas y privadas basados en OpenStack
● Distribuciones de OpenStack de código abierto y comerciales
● Modelos de despliegue de OpenStack
● Ecosistema de OpenStack
○ Módulos
○ Herramientas subyacentes
○ Integraciones
● Ciclo de vida de OpenStack
● Certificación en OpenStack
● Laboratorio de OpenStack (VM) para este curso
2. Taller práctico de administración de OpenStack
● Conociendo OpenStack ~0.5h
○ Componentes de OpenStack (Keystone, Glance, Nova, Neutron, Cinder, Swift,
Heat)
○ Interacción con la nube OpenStack
○ Daemons de OpenStack y flujo de comunicación por API
● Keystone - Servicio de gestión de identidad ~1h
○ Arquitectura de Keystone
○ Autenticación y backends disponibles
○ Tipos de token y gestión de tokens
○ Autorización en OpenStack: roles y oslo.policy
○ Recursos de Keystone: dominios, proyectos, usuarios
○ openrc y clouds.yaml: configuración de clientes CLI
○ Catálogo de servicios de OpenStack
○ Adición de nuevos servicios en OpenStack
○ Sistema de cuotas en OpenStack
● Glance - Servicio de imágenes ~1.5h
○ Imágenes adaptadas a la nube
○ Características de las imágenes (propiedades, metadatos, formato, contenedor)
○ Carga y descarga de imágenes
○ Compartir imágenes
○ Almacenes de imágenes en Glance
○ Imágenes protegidas
○ Gestión de cuotas para el servicio de imágenes
○ Verificación de los servicios de Glance
● Neutron - Networking ~2-3h
○ Arquitectura y servicios de Neutron
○ El plugin ML2
○ Análisis del networking en el nodo de cómputo
○ Conceptos y herramientas de red utilizadas por Neutron
○ Tipos básicos de recursos de red en Neutron
○ Gestión de redes, subredes e inquilinos
○ Gestión de grupos de seguridad y reglas
○ Enrutamiento Este-Oeste
○ Nombrespaces de red
○ Gestión de redes externas/proveedoras
○ Enrutamiento Norte-Sur
○ Gestión de IP flotante
○ Gestión de cuotas de red
○ Solución básica de problemas de red (namespaces, tcpdump, etc.)
○ Cuotas de networking
○ Verificación de los servicios de Neutron
● Nova - Servicio de cómputo ~2-3h
○ Interfaces con hipervisores
○ Gestión de pares de claves (keypairs)
○ Gestión de perfiles (flavors)
○ Perfiles y topología de CPU
○ Parámetros de la instancia
○ Creación de una instancia
○ Verificación de instancias desplegadas
○ Capturas instantáneas (snapshots)
○ Gestión de instancias
○ Cambio de tamaño de las instancias
○ Asignación de IP flotante
▻ Consola interactiva y registro de la consola
○ Asignación de grupos de seguridad
○ Cuotas de cómputo
○ Obtención de estadísticas desde Nova
○ API de Placement y Nova Cells v2
○ API de Placement y planificación de instancias
▻ Comandos del cliente de la API de Placement
○ Verificación de los servicios de Nova
● Cinder - Almacenamiento de bloques ~2-3h
○ Parámetros de volumen
▻ Creación de volumen
○ Gestión de volúmenes
▻ Conexión del volumen a una instancia de Nova
○ Gestión de capturas instantáneas de volúmenes
▻ Gestión de copias de seguridad de volúmenes
○ Aspectos internos de las capturas y backups en Cinder
○ Transferencia de volúmenes entre proyectos
▻ Restauración de copias de seguridad
○ Gestión de cuotas de volúmenes
○ Adición de un nuevo backend de almacenamiento
○ QoS (límites) en Cinder
▻ Backends de almacenamiento LVM, matriz de discos y Ceph
▻ Ceph en OpenStack
▻ Integración de Ceph con Cinder
○ Buenas prácticas para despliegues de Ceph
○ Verificación de los servicios de Cinder
● Barbican - Servicio de gestión de claves ~2h
○ Arquitectura de Barbican
▻ Almacenamiento de contraseñas (passphrases)
▻ Generación y almacenamiento de claves de cifrado simétricas
▻ Mecanismos de cifrado de volúmenes
○ Configuración del tipo de almacenamiento Cinder para el cifrado de volúmenes
○ Limitaciones del cifrado de volúmenes
▻ Almacenamiento de paquetes de certificados X.509
● Swift - Almacenamiento de objetos (revisión rápida para el examen COA) <1h
○ Componentes y procesos de Swift
▻ Gestión de contenedores y objetos
○ Gestión de listas de control de acceso (ACL)
▻ Configuración de expiración de objetos
○ El Ring y políticas de almacenamiento
▻ Monitoreo del espacio de almacenamiento disponible
▻ Configuración de cuotas
○ Verificación de los servicios de Swift
● Octavia - Balanceo de Carga como servicio ~2-3h
○ Arquitectura
▻ Objetos y flujo de solicitudes
○ Perfiles (flavors) de Octavia
○ Zonas de disponibilidad de Octavia
▻ Creación del balanceador de carga HTTP
▻ Creación del balanceador de carga TCP
▻ Creación del balanceador de carga HTTPS passthrough
○ Listeners, Pools y Monitores de salud
○ Balanceo de carga en Capa 7 en Octavia
▻ Construcción de la imagen Amphora
▻ Conmutación por error (Failover) del LB
○ Detalles de red y monitoreo
○ Solución de problemas en Octavia
● Heat - Orquestación ~1-2h
▻ Plantilla de Orquestación de Heat (Heat Orchestration Template) y sus componentes
▻ Creación de una pila (stack) de Heat
▻ Verificación de la pila de Heat
▻ Actualización de la pila de Heat
○ Verificación de los servicios de Heat
● Solución básica de problemas ~2h
▻ Análisis de archivos de registro
▻ Registro centralizado
▻ Depuración de consultas del cliente de OpenStack
▻ Gestión de la base de datos de OpenStack
▻ Copias de seguridad de OpenStack
▻ Análisis del estado del nodo de cómputo
▻ Análisis del estado de las instancias
▻ Análisis del corredor AMQP (RabbitMQ)
○ Servicios de metadatos
○ Método general para diagnosticar problemas de OpenStack
○ Solución de problemas de red
○ Solución de problemas de rendimiento de red
▻ Copia de seguridad y recuperación de instancias
3. Temas avanzados
● Consideraciones de hardware y planificación de capacidad ~2h
○ Hardware de cómputo
▻ Diseño de red
▻ Diseño de almacenamiento
▻ Dimensionamiento de perfiles (flavor sizing)
○ Sobreasignación de recursos
○ Sistema de roles - Autorización en OpenStack ~2h
▻ Creación de un nuevo rol como extensión del rol miembro
○ policy.yaml - Autorización de llamadas API
● Plano de control de alta disponibilidad ~1h
○ HA en servicios de OpenStack
▻ Base de datos HA
▻ Cola de mensajes HA
● Particionamiento de la nube y filtros del planificador ~1h
○ Por qué y cómo implementar particiones de la nube (agregados de hosts)
▻ Filtros del planificador Nova
● Migración de cargas de trabajo ~1h
▻ Migración en frío y en vivo
○ Ajustes para la migración en vivo
● Monitoreo y telemetría de OpenStack <1h
○ Servicio Ceilometer
▻ Monitoreo externo
○ Funciones avanzadas de la nube/hipervisor <1h
▻ Fijación de CPU / Arquitectura NUMA
▻ SR-IOV
● Cloud-init y personalización de imágenes <1h
○ Servicio de metadatos
○ Backends de almacenamiento de bloques <1h
▻ LVM
▻ Ceph RBD
▻ Dispositivos físicos
○ Consideraciones sobre la red de almacenamiento
○ Actualización de OpenStack <1h
▻ Estrategias y procedimientos de actualización
○ Actualización sin tiempo de inactividad
● Aprovisionamiento Bare-metal con OpenStack <1h
▻ Módulo Ironic
▻ Conceptos de Undercloud y Overcloud
○ Futuro de OpenStack
4. Inmersión profunda en Neutron y backend OVN - ~6-8h
● Arquitectura de OVN
◌ Componentes de OVN
◌ ML2: OVN vs controlador OvS
◌ Networking descendente en OVN (Top-down)
○ Lógica de OpenStack (base de datos de Neutron)
○ Base de datos del norte (Northbound)
○ Base de datos del sur (Southbound)
◌ Canalizaciones del flujo lógico
◌ Flujos lógicos
◌ Flujos OpenFlow
◌ Red de Neutron y conmutador lógico de OVN
○ Puertos lógicos y sus tipos
○ Flujos de conmutación
◌ Enrutador de Neutron y enrutador lógico de OVN
○ Tipos de NAT
○ Flujos de enrutamiento
◌ Subred de Neutron y DHCP nativo
○ Flujos DHCP
◌ Grupos de seguridad en OVN
▻ ACL y Grupos de puertos
▻ Flujos de grupo de seguridad
○ Seguridad de puertos en OVN
◌ Resumen de las tablas Northbound de OVN
◌ Flujo de información en OVN
○ DB de Neutron, NB y SB DB de OVN, OpenFlow en OvS
◌ Rastreo de flujos lógicos
▻ Definición de microflujos
▻ Rastreo L2
▻ Rastreo L3
▻ Rastreo DHCP
◌ Flujos físicos - OpenFlow
▻ Ciclo de vida en vivo del paquete originado por una VM
○ Rastreo físico
▻ Rastreo para paquetes hipotéticos
▻ Rastreo para paquetes reales
○ Visualización de la base de datos y recursos del controlador Open vSwitch
Testimonios (1)
comunicación, conocimiento basado en la experiencia, resolución de problemas,
Marcin Walewski - Intel Technology Poland Sp. z o.o.
Curso - OpenStack Bootcamp
Traducción Automática