1. Introducción a OpenStack
Historia de la nube y OpenStack
Características de la nube
Modelos en la nube
privado, público, híbrido
on-premise, IaaS, PaaS, SaaS
Implementaciones de nube pública y privada basadas en OpenStack
Distribuciones comerciales y de código abierto OpenStack
OpenStack Modelos de implementación
OpenStack Ecosistema
Módulos
Herramientas subyacentes
Integraciones
OpenStack Ciclo de vida
OpenStack Certificación
OpenStack laboratorio (VM) para este curso
2. Taller práctico de administración OpenStack
Conociendo OpenStack
Componentes de OpenStack (Keystone, Glance, Nova, Neutron, Cinder, Swift, Heat)
Interacción con la nube de OpenStack
Demonios de OpenStack y flujo de comunicación de API
Keystone - Servicio de gestión de identidades
Arquitectura Keystone
Autenticación y backends disponibles
Tipos de tokens y administració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
OpenStack Catálogo de servicios
Adición de un nuevo servicio OpenStack
Sistema de cuotas en OpenStack
Glance - Servicio de imágenes
Imágenes ajustadas a la nube
Características de la imagen (propiedades, metadatos, formato, contenedor)
Carga y descarga de imágenes
Compartir imágenes
Almacenes de imágenes de vista
Imágenes protegidas
Administración de cuotas para el servicio de imágenes
Verificación de los servicios de Glance
Neutrón - Networking
Arquitectura y servicios de Neutron
El complemento ML2
Networking En el nodo de cómputo: análisis
Networking Conceptos y herramientas utilizadas por Neutron
Tipos básicos de recursos de red de Neutron
Administrar redes de inquilinos, subredes,
Administrar grupos de seguridad y reglas
Enrutamiento Este-Oeste
Espacios de nombres de red
Gestionar redes externas/de proveedores
Rutas Norte-Sur
Gestión de IPs flotantes
Control de acceso basado en roles en Neutron
Administrar cuotas de red
Componentes internos de SDN y NFV (iptables, ruta ip, OVS)
Solución de problemas básicos de red (espacios de nombres, tcpdump, etc.)
Networking Cuotas
Verificación de los servicios de Neutron
Nova - Servicio de proceso
Interfaces con hipervisores
Gestión de pares de claves
Gestión del sabor
Tipos y topología de CPU
Parámetros de instancia
Creación de una instancia
Verificación de instancias generadas
Instantáneas
Gestión de instancias
Cambiar el tamaño de las instancias
Asignación de direcciones IP flotantes
Consola interactiva y registro de consola
Asignación de grupos de seguridad
Componentes internos de los grupos de seguridad y las características de seguridad portuaria (iptables)
Componentes internos de los routers L3
Cuotas de cómputo
Obtener estadísticas de Nova
API de colocación y Nova Cells v2
API de ubicación y programación de instancias
Comandos de cliente de la API de colocación
Verificación de los servicios de Nova
Cinder - Almacenamiento en bloque
Parámetros de volumen
Creación de volumen
Administrar el volumen
Adjuntar volumen a la instancia de Nova
Administración de instantáneas de volumen
Administración de copias de seguridad de volúmenes
Componentes internos de instantáneas y copias de seguridad en Cinder
Transferencia de volúmenes entre proyectos
Restauración de copias de seguridad
Administración de cuotas de volumen
Adición de un nuevo back-end de almacenamiento
QoS en Cinder
Backends de almacenamiento LVM, cabina de almacenamiento y Ceph
Ceph en OpenStack
Integración de Ceph y Cinder
Gode prácticas para implementaciones de Ceph
Verificación de los servicios de Cinder
Barbacana - Llave Management Servicio
Arquitectura barbacana
Almacenamiento de frases de contraseña
Generación y almacenamiento de claves de cifrado simétricas
Mecanismos de cifrado de volúmenes
Configuración del tipo de almacenamiento de Cinder para el cifrado de volúmenes
Limitaciones del cifrado de volúmenes
Almacenamiento de paquetes de certificados X.509
Swift - Almacenamiento de objetos
Swift Componentes y procesos
Gestión de contenedores y objetos
Gestión de listas de control de acceso
Configuración de la caducidad del objeto
El anillo y las políticas de almacenamiento
Supervisión del espacio de almacenamiento disponible
Configuración de cuotas
Verificación de Swift servicios
Calor - Orquestación
Plantilla de orquestación de calor y sus componentes
Creación de una pila de calor
Verificación de la pila de calor
Actualización de la pila de calor
Verificación de los servicios de calefacción
Solución de problemas básicos
Análisis de archivos de registro
Registro centralizado
Depuración OpenStack de consultas de cliente
Gestión de OpenStack base de datos
Extracción de información de bases de datos de servicio
Copia de seguridad OpenStack
Análisis del estado del nodo de proceso
Análisis del estado de la instancia
Solución de problemas de instancias en el nodo de computación (libvirt)
Análisis del broker AMQP (RabbitMQ)
Solución de problemas RabbitMQ
Servicios de metadatos
Forma general de diagnosticar problemas OpenStack
Solución de problemas de red
Solución de problemas de rendimiento de la red
Copia de seguridad y recuperación de instancias
2. Temas avanzados
Octavia - Equilibrio de carga como servicio
Arquitectura
Objetos y flujo de solicitudes
Sabores de Octavia
Zonas de disponibilidad de Octavia
Creación del equilibrador de carga HTTP
Creación del equilibrador de carga TCP
Creación de un equilibrador de carga de acceso directo HTTPS
Agentes de escucha, grupos y monitores de estado
Equilibrio de carga de capa 7 en Octavia
Imagen del Ánfora del Edificio
Conmutación por error de LB
Networking y Detalles de monitoreo
Solución de problemas de Octavia
Consideraciones de hardware y planeación de la capacidad
Hardware informático
Diseño de redes
Diseño de almacenamiento
Tamaño del sabor
Sobreasignación de recursos
Plano de control de alta disponibilidad
HA en OpenStack servicios
UNA BASE DE DATOS
Cola de mensajes de alta disponibilidad
Implementaciones activas-activas frente a activas-pasivas
Implementaciones en varias regiones
Particionamiento en la nube y filtros del programador
Por qué y cómo implementar particiones en la nube (agregados de host)
Filtros del programador Nova
Sumérgete en el código del filtro
Migración de cargas de trabajo
Migración fría y viva
Ajuste de la migración en vivo
Ejercicios de migración y solución de problemas
Políticas y autorizaciones en OpenStack
Oslo.policy
Creación de un nuevo rol significativo con archivos de políticas
Verificación del acceso a la API para el usuario específico
Redes en profundidad OpenStack (SDN) (2-3h)
Tipos de red (local, plana, vlan, vxlan, gre)
Flujo y arquitectura detallados de netowork en varios despliegues de neutrones
Tráfico este-oeste en redes de inquilinos
Tráfico Norte-Sur en redes de inquilinos
Tráfico en implementaciones solo de proveedor
Complementos de Neutron
Linux Puente
Abrir vSwitch
Solución de problemas y ejercicios de OVS
Solución de problemas de grupos de seguridad (iptables, tcpdump)
Ajustes de seguridad portuaria y gestión de vIP
Enrutadores virtuales distribuidos
Proyecto LBaaS + Octavia
VPNaaS
OpenStack Monitoreo y telemetría
Servicio de ceilómetro
Monitoreo externo
Funciones avanzadas de nube/hipervisor
Fijación de CPU / arquitectura NUMA
SR-IOV
Cloud-init y personalización de imágenes
Servicio de metadatos
Obtención de información del servicio de metadatos
Backends de almacenamiento en bloque
LVM
Ceph RBD
Aparatos físicos
Consideraciones sobre la red de almacenamiento
Actualización OpenStack
Estrategias y procedimientos de actualización
Actualización sin tiempo de inactividad
Aprovisionamiento sin sistema operativo con OpenStack
Módulo irónico
Conceptos de subnube y sobrenube
Varios ejercicios sobre la solución de problemas OpenStack cluster
Ejemplos de tareas de examen
Futuro de OpenStack