What is OneFlow? In this session we will discuss what is OneFlow and how to adapt it to our specific needs.
Talk held at the OpenNebula Techday Barcelona 2017:
https://opennebula.org/community/techdays/techday-barcelona-2017/
2. OneFlow
¿Que es?
Es un servicio que se integra con OpenNebula.
Es capaz de gestionar dinámicamente el despliegue
de maquinas virtuales a partir de sus templates.
Permite evaluar condiciones que se tienen que
cumplir para que sus acciones, como por ejemplo,
los despliegues, se apliquen en las condiciones que
nos interesan.
3. ¿Porque o cuando usar OneFlow?
Podemos usar en el template de maquina el network
context con variables de instancia de la maquina virtual.
Si incorporamos una buena herramienta, como
Onecontext, desde dentro de las maquinas virtuales
podremos adaptar las maquinas virtuales sin necesidad
de acceder al Opennebula o SunStone.
Esto nos permitirá añadir dinámicamente datos sobre
una maquina virtual con Onegate para usarlos en
OneFlow
¿Pero como podemos relacionar o interactuar con
varias instancias de maquinas virtuales diferentes?
4. OneFlow: Requisitos
Autenticación con servicio base de Opennebula en el
puerto 2633
Permiso sobre los templates de maquinas virtuales
Opcionalmente pero muy recomendable :
Network contextualization
Onecontext
Onegate (servicio Opennebula en el puerto 5030)
5. Ejemplo básico o habitual
Imágenes de capturas
en SunStone de los
servicios OneFlow para
la creación de un
template OneFlow con
varios roles básicos.
6. Ejemplo básico o habitual
Configuración de políticas de elasticidad en OneFlow
8. Caso real
Con el ejemplo básico anterior parece que todo
queda bastante ordenado por dependencias de
roles en el servicio y todo tiene mucho más
sentido.
La idea es buena pero a lo mejor no nos sirve para
algunos de los objetivos complejos que podemos
llegar a hacer con OneFlow.
¿puede hacer OneFlow algo más por mi?
9. Integración de varias utilidades
incorporadas en Opennebula
Network context
Onecontext
Onegate
10. Opennebula
Network context
En el template de máquinas virtuales podemos
encontrar la opción “Add Network
contextualization”.
Esto nos ofrece la posibilidad de generar un
dispositivo, y concretamente en el caso de linux,
genera un device en /dev/cdrom, con la información
de contexto necesaria para cada instancia de
maquina virtual.
11. En los templates
de máquinas
virtuales podemos
añadir la
contextualización
de red.
Opennebula
Network context
12. Opennebula
OneContext
Utilidad que nos permite aplicar las propiedades
de Network Contextualization sobre las maquinas
virtuales. Las imágenes que podemos encontrar
en marketplaces suelen tenerlo incorporado.
Un gran desarrollo de init script sobre linux
https://github.com/OpenNebula/addon-context-linux
que podréis usar o readaptar a cualquier release.
14. Opennebula
Onegate
Opennebula incorpora un servicio que permite
consultar, previa autenticación, datos asociados de
las instancias de las maquinas virtuales
desplegadas.
16. Un ejemplo práctico con Onegate
OneFlow y Onecontext
Imagenes de capturas SunStone de cómo crear en
OneFlow un template oneflow con varios roles
básicos con cambios en cardinalidad (deploy/
undeploy) según la carga de la maquina.