Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
info:cursos:openwebinars:intro-cloud-computing:contenedores [28/06/2018 00:37] – [Contenedores] mate | info:cursos:openwebinars:intro-cloud-computing:contenedores [28/06/2018 02:40] (actual) – [Contenedores PaaS] mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
= contenedores | = contenedores | ||
== Contenedores | == Contenedores | ||
- | <button collapse=" | + | <button collapse=" |
- | < | + | < |
- | <image shape=" | + | <image shape=" |
==== Contenedores (I) ==== | ==== Contenedores (I) ==== | ||
Línia 29: | Línia 29: | ||
* Integrado en el kernel de Linux | * Integrado en el kernel de Linux | ||
* se apoya en cgroups y namespaces | * se apoya en cgroups y namespaces | ||
- | * cgroups: grupos de control | + | * cgroups: grupos de control, gestión a recursos |
- | * namespaces | + | * namespaces |
* los sistemas se instalan desde plantillas | * los sistemas se instalan desde plantillas | ||
* orientado al uso en sistemas | * orientado al uso en sistemas | ||
+ | * docker le da una vuelta de tuerca al uso de los contenedores | ||
+ | |||
+ | ==== Docker ==== | ||
+ | * Muy similar a LXC "por abajo" | ||
+ | * se aprovecha del trabajo de LXC y añade capas | ||
+ | * orientado al despliegue en microservicios | ||
+ | * mover aplicaciones | ||
+ | * proporciona versionado | ||
+ | * proporciona capas (aufs o overlayfs) | ||
+ | * parto de cierta imagen y los cambios se almacenan como capas | ||
+ | * proporciona imágenes preconfiguradas | ||
+ | * dockerhub | ||
+ | * muy... " | ||
+ | * muy... " | ||
+ | * ¿de verdad usas bien docker? | ||
+ | * implica cambio de paradigma... orientado a microservicios | ||
+ | * sin sentido para aplicaciones monolíticas | ||
+ | |||
+ | ==== rkt ==== | ||
+ | * alternativa a docker | ||
+ | * desarrollado por CoreOS | ||
+ | |||
+ | ==== LXD ==== | ||
+ | * hipervisor de contenedores | ||
+ | * muy relacionado con LXC | ||
+ | * ¿LXC 2.0? | ||
+ | * basado en el uso de imágenes | ||
+ | * bien integrado con Ubuntu | ||
+ | * Canonical | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Sistemas Operativos Ligeros | ||
+ | <button collapse=" | ||
+ | |||
+ | < | ||
+ | |||
+ | * más allá en el mundo de los contenedores: | ||
+ | * instalo SO | ||
+ | * todo lo que monto después está conteneizado | ||
+ | * ¿me hace falta un sistema de gestión de paquetes? ¿necesito " | ||
+ | * monto un container, que se comporta como un Linux " | ||
+ | * CoreOS: " | ||
+ | |||
+ | ==== Sistemas ligeros ==== | ||
+ | * Container Linux (CoreOS) | ||
+ | * Project Atomic (RedHat) | ||
+ | * Ubuntu Core (Canonical) | ||
+ | * standar de aplicaciones -> inapi | ||
+ | * RancherOS | ||
+ | * Photon (VMWare) | ||
+ | * DCOS (Mesosphere) = Data Center Operating System | ||
+ | |||
+ | * para desplegar aplicaciones " | ||
+ | * sin paquetes de aplicaciones | ||
+ | * aplicaciones sobre contenedores (snaps en Ubuntu) | ||
+ | * suelen utilizarse para clusters | ||
+ | * RancherOS: el propio sistema " | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Orquestación con contenedores | ||
+ | <button collapse=" | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== orquestadores de contenedores ==== | ||
+ | * gestionan clusters de equipos | ||
+ | * aplicaciones " | ||
+ | * aportan funcionalidad adicional | ||
+ | * alta disponibilidad | ||
+ | * balanceo de carga | ||
+ | * comunicación con el exterior | ||
+ | * despliegues en producción | ||
+ | |||
+ | ==== kubernetes ==== | ||
+ | * desarrollo inicial de Google | ||
+ | * liberado con licencia Apache | ||
+ | * no es el modus operandi habitual | ||
+ | * hace uso intensivo de herramientasde software libre | ||
+ | * Donado a la CNCF = Cloud Native Computing Fundation | ||
+ | * fundación, luego Google se aparta | ||
+ | * pretende estandarización y aportación por parte de otros | ||
+ | * Kubelet, pods | ||
+ | * kubelet: agente? | ||
+ | * pods: " | ||
+ | * intercomunicación entre los diferentes contenedores -> compleja | ||
+ | * kube-proxy : acceso a/desde el exterior | ||
+ | * Docker, rkt,... | ||
+ | * software " | ||
+ | |||
+ | <image shape=" | ||
+ | |||
+ | ==== Docker swarm ==== | ||
+ | * integrado en docker desde la v1.12 | ||
+ | * aplicaciones definidas en docker compose | ||
+ | * se gestiona con comandos docker | ||
+ | |||
+ | ==== Mesos / Marathon ==== | ||
+ | * soporte para docker y rkt | ||
+ | * otras cargas de trabajo: big data | ||
+ | * utilizado en producción por twitter o airbnb | ||
+ | * Mesosphere proporciona soporte comercial | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Contenedores IaaS | ||
+ | <button collapse=" | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Contenedores, | ||
+ | * despliegue desde templantes: heat, cfn... | ||
+ | * ¿bare-metal? | ||
+ | * servidores físicos | ||
+ | * automatización arranque y configuración de servidor físico (aka VMs) -> packet | ||
+ | * contenedores sobre MVs | ||
+ | * elasticidad | ||
+ | * containers as a Service | ||
+ | * Facilidad para desplegar contenedores | ||
+ | * imágenes o SO preconfigurados | ||
+ | * registros propios para imágenes de contenedores | ||
+ | |||
+ | ==== Contenedores en AWS ==== | ||
+ | * Amazon EC2 Container Service | ||
+ | * contenedores docker sobre instancias EC2 | ||
+ | * cluster de instancias EC2 | ||
+ | * no implementa kubernetes | ||
+ | |||
+ | ==== Contenedores en Google ==== | ||
+ | * Google Containers Engine | ||
+ | * Integración completa con kubernetes | ||
+ | * también docker, LXD o rkt directamente | ||
+ | |||
+ | ==== Contenedores Azure ==== | ||
+ | * Azure Container Service | ||
+ | * Swarm, kubernetes o DCOS | ||
+ | |||
+ | ==== Contenedores en OpenStack ==== | ||
+ | * contenedores sobre instacias | ||
+ | * despliegues de kubernetes, swarm, etc... con OpenStack heat | ||
+ | * OpenStack Magnum : Containers as a Service | ||
+ | * integración entre MVs y Contenedores a nivel de red | ||
+ | |||
+ | </ | ||
+ | |||
+ | == Contenedores PaaS | ||
+ | <button collapse=" | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Contenedores en PaaS ==== | ||
+ | * contenedores como aplicación nativa cloud | ||
+ | * están sustituyendo a muchos PaaS | ||
+ | * nuevo enfoque: una capa más sobre orquestador | ||
+ | * aportan funcionalidad y facilidad de uso | ||
+ | * se centran en el desarrollo, no en la herramienta de orquestación | ||
+ | |||
+ | ==== ejemplo: OpenShift v3 ==== | ||
+ | * desarrollo de RedHat | ||
+ | * v2 - en local o en nube (redhat en AWS) | ||
+ | * como servicio o en privado | ||
+ | * funciona sobre kubernetes | ||
+ | * añade funcionalidad | ||
+ | * espacios de nombres | ||
+ | * facilitar gestión de kubernetes por varios desarrolladores | ||
+ | * RBAC | ||
+ | * plantillas | ||
+ | * integración con herramientas de desarrollo | ||
+ | * control versiones, CI, pruebas automáticas... | ||
</ | </ |