"Kubernetes" es un palabro de moda, si te has intentado meter con devops seguramente habrás jugado con Docker y ahora estarás pensando y esto de "Kubernetes"... ¿Para qué sirve?
En este webinar te resumimos en 2 horas conceptos, cuando usarlo todo aderezado con unas demos en vivo :).
Si tienes más ganas de aprender devops, en Octubre arrancamos con un Bootcamp Devops: https://lemoncode.net/bootcamp-devops#bootcamp-devops/inicio
Sobre el ponente:
Eduard Tomás
Friki standard de nivel 10. Le gusta la música heviata, los libros de fantasía (buenos, nada de R. A. Salvatore, no hagamos coñas), la ciencia ficción, los juegos de rol con papel y dados de colores y como no, el desarrollo… Tras varios años de ir dando lata y de charlar en eventos internacionales (vale, un par de veces en Andorra) fue reconocido MVP en IIS/ASP.NET por parte de Microsoft, por lo que tiene en casa una esatuilla de algo parecido al cristal con 8 anillitos muy monos. También ganó una vez unos juegos florales en su escuela, hito que no se valora lo suficiente. En su tiempo libre lo puedes encontrar programando algún que otro engendro en Plain Concepts.
Es también un famoso (al menos en su círculo de amistades) fabricante de cerveza artesana. Pero artesana de verdad, de la que se fabrica con botes de plástico y se deja olvidada en un sótano húmedo y oscuro para que fermente. De momento no consta nadie intoxicado por dicha cerveza, pero siempre tiene a punto un par de billetes para cualquier país sin tratado de extradición, por si se da el caso.
4. Definicionesprevias
Contenedor
Un contenedor representa un mecanismo de
empaquetado lógico donde las aplicaciones tienen
todo lo que necesitan para ejecutarse (no más
quebradero de cabeza de que la versión de .net
core no cuadra con la que hay en producción)
Nodo
Un nodo es una máquina de trabajo, previamente
conocida como minion. Un nodo puede ser una
máquina virtual o física, dependiendo del tipo de
cluster.
Cluster
Un cluster es un conjunto de nodos dedicados a
ejecutar aplicaciones en contenedores.
Reverse Proxy
Es un intermediario para el trafico que entra desde
internet a nuestros servidores, este reverse proxy
sabe a quién reenviar la petición de entrada.
5. Negocio
No quiero que se me caiga el sistema, no me vale eso de que a tal servidor
se le quemó la fuente de alimentación
No quiero gastar más dinero de la cuenta en ”hierro” pero tampoco quiero
que el sitio se caiga si viene un pico de visitas ¿Eso no puede escalar sólo?
El sitio tiene que estar operativo el 100% del tiempo ¿Tu has visto que
Amazon te ponga cerrado por mantenimiento?
¡ Ah ! Y si el sistema se pone a escalar quiero que el tema de comunicar
servidores etc… sea transparente para mi
Carta a los reyes magos de tu jefe:
6. Unpocodehistoria
2000
2002
2003
2006
2008
2013
2013
2014
2015
2016
FreeBSD jails
Aparecen los namespaces en linux
Google lanzar Borg, orquestador de cargas de trabajo
Google lanza Process Containers (luego llamado cgroups) y
establece, junto a los namespaces, las bases para los contenedores
modernos.
Sale LXC, el primero gestor completo de contenedores
Google lanza Omega, evolución de Borg
Google lanza LMCTFY (Let Me Contain This For You)
Nace Docker
Google lanza Kubernetes y lo hace open source
Linux fundation crea la CNFC (Cloud Native Computing Foundation)
Kubernetes es donado a la CNFC
2013
7. Definiciónoficial
Kubernetes (K8S) es un sistema open
source para automatizar despliegues,
escalado y gestión de aplicaciones que
corren en contenedores.
https://kubernetes.io/
8. ¿Quées?
Es un orquestador de contenedores.
También lo podemos ver como un “Sistema
Operativo para contenedores”
9. ¿Quéhace?
Ejecuta cargas de trabajo basadas en contenedores
Gestiona la escalabilidad
Nos permite realizar despliegues sin caída de servicio
Nos permite añadir monitorización
Nos permite gestionar seguridad, …
10. Y…¿Cómolohace?
Kubernetes define un modelo de aplicación propio, extremadamente
flexible
Los controladores controlan que en todo momento la carga de trabajo se
mantiene dentro de unos ciertos parámetros
Los recursos son objetos de Kubernetes que se “despliegan” en el cluster
para indicar las características del trabajo a realizar
Como desarrollador habitualmente se usan los controladores existentes
desplegando recursos para que esos los controlen. Pero es posible crear
controladores propios
11. ¿Quéesunpod?
Un pod es una unidad de trabajo
ejecutable.
Pueden ejecutar UNO o MÁS
contenedores y tienen IP propia
Lo normal es que un pod tengo
un contenedor, pero tener más
de uno es útil en escenarios
avanzados
Es la unidad mínima de
despliegue, ejecución y
versionado
12. Replicasets
Se encarga de
garantizar que
siempre hay N
pods idénticos
Habitualmente no
los usamos
directamente si
no a través de
deployments
Replica count: 4
Identicalpods
15. Servicios
Engloban varios pods bajo una misma IP virtual
Actua de reverse proxy para todos esos pods
Se puede mapear a un puerto de los nodos para ofrecer acceso desde el
exterior a los pods
Se puede integrar con un Load Balancer externo para ofrecer acceso desde
el exterior a los pods
17. Ingresses
Definen puntos de entrada (L7) a los distintos servicios
Actúa de ”API Gateway”, permitiendo definir rutas para acceder a los
servicios y usar terminación de SSL
Requiere de un controlador ingress para funcionar
18. Otrosobjetosdekubernetes
ConfigMap
Mantienen mapas
(clave, valor) de
configuración.
Secrets
Mantienen mapas de
valores secretos.
HPA
Escala
automáticamente
cargas de trabajo en
base a métricas
Jobs
Ejecuta todos los pods
necesarios para
garantizar que una
tarea se ejecuta una
vez
StatefulSet
Controlador avanzado
para el despliegue de
aplicaciones con
estado (p. ej. BBDD)
PV/PVC
Representa un
almacenamiento de
datos persistente que
suele residir fuera del
cluster
Bienvenidos a este webinar sobre Kubernettes, … esa tecnología que muchos decimos: otra más… ¿ Y esto para que narices sirve?
Lo primero presentaros al ponente, nada más y nada menos que Eduard Tomás, un señor veterano del Vietnam que se ha metido en mil guerras, .net, devops… hasta ha picado con Objetive C para IOS ¿ Te acuerdas en 2011 en el máster RIATec?
Edu también es profesor de nuestro Bootcamp Devops, arrancamos a principios de Octubre, si tienes ganas de ponerte al día en, Docker, Kubernettes, Proveedores de cloud, integración continua… echale un vistazo,.
Y ya os dejo con Eduard, ¡ manos a la obra !
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?