SlideShare una empresa de Scribd logo
No Kuberneteen por convivir
O de cuando es más importante el hype
Sobre Domingo
• Twitter @domix
• Parte del equipo organizador de Java México (JVM Group)
• Responsable del canal de YouTube http://bit.ly/yt-javamexico
• Fundador del capitulo de la CNCF en México
• https://cloudnative.mx/
• https://cloudnative.mx/podcast/
• Cofundador y Consejero https://www.meetup.com/Cloud-Native-Guadalajara/
• Java Champion
• Autoempleado en https://circulosiete.com/
• https://www.youtube.com/Coderdog
Kubernetes
• Kubernetes es una plataforma Open Source de calidad productiva que
organiza la colocación (scheduling) y la ejecución de contenedores de
aplicaciones dentro y a través de clústers de computadoras.
• Kubernetes coordina un grupo de computadoras de alta disponibilidad
que están conectadas para trabajar como una sola unidad.
• Kubernetes automatiza la distribución y planificación (scheduling) de
contenedores de aplicaciones en un clúster de una manera más eficiente.
Componentes
• Control Plane (master)
• etcd
• API server
• Controller Manager
• Scheduler
• Nodos (Worker node)
• Kubelet
• Kube proxy
• Network overlay
• Container Engine
Funcionalidades
• Controlar el consumo de recursos por aplicación o equipo
• Distribución uniforme de la carga de aplicaciones en la infraestructura
• Balanceo de carga automático en las diferentes instancias (réplicas) de una aplicación
• Monitorear el consumo de recursos y los límites de recursos para evitar automáticamente que las
aplicaciones consuman demasiados recursos y reinicio de aplicaciones
• Mover una instancia de aplicación de un host a otro si hay una escasez de recursos en un host, o
si el host muere
• Aprovechar automáticamente recursos adicionales disponibles cuando se agrega un nuevo host
al clúster
• Realizar fácilmente despliegues y rollbacks
Promesas
• Kubernetes te ayuda a moverte más rápido
• Kubernetes es rentable
• Kubernetes es agnóstico de la nube
• Los proveedores de la nube administran Kubernetes por nosotros
• ¡Ejecutar aplicaciones nunca fue tan sencillo!
¿Será cierto?
Viajemos a la realidad
Una historia verdadera
• Recibo una llamada de un potencial cliente.
• Tiene un problema con su cluster de Kubernetes instalado On Premises
• Necesita una solución inmediata
• El core business de su cliente principal se ejecuta ahí.
• Empiezo a hacerle unas preguntas sencillas.
• ¿Cuál es el problema?
• La aplicación no responde, se esta ejecutando el contenedor pero pareciera que no recibe trafico.
• ¿Cuantos nodos hay en el Control Plane?
• ¿eh?… este… ¿que es eso?, oh espera, me dicen que son 4 master
• ¿Cuantos nodos worker tienen?
• Tenemos 4
• OK, solo para confirmar ¿Tu cluster completo tiene 8 VMs en total?
• …
• Son entonces 8 máquinas, ¿cierto?
• No. Son 4 en total…..
Problema 1
• GRAVE
• ¡¡¡Instalaron todos los componentes tanto del Control Plane como de los
worker nodes en todas las máquinas!!!
• No hay separación de responsabilidades.
Problema 2
• El control plane tiene un número par de miembros
• En muchos escenarios esto no representa un problema. El problema
puede presentarse cuando los procesos de etcd se ejecutan en las VMs
del Control Plane.
• etcd NO debe ejecutarse en nodos pares
https://github.com/etcd-io/etcd/blob/master/Documentation/v2/admin_guide.md
https://github.com/etcd-io/etcd/blob/master/Documentation/v2/admin_guide.md
https://github.com/bmizerany/etcd-team/blob/master/Documentation/optimal-cluster-size.md
Algoritmo de consenso Raft
• https://raft.github.io/
• Pueden ver una explicación hecha por Jessica Barbosa en el Meetup de
Cloud Native MX de Octubre de 2018
• https://www.youtube.com/watch?v=3GdCkBNrHyI
Ya chole Domingo…
Dinos el problema real del cliente.
iptables
• Benditas, iptables.
• Kubernetes usa iptables para controlar las
conexiones de red entre pods (y entre nodos),
manejando muchas de las reglas de red y
reenvío de puertos. De esta manera, los clientes
no necesitan hacer un seguimiento de las
direcciones IP para conectarse a los servicios
de Kubernetes. Además, la asignación de
puertos se simplifica enormemente (y se elimina
principalmente) ya que cada pod tiene su
propia dirección IP y su contenedor puede
escuchar en su puerto nativo.
https://docs.oracle.com/cd/E52668_01/E88884/html/kube_admin_config_iptables.html
BPF y Kubernetes
• Kubernetes reemplazará muy pronto iptables por BPF
• https://lwn.net/Articles/747551/
• https://cilium.io/blog/2018/04/17/why-is-the-kernel-community-replacing-iptables/
Cerrando el caso del cliente
• ¿Podemos limpiar las reglas de iptables? El Kube proxy las generará
nuevamente.
• No, la gente de seguridad no me lo permitirá.
• OK, mientras otra pregunta
• Si claro
• ¿Cuántas aplicaciones están corriendo?
• Solo una. Es un sitio web de Wordpress empaquetado como contenedor..
Directed by
ROBERT B. WEIDE
¡No Kuberneteen por convivir!
¿Otra historia?
Ni modo, ahi les va.
Tengo tiempo.
Contexto
• Meses atrás instale varios clusters con un cliente a “mano”, en dos centros
de datos.
• https://github.com/kelseyhightower/kubernetes-the-hard-way
• Ademas apoye en la implementación de una arquitectura de Microservicios.
• En producción operando y atendiendo a millones de ciudadanos, toda la
aplicación presentaba problemas graves de performance.
• El culpable. Yo. Quien más.
Desarrollo
• El primer día a primera hora. Junta. Casi 2 horas de regaños y de
predicciones del futuro (#eufenismo)
• Ya sabiendo un poco del problema….
Datos antes que acciones
• Su cluster no tenia ningún tipo de monitoreo.
• Por meses habían intentado de todo.
• Cambios al código
• Desplegar todo de 0
• Reinstalaron cluster
• Recrearon VMs
Prometheus! #ftw
Identificación del problema
• Tiempo de escritura de etcd lento.
• etcd elegia lider a cada rato.
• Cuando no hay líder electo, las escrituras se rechazan.
• Todas las operaciones del cluster, estaban siendo afectadas.
• Realice pruebas de “stress” al DD para descartar problemas con el cluster de
etcd
• Obtuve escrituras de 150 KB por segundo!!!! No era etcd, no era el cluster de
k8s.
¿Solución?
“Solución”
• Escale el problema a infraestructura al día siguiente (una vez que me había asegurado
otra vez).
• Durante días no aceptaron mi “issue”.
• Debido a mi insistencia, logre que el operador de la infraestructura me mostrará el
dashboard del monitoreo de su Hypervisor con la solución de almacenamiento
(Hiperconvergente)
• En un glorioso diagrama de barras era evidente los altísimos tiempos de escritura de su
hardware.
• ¡¡¡Nadie lo había notado!!!!
• Infra llevo ese problema al proveedor. Mi trabajo termino por ese día… ¿O no?
¡No Kuberneteen por convivir!
Última experiencia…
Aplicaciones Java…
Como containers…
¿Alguien dijo sizing?
¿Cuantos recursos necesita tu
“microservicio” Java?
Si, ese “microservicio” que usa
Base de datos compartida y que el
Jar es de 150 MB.
Hagamos un ejemplo
Ahora, ¿recuerdan las
promesas de Kubernetes?
Promesas
• Kubernetes te ayuda a moverte más rápido
• Kubernetes es rentable
• Kubernetes es agnóstico de la nube
• Los proveedores de la nube administran Kubernetes por nosotros
• ¡Ejecutar aplicaciones nunca fue tan sencillo!
¿Cómo?
Funcionalidades
• Controlar el consumo de recursos por aplicación o equipo
• Distribución uniforme de la carga de aplicaciones en la infraestructura
• Balanceo de carga automático en las diferentes instancias (réplicas) de una aplicación
• Monitorear el consumo de recursos y los límites de recursos para evitar automáticamente que las
aplicaciones consuman demasiados recursos y reinicio de aplicaciones
• Mover una instancia de aplicación de un host a otro si hay una escasez de recursos en un host, o
si el host muere
• Aprovechar automáticamente recursos adicionales disponibles cuando se agrega un nuevo host
al clúster
• Realizar fácilmente despliegues y rollbacks
Escalamiento
• Kubernetes no puede escalar si no puede gestionar bien los recursos.
• ¿Estás especificando adecuadamente las cuotas de recursos en tus
pods?
¡No Kuberneteen por convivir!
Kubernetes es una
herramienta increíble
No la subutilizen
Gracias

Más contenido relacionado

La actualidad más candente

De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Kubernetes: Do's, don'ts and why's
Kubernetes: Do's, don'ts and why'sKubernetes: Do's, don'ts and why's
Kubernetes: Do's, don'ts and why'sEduard Tomàs
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxParadigma Digital
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDAKCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDAEduard Tomàs
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayPlain Concepts
 
Java day 2018 -> Integración y entrega continua no es más trabajo
Java day 2018 ->  Integración y entrega continua no es más trabajoJava day 2018 ->  Integración y entrega continua no es más trabajo
Java day 2018 -> Integración y entrega continua no es más trabajoDavid Recinos Orellana
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a DockerOpen Canarias
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoRestorando
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
 
Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)Eduard Tomàs
 

