Es un producto que te permite exponer tu infraestructura como servicio.
Por ejemplo, nos permite hacer la misma funcionalidad de cualquier sistema de virtualización. :-D
Se pretende hacer un despliegue:
- rápido, sencillo
- en cualquier tipo de hardware
- sin importar su ubicación física
- utilizando un appliance
Necesitamos una sola máquina con una sola tarjeta de red. Esa máquina puede ser desde un servidor dedicado barato ( 30€/mes ) en algún lugar de internet hasta un servidor en el propio CPD.
Ejecutar ansible de https://github.com/paradigmadigital/ansible-openstack-vcenter con keystone+databases+dashboard .
Instalación desactualizada:
- Instalar paquetes necesarios:
apt-get install qemu-kvm qemu-system bridge-utils virt-manager
- Descargar y descomprimir appliance:
/etc/init.d/libvirt-bin stop
cd /var/lib/libvirt/images
wget http://elmanytas.es/filesblog/informatica/virtualizacion/20161102-OpenStack/openstack-vcenter.tgz
tar -zxvf openstack-vcenter.tgz
cp etc/libvirt/qemu/openstack-vcenter.xml /etc/libvirt/qemu/
service libvirt-bin start
-
Arrancar el appliance con virt-manager y entrar con openstack/openstack
-
Instalar openssh
apt-get -y install openssh-server
- Crear claves y distribuirlas al usuario root de todos los nodos de computación
ssh-keygen
- Comprobar que los hosts en /home/openstack/ansible-openstack-vcenter/etc_ansible/hosts están bien, cambiar global_vars.yml y:
ansible-playbook -i hosts site.yml
No es mejor en general. Es mejor para mi porque me sirve para crear entornos de desarrollo en cualquier sitio por barato que sea.
[esquema vcenter-network.dia]
RedHat: RDO Ubuntu: MAAS RackSpace: Private Cloud +Mirantis HP: Helium Custom:
- ansible
- puppet
- chef
- manual Otras que no conozco.
¡NO MUERDE!
Servicios de infraestructura:
- identidad (keystone) (ejemplo de gestión de ldap)
- dns (designate) (ejemplo de gestión de DNS multisitio)
- almacenamiento compartido (manila) (ejemplo de gestión de cabinas de disco)
- archivos (swift)
- bases de datos (trove)
- vpn (neutron)
- orquestación (heat)
- redes (neutron)
- servidores (ironic)
- imágenes (glance)
- dispositivos de bloques (cinder)
- colas (zaqar)
- procesamiento intensivo de datos (sahara)
- …
- y también máquinas virtuales (nova)
¡Cuidado con los impostores!
Puede sustituir a nuestro sistema de virtualización pero ¡cambiarlo no tiene porqué ser motivo suficiente para usar OpenStack!
Permite:
- agilizar nuestro proceso de desarrollo
- saber cuanto gasta cada proyecto
- extremadamente síncrono
- no expuesto a fallos humanos imprevisibles
- abstracción de servicios
- automatización
- ...
- be cloud!
Esquema de aplicación (drupal):
- aplicación
- persistencia
- base de datos
[esquema drupal-openstack.dia]
Deberíamos usar manila pero no lo tengo desplegado así que vamos a usar un servidor de NFS.
Ejecutamos:
heat stack-create test --template-file=nfs-server.yaml
[esquema persistencia-openstack.dia]
Deberíamos usar trove pero no lo tengo desplegado así que vamos a usar un cluster de Percona con un balanceador tcp al 3306.
Ejecutamos cluster-percona.yaml .
[esquema database-openstack.dia]
Tres servidores con Drupal pasando como parámetros cluster Percona, volumen para /etc/drupal, /var/www.html/drupal/sites/default y red pública con un balanceador tcp al 80.
Ejecutamos drupal.yaml .
[esquema drupal-app-openstack.dia]
Tenemos unos procedimientos que están adaptados a una infraestructura no cloud. Tratamos a nuestros componentes como mascotas. Sabemos de que hay que hacer backup, que hay que monitorizar, que tienen instalado, ...
¿Pero como gestionamos todas estas mascotas? ¿Contratamos a un ejército de personas que les pongan nombre, las instalen, decidan de que hacer backup, que monitorizar, ...?
Si las tratamos como un rebaño solo hará falta un pastor
Tanto de servidores como de red.
Tiene muchas piezas y si falla una sola todo se cae.
Su orientación a una filosofía de servicios puede hacer difícil trazar un error si no se conoce la arquitectura.
Acabo de demostrar que una sola persona con un poco de tiempo puede desarrollar una distribución de OpenStack pero si no quieres pagar a alguien en tu empresa ¡paga a alguien fuera de ella!
Hay multitud de empresas que ofrecen servicios alrededor de OpenStack.
Hay mucho trabajo por hacer. Trove:
- mysql
- mongodb
- percona
¿Y el resto?
RedHat trae una plantilla de instalación oficial pero yo me he hecho la mía. ¡No da tiempo! -> Usaremos un OpenShift ya instalado.
oc create -f drupal-openshift-pv.yaml
oc new-app -f drupal-openshift-persistent-template.yaml -p DRUPAL_HOSTNAME=drupal.jmferrer.os.paradigmadigital.com
Cambiar DNS a 192.168.42.174 .
¿Porque cambiar un sistema de virtualización por otro si el que tenemos funciona? ¡PORQUE OPENSTACK NO ES UN SISTEMA DE VIRTUALIZACIÓN!
Tecnología disruptiva hace que las personas que no sepan manejarla se queden fuera del mercado laboral.
- router
- service
- replication controller
- pod
- container
- linux
- contenedores, cgroups, ...
- docker
- kubernetes
- OpenShift