Componentes principales de OpenStack

Alberto Molina Coballes y José Domingo Muñoz Rodríguez

Theme by: reveal.js

Componentes principales de OpenStack ("core")

  • Keystone
  • Glance
  • Nova
  • Cinder
  • Swift
  • Neutron

Características generales

  • Escritos en Python
  • Utilización de AMQP
  • Interacción a través de APIs RESTful
  • Base de datos independiente
  • Autenticación y autorización mediante keystone
  • CLI independiente

Keystone (Identity Service)

  • Proyectos, usuarios, roles, etc.
  • Implementa RBAC (Role Based Access Control)
  • Autenticación por tokens
  • Gestión de los Endpoints
  • Autenticación básica: SQL o LDAP
  • Otras opciones de autenticación: SAML, OpenID, Mecanismo externo (vía WSGI)
  • No hay roles por defecto. Habitualmente "admin" y "_member_"
  • Autorización mediante políticas (policy.json)

Glance (Image Service)

  • Gestión de imágenes e instantáneas
  • Formato qcow2 ← KVM
  • Otros formatos: raw, vhd, vmdk, vdi, ... [1]
  • Se pueden almacenar como objetos en Swift las imágenes e instantáneas
  • En este curso utilizaremos /var/lib/glance/

Nova (Compute Service)

  • Gestión de las instancias
  • Varios subcomponentes: nova-api, nova-conductor, nova-console, nova-scheduler, nova-compute
  • La configuración de nova-compute depende del hipervisor
  • nova-api puede utilizar la API de Amazon EC2
  • Importante: Definir CPU y RAM allocation-ratio
  • Importante: Con KVM es conveniente configurar KSM
  • nova-console: VNC o SPICE

Cinder (Block Storage Service)

  • Gestión de los volúmenes
  • Múltiples "backends"
  • Varios componentes: cinder-api, cinder-scheduler y cinder-volume

Swift

  • Almacenamiento de objetos
  • Almacenamiento distribuido y en alta disponibilidad
  • Independiente del resto de componentes
  • Utilización muy sencilla
  • Implementación y administración más compleja

Neutron (Networking Service)

  • Encargado de las redes, subredes, routers, etc.
  • Modular Layer 2 (ML2):
    • Varios tipos: local,flat,vlan,gre,vxlan
    • Varios mecanismos: Arista, Brocade, Cisco, Nexus, Hyper-V, midonet, nuage, OVS, ...
  • DHCP y routers definidos en el nodo de red (linux network namespaces)
  • Servicio de metadatos a cada subred en modo proxy
  • Puede proporcionar LBaaS, VPNaaS y FWaaS