La actualidad más candente (20)

De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Kubernetes: Do's, don'ts and why's
Kubernetes: Do's, don'ts and why'sKubernetes: Do's, don'ts and why's
Kubernetes: Do's, don'ts and why's
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDAKCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev Day
 
ONE Xperience at Facultat d'Informàtica de Barcelona
ONE Xperience at Facultat d'Informàtica de BarcelonaONE Xperience at Facultat d'Informàtica de Barcelona
ONE Xperience at Facultat d'Informàtica de Barcelona
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
Java day 2018 -> Integración y entrega continua no es más trabajo
Java day 2018 ->  Integración y entrega continua no es más trabajoJava day 2018 ->  Integración y entrega continua no es más trabajo
Java day 2018 -> Integración y entrega continua no es más trabajo
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
 
Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)Containers en .NET (Dot Net 2018 - Spain)
Containers en .NET (Dot Net 2018 - Spain)
 

Similar a Java Dev Day 2019 No kuberneteen por convivir

Keda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en ServerlessKeda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en ServerlessEduard Tomàs
 
Instalacion y uso basico de Kubernetes.
Instalacion y uso basico de Kubernetes.Instalacion y uso basico de Kubernetes.
Instalacion y uso basico de Kubernetes.Moisés Elías Araya
 
Docker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidadDocker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidadÓscar De Arriba González
 
Docker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdfDocker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdfLeonardo Micheloni
 
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...Francisco Javier Barrena
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.Paradigma Digital
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesBitnami
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaDomingo Suarez Torres
 
Dynamics saturday madrid 2018 bc-on-docker - jakub
Dynamics saturday madrid 2018   bc-on-docker - jakubDynamics saturday madrid 2018   bc-on-docker - jakub
Dynamics saturday madrid 2018 bc-on-docker - jakubDemian Raschkovan
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. Amazon Web Services
 
AWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAmazon Web Services LATAM
 

Similar a Java Dev Day 2019 No kuberneteen por convivir (20)

Keda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en ServerlessKeda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en Serverless
 
El camino de Java a Kubernetes
El camino de Java a KubernetesEl camino de Java a Kubernetes
El camino de Java a Kubernetes
 
Instalacion y uso basico de Kubernetes.
Instalacion y uso basico de Kubernetes.Instalacion y uso basico de Kubernetes.
Instalacion y uso basico de Kubernetes.
 
meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
Docker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidadDocker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidad
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Docker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdfDocker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdf
 
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de Aplicaciones
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta carga
 
Dynamics saturday madrid 2018 bc-on-docker - jakub
Dynamics saturday madrid 2018   bc-on-docker - jakubDynamics saturday madrid 2018   bc-on-docker - jakub
Dynamics saturday madrid 2018 bc-on-docker - jakub
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
 
AWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nube
 
Lemoncode kubernetes
Lemoncode   kubernetes Lemoncode   kubernetes
Lemoncode kubernetes
 

Más de Domingo Suarez Torres

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesDomingo Suarez Torres
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosDomingo Suarez Torres
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDomingo Suarez Torres
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyDomingo Suarez Torres
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityDomingo Suarez Torres
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextDomingo Suarez Torres
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 
Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Domingo Suarez Torres
 
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootDomingo Suarez Torres
 

Más de Domingo Suarez Torres (20)

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
 
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMXContenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
 
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDLJava Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
 
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVMPeru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
 
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
 
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
 
Cloud Native Mexico Presentacion
Cloud Native Mexico PresentacionCloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
 
gRPC: Beyond REST
gRPC: Beyond RESTgRPC: Beyond REST
gRPC: Beyond REST
 
Devops Landscape
Devops LandscapeDevops Landscape
Devops Landscape
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016
 
Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016
 
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
 

Último

PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respetocdraco
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx44652726
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadaspqeilyn0827
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 

Último (20)

PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 

Java Dev Day 2019 No kuberneteen por convivir

  • 1. No Kuberneteen por convivir O de cuando es más importante el hype
  • 2. Sobre Domingo • Twitter @domix • Parte del equipo organizador de Java México (JVM Group) • Responsable del canal de YouTube http://bit.ly/yt-javamexico • Fundador del capitulo de la CNCF en México • https://cloudnative.mx/ • https://cloudnative.mx/podcast/ • Cofundador y Consejero https://www.meetup.com/Cloud-Native-Guadalajara/ • Java Champion • Autoempleado en https://circulosiete.com/ • https://www.youtube.com/Coderdog
  • 3.
  • 4. Kubernetes • Kubernetes es una plataforma Open Source de calidad productiva que organiza la colocación (scheduling) y la ejecución de contenedores de aplicaciones dentro y a través de clústers de computadoras. • Kubernetes coordina un grupo de computadoras de alta disponibilidad que están conectadas para trabajar como una sola unidad. • Kubernetes automatiza la distribución y planificación (scheduling) de contenedores de aplicaciones en un clúster de una manera más eficiente.
  • 5. Componentes • Control Plane (master) • etcd • API server • Controller Manager • Scheduler • Nodos (Worker node) • Kubelet • Kube proxy • Network overlay • Container Engine
  • 6.
  • 7. Funcionalidades • Controlar el consumo de recursos por aplicación o equipo • Distribución uniforme de la carga de aplicaciones en la infraestructura • Balanceo de carga automático en las diferentes instancias (réplicas) de una aplicación • Monitorear el consumo de recursos y los límites de recursos para evitar automáticamente que las aplicaciones consuman demasiados recursos y reinicio de aplicaciones • Mover una instancia de aplicación de un host a otro si hay una escasez de recursos en un host, o si el host muere • Aprovechar automáticamente recursos adicionales disponibles cuando se agrega un nuevo host al clúster • Realizar fácilmente despliegues y rollbacks
  • 8. Promesas • Kubernetes te ayuda a moverte más rápido • Kubernetes es rentable • Kubernetes es agnóstico de la nube • Los proveedores de la nube administran Kubernetes por nosotros • ¡Ejecutar aplicaciones nunca fue tan sencillo!
  • 10. Viajemos a la realidad
  • 11. Una historia verdadera • Recibo una llamada de un potencial cliente. • Tiene un problema con su cluster de Kubernetes instalado On Premises • Necesita una solución inmediata • El core business de su cliente principal se ejecuta ahí. • Empiezo a hacerle unas preguntas sencillas.
  • 12. • ¿Cuál es el problema? • La aplicación no responde, se esta ejecutando el contenedor pero pareciera que no recibe trafico. • ¿Cuantos nodos hay en el Control Plane? • ¿eh?… este… ¿que es eso?, oh espera, me dicen que son 4 master • ¿Cuantos nodos worker tienen? • Tenemos 4 • OK, solo para confirmar ¿Tu cluster completo tiene 8 VMs en total? • … • Son entonces 8 máquinas, ¿cierto? • No. Son 4 en total…..
  • 13.
  • 14. Problema 1 • GRAVE • ¡¡¡Instalaron todos los componentes tanto del Control Plane como de los worker nodes en todas las máquinas!!! • No hay separación de responsabilidades.
  • 15. Problema 2 • El control plane tiene un número par de miembros • En muchos escenarios esto no representa un problema. El problema puede presentarse cuando los procesos de etcd se ejecutan en las VMs del Control Plane. • etcd NO debe ejecutarse en nodos pares
  • 18. Algoritmo de consenso Raft • https://raft.github.io/ • Pueden ver una explicación hecha por Jessica Barbosa en el Meetup de Cloud Native MX de Octubre de 2018 • https://www.youtube.com/watch?v=3GdCkBNrHyI
  • 19. Ya chole Domingo… Dinos el problema real del cliente.
  • 20. iptables • Benditas, iptables. • Kubernetes usa iptables para controlar las conexiones de red entre pods (y entre nodos), manejando muchas de las reglas de red y reenvío de puertos. De esta manera, los clientes no necesitan hacer un seguimiento de las direcciones IP para conectarse a los servicios de Kubernetes. Además, la asignación de puertos se simplifica enormemente (y se elimina principalmente) ya que cada pod tiene su propia dirección IP y su contenedor puede escuchar en su puerto nativo.
  • 22. BPF y Kubernetes • Kubernetes reemplazará muy pronto iptables por BPF • https://lwn.net/Articles/747551/ • https://cilium.io/blog/2018/04/17/why-is-the-kernel-community-replacing-iptables/
  • 23. Cerrando el caso del cliente
  • 24. • ¿Podemos limpiar las reglas de iptables? El Kube proxy las generará nuevamente. • No, la gente de seguridad no me lo permitirá. • OK, mientras otra pregunta • Si claro • ¿Cuántas aplicaciones están corriendo? • Solo una. Es un sitio web de Wordpress empaquetado como contenedor..
  • 26.
  • 27. ¡No Kuberneteen por convivir!
  • 29. Ni modo, ahi les va. Tengo tiempo.
  • 30. Contexto • Meses atrás instale varios clusters con un cliente a “mano”, en dos centros de datos. • https://github.com/kelseyhightower/kubernetes-the-hard-way • Ademas apoye en la implementación de una arquitectura de Microservicios. • En producción operando y atendiendo a millones de ciudadanos, toda la aplicación presentaba problemas graves de performance. • El culpable. Yo. Quien más.
  • 31. Desarrollo • El primer día a primera hora. Junta. Casi 2 horas de regaños y de predicciones del futuro (#eufenismo) • Ya sabiendo un poco del problema….
  • 32.
  • 33. Datos antes que acciones • Su cluster no tenia ningún tipo de monitoreo. • Por meses habían intentado de todo. • Cambios al código • Desplegar todo de 0 • Reinstalaron cluster • Recrearon VMs
  • 35.
  • 36.
  • 37.
  • 38. Identificación del problema • Tiempo de escritura de etcd lento. • etcd elegia lider a cada rato. • Cuando no hay líder electo, las escrituras se rechazan. • Todas las operaciones del cluster, estaban siendo afectadas. • Realice pruebas de “stress” al DD para descartar problemas con el cluster de etcd • Obtuve escrituras de 150 KB por segundo!!!! No era etcd, no era el cluster de k8s.
  • 39.
  • 41. “Solución” • Escale el problema a infraestructura al día siguiente (una vez que me había asegurado otra vez). • Durante días no aceptaron mi “issue”. • Debido a mi insistencia, logre que el operador de la infraestructura me mostrará el dashboard del monitoreo de su Hypervisor con la solución de almacenamiento (Hiperconvergente) • En un glorioso diagrama de barras era evidente los altísimos tiempos de escritura de su hardware. • ¡¡¡Nadie lo había notado!!!! • Infra llevo ese problema al proveedor. Mi trabajo termino por ese día… ¿O no?
  • 42. ¡No Kuberneteen por convivir!
  • 46. ¿Cuantos recursos necesita tu “microservicio” Java?
  • 47. Si, ese “microservicio” que usa Base de datos compartida y que el Jar es de 150 MB.
  • 50. Promesas • Kubernetes te ayuda a moverte más rápido • Kubernetes es rentable • Kubernetes es agnóstico de la nube • Los proveedores de la nube administran Kubernetes por nosotros • ¡Ejecutar aplicaciones nunca fue tan sencillo!
  • 52. Funcionalidades • Controlar el consumo de recursos por aplicación o equipo • Distribución uniforme de la carga de aplicaciones en la infraestructura • Balanceo de carga automático en las diferentes instancias (réplicas) de una aplicación • Monitorear el consumo de recursos y los límites de recursos para evitar automáticamente que las aplicaciones consuman demasiados recursos y reinicio de aplicaciones • Mover una instancia de aplicación de un host a otro si hay una escasez de recursos en un host, o si el host muere • Aprovechar automáticamente recursos adicionales disponibles cuando se agrega un nuevo host al clúster • Realizar fácilmente despliegues y rollbacks
  • 53. Escalamiento • Kubernetes no puede escalar si no puede gestionar bien los recursos. • ¿Estás especificando adecuadamente las cuotas de recursos en tus pods?
  • 54. ¡No Kuberneteen por convivir!