SlideShare una empresa de Scribd logo
Patrocina Colabora
Organiza
Escalado, alta disponibilidad y
tolerancia a fallos con Kubernetes
Carlos Landeras Martínez
Technical Lead at Plain Concepts
Microsoft MVP at Developer Technologies
Índice
AGENDA
¿Qué es Kubernetes?
Introducción
Conceptos básicos de Kubernetes
Cluster, Pods, Deployments, Services
Horizontal Pod Autoscaler (HPA)
Configuración del escalado horizontal de deployments
Demo HPA en Azure Kubernetes Service
Escalado automático con HPA y monitorización
Alta disponibilidad y tolerancia a fallos
Liveness and readiness probes
Demo alta disponibilidad
Deployments confiables y a dormir tranquilos
¿Qué es Kubernetes?
Kubernetes es una plataforma open-source para el despliegue y orquestación de aplicaciones
contenerizadas y servicios.
Kubernetes asigna recursos a contenedores y se encarga de la replicación, escalado, conmutación
por error y de otras tareas de administración para la ejecución de aplicaciones de manera confiable
con utilización eficiente de recursos.
Conceptos Básicos
¿Qué es un Cluster?
• Un clúster de Kubernetes está compuesto por nodos.
• Un nodo es la unidad hardware mas pequeña de computación en Kubernetes.
• Un nodo puede ser una máquina física en un datacenter o una máquina virtual en la nube.
• Un clúster agrupa los recursos de los nodos para componer una máquina mucho mas potente.
• El clúster maneja de manera inteligente la distribución de trabajo entre los nodos.
Conceptos Básicos
¿Qué es un Pod ?
Los pods son las unidades de computación desplegables más
pequeñas que se pueden crear y administrar en Kubernetes.
Un pod puede estar compuesto de uno o más contenedores.
Si existen varios contenedores estos compartirán el
almacenamiento y la red.
English–detectedEnglish–detectedEnglish–detected
Conceptos Básicos
¿Qué es un Deployment ?
Un Deployment es la unidad de mas alto nivel que podemos
gestionar en Kubernetes. Su despliegue genera un ReplicaSet y nos
brinda los siguientes beneficios:
• Control de replicas
• Escalabilidad de pods
• Actualizaciones continuas
• Despliegues automáticos
• Rollback a versiones anteriores
English–detectedEnglish–detectedEnglish–detected
Conceptos Básicos
¿Qué es un Servicio?
Los servicios definen un conjunto lógico de pods y la política de
como se debe acceder a ellos.
La vida de un pod es efímera y estos se crean y se destruyen, pero
gracias a los servicios siempre tenemos acceso seguro a los pods
que se encuentran disponibles.
Para exponer un pod o un deployment utilizamos los llamados
“label selectors”.
English–detectedEnglish–detectedEnglish–detected
Horizonal Pod Autoscaler
Horizontal Pod Autoscaler o HPA nos permite escalar
automáticamente el número de pods de un deployment
basándose en el consumo de CPU u otras métricas
personalizadas.
English–detectedEnglish–detectedEnglish–detected
¿Cómo escalamos de manera automática?
Demo
Horizontal Pod Autoscaler
Alta disponibilidad y tolerancia a fallos
English–detectedEnglish–detectedEnglish–detected
Una aplicación pueden sufrir un deadlock,
bloquearse de manera indefinida y estar
fuera de servicio, pero como su proceso
sigue en ejecución, Kubernetes piensa que
todo está bien y sigue enviando peticiones
al pod.
Alta disponibilidad y tolerancia a fallos
English–detectedEnglish–detectedEnglish–detected
Liveness Probes
Los “Liveness probes” nos permiten definir pruebas
que ayudan a evaluar cuando un pod no está
funcionando correctamente y tiene que ser
reiniciado.
Podemos configurar pruebas HTTP, TCP y Command
Alta disponibilidad y tolerancia a fallos
English–detectedEnglish–detectedEnglish–detected
Imagina que tus aplicaciones tardan un
periodo de tiempo en “calentar e iniciarse
por completo”.
Kubernetes podría estar enviando tráfico a
aplicaciones que aún no se encuentran
disponibles cuando las detecta en
ejecución.
POD
Alta disponibilidad y tolerancia a fallos
English–detectedEnglish–detectedEnglish–detected
Readiness Probes
Los “Readiness probes” permiten saber cuando un
pod se encuentra disponible y completamente
inicializado.
Los pods que no estén listos serán excluidos del
balanceo de carga y no servirán peticiones.
Alta disponibilidad y tolerancia a fallos
English–detectedEnglish–detectedEnglish–detected
Readiness Probes
DISCLAIMER : Si vas a dar tus primeros pasos con
liveness y readiness probes, ten cuidado con el
parámetro:
initialDelaySeconds
Demo
Alta disponibilidad y tolerancia a fallosProblemas
LOAD BALANCER
FAKE Service Bus
Estructura de la demo
Dependencias externas
Alta disponibilidad y tolerancia a fallos
English–detectedEnglish–detectedEnglish–detected
Resumen
Utilizando una combinación correcta de liveness y readiness probes
conseguimos que Kubernetes pueda “sanar” nuestras aplicaciones
desplegadas.
Gracias a estos mecanismos del orquestador conseguimos tener zero
downtime, alta escalabilidad y tolerancia a fallos.
Patrocina Colabora

Más contenido relacionado

PDF
DevOps Spain 2019. Javier Hijas-Check Point
PDF
DevOps Spain 2019. Luis hernández-Hopla
PDF
DevOps Spain 2019. Antonio David Fernández-atSistemas
PDF
Azure bajo control: Claves de una buena gobernanza
PDF
Cómo maximizar todos los beneficios traidos por la promesa de los contenedores
PDF
Introduction to Azure DevOps
PDF
Devsecops con azure devops en global azure bootcamp 2019
PPTX
DevOps on AZURE
DevOps Spain 2019. Javier Hijas-Check Point
DevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Antonio David Fernández-atSistemas
Azure bajo control: Claves de una buena gobernanza
Cómo maximizar todos los beneficios traidos por la promesa de los contenedores
Introduction to Azure DevOps
Devsecops con azure devops en global azure bootcamp 2019
DevOps on AZURE

La actualidad más candente (20)

PPTX
Visibilidad y modelos de salud - Plain Concepts DevOps day
PDF
Big Data perspectiva DevOps
PPTX
Testing de integración en Azure DevOps con Docker - Plain Concepts DevOps day
PPTX
Mejora tus resultados de negocios con Azure DevOps
PPTX
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
ODP
Cloud Foundry 101
PDF
Workshop azure devsecops Microsoft Argentina
PPTX
Devops vs NoOps
PDF
Kubernetes 101 - Plain Concepts Dev Day
PPTX
Introduccion Power BI Report Server
PDF
Bases de Datos en Kubernetes
PDF
Derribando la torre de marfil - Plain Concepts Dev Day
PPTX
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
PDF
Kubernetes Community Day Spain -> Crossplane
PDF
Hello Azure DevOps
PPTX
Kubernetes: Do's, don'ts and why's
PDF
BBVA Arquitectura - Demo DevOps
PPTX
Containers en .NET (Dot Net 2018 - Spain)
PPTX
Docker y todo eso... más o menos
PDF
Intro to the Cloud with Knative (Spanish)
Visibilidad y modelos de salud - Plain Concepts DevOps day
Big Data perspectiva DevOps
Testing de integración en Azure DevOps con Docker - Plain Concepts DevOps day
Mejora tus resultados de negocios con Azure DevOps
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Foundry 101
Workshop azure devsecops Microsoft Argentina
Devops vs NoOps
Kubernetes 101 - Plain Concepts Dev Day
Introduccion Power BI Report Server
Bases de Datos en Kubernetes
Derribando la torre de marfil - Plain Concepts Dev Day
KCDS 2021- Escalando workloads serverless en Kubernetes con KEDA
Kubernetes Community Day Spain -> Crossplane
Hello Azure DevOps
Kubernetes: Do's, don'ts and why's
BBVA Arquitectura - Demo DevOps
Containers en .NET (Dot Net 2018 - Spain)
Docker y todo eso... más o menos
Intro to the Cloud with Knative (Spanish)
Publicidad

Similar a DevOps Spain 2019. Carlos Landeras-Plain Concepts (20)

PDF
Docker y Kubernetes, en busca de la alta disponibilidad
PDF
Kubernetes - Container Orchestration, Deployment and Scaling
PDF
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
PPTX
Kubernetes workshop
PDF
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
PDF
Explorando los objetos centrales de Kubernetes con Oracle Cloud
PDF
Kubernetes - #dockerconlima
PDF
Kubernetes - #gdglimasummit
PPTX
Kubernetes 101
PDF
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
PDF
Cloud Native Mexico - Introducción a Kubernetes
PDF
Java Dev Day 2019 No kuberneteen por convivir
PPTX
Lemoncode kubernetes
PPTX
Google Cloud Storage ambiente en desarrollo en la nube
PPTX
Presentación Kubernetes y nube y mas nube
PPTX
Esos contenedores, ¡a producción! (Commit Conf 2018)
PDF
meetup digital ocean kubernetes
PDF
Orquestación de contenedores con Kubernetes
PDF
Orquestación de contenedores con Kubernetes SGNext
PDF
Docker meetup :: Kubernetes en Restorando
Docker y Kubernetes, en busca de la alta disponibilidad
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes workshop
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Explorando los objetos centrales de Kubernetes con Oracle Cloud
Kubernetes - #dockerconlima
Kubernetes - #gdglimasummit
Kubernetes 101
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
Cloud Native Mexico - Introducción a Kubernetes
Java Dev Day 2019 No kuberneteen por convivir
Lemoncode kubernetes
Google Cloud Storage ambiente en desarrollo en la nube
Presentación Kubernetes y nube y mas nube
Esos contenedores, ¡a producción! (Commit Conf 2018)
meetup digital ocean kubernetes
Orquestación de contenedores con Kubernetes
Orquestación de contenedores con Kubernetes SGNext
Docker meetup :: Kubernetes en Restorando
Publicidad

Más de atSistemas (20)

PPTX
Agile itsm con atlassian
PPTX
Bizz Chat metamorfosis digital
PPTX
Webinar 5 net5-2021
PPTX
Webinar Speed Up Academy: Acelera la incorporación de talento.
PPTX
Webinar: Descubre los diferentes servicios Cloud Native en Azure
PDF
El futuro del trabajo en equipo
PPTX
La tecnología al servicio de la agilidad empresarial
PPTX
Transformación Agile
PPTX
Transformación cultural
PDF
Technical considerations for Blockchain networks with AWS
PDF
Blockchain Spain II Edición - Ángel Miguel Martínez
PDF
Blockchain Spain - Néstor Gándara
PDF
Blockchain Spain - Juan Luis Gozalo
PDF
Blockchain Spain - Ramón Abruña
PDF
Blockchain Spain - Santiago Chamat
PDF
Blockchain Spain - Antonio Gómez
PDF
Blockchain Spain - Miguel Ángel Rojas
PDF
Blockchain Spain - Andrés Sánchez
PDF
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
PDF
Blockchain Spain II Edición - Juan Manuel Martínez
Agile itsm con atlassian
Bizz Chat metamorfosis digital
Webinar 5 net5-2021
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar: Descubre los diferentes servicios Cloud Native en Azure
El futuro del trabajo en equipo
La tecnología al servicio de la agilidad empresarial
Transformación Agile
Transformación cultural
Technical considerations for Blockchain networks with AWS
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain - Néstor Gándara
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Ramón Abruña
Blockchain Spain - Santiago Chamat
Blockchain Spain - Antonio Gómez
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Andrés Sánchez
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Juan Manuel Martínez

Último (20)

PDF
clase auditoria informatica 2025.........
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
Presentación de Redes de Datos modelo osi
PPTX
Sesion 1 de microsoft power point - Clase 1
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
Curso de generación de energía mediante sistemas solares
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
DOCX
Contenido Fundamentos de comunicaciones Fibra Optica (1).docx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
El uso de las TIC en la vida cotidiana..
clase auditoria informatica 2025.........
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
la-historia-de-la-medicina Edna Silva.pptx
Presentación PASANTIAS AuditorioOO..pptx
Presentación de Redes de Datos modelo osi
Sesion 1 de microsoft power point - Clase 1
introduccion a las_web en el 2025_mejoras.ppt
Curso de generación de energía mediante sistemas solares
CyberOps Associate - Cisco Networking Academy
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Contenido Fundamentos de comunicaciones Fibra Optica (1).docx
Power Point Nicolás Carrasco (disertación Roblox).pptx
Influencia-del-uso-de-redes-sociales.pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Historia Inteligencia Artificial Ana Romero.pptx
El uso de las TIC en la vida cotidiana..

DevOps Spain 2019. Carlos Landeras-Plain Concepts

  • 1. Patrocina Colabora Organiza Escalado, alta disponibilidad y tolerancia a fallos con Kubernetes Carlos Landeras Martínez Technical Lead at Plain Concepts Microsoft MVP at Developer Technologies
  • 2. Índice AGENDA ¿Qué es Kubernetes? Introducción Conceptos básicos de Kubernetes Cluster, Pods, Deployments, Services Horizontal Pod Autoscaler (HPA) Configuración del escalado horizontal de deployments Demo HPA en Azure Kubernetes Service Escalado automático con HPA y monitorización Alta disponibilidad y tolerancia a fallos Liveness and readiness probes Demo alta disponibilidad Deployments confiables y a dormir tranquilos
  • 3. ¿Qué es Kubernetes? Kubernetes es una plataforma open-source para el despliegue y orquestación de aplicaciones contenerizadas y servicios. Kubernetes asigna recursos a contenedores y se encarga de la replicación, escalado, conmutación por error y de otras tareas de administración para la ejecución de aplicaciones de manera confiable con utilización eficiente de recursos.
  • 4. Conceptos Básicos ¿Qué es un Cluster? • Un clúster de Kubernetes está compuesto por nodos. • Un nodo es la unidad hardware mas pequeña de computación en Kubernetes. • Un nodo puede ser una máquina física en un datacenter o una máquina virtual en la nube. • Un clúster agrupa los recursos de los nodos para componer una máquina mucho mas potente. • El clúster maneja de manera inteligente la distribución de trabajo entre los nodos.
  • 5. Conceptos Básicos ¿Qué es un Pod ? Los pods son las unidades de computación desplegables más pequeñas que se pueden crear y administrar en Kubernetes. Un pod puede estar compuesto de uno o más contenedores. Si existen varios contenedores estos compartirán el almacenamiento y la red. English–detectedEnglish–detectedEnglish–detected
  • 6. Conceptos Básicos ¿Qué es un Deployment ? Un Deployment es la unidad de mas alto nivel que podemos gestionar en Kubernetes. Su despliegue genera un ReplicaSet y nos brinda los siguientes beneficios: • Control de replicas • Escalabilidad de pods • Actualizaciones continuas • Despliegues automáticos • Rollback a versiones anteriores English–detectedEnglish–detectedEnglish–detected
  • 7. Conceptos Básicos ¿Qué es un Servicio? Los servicios definen un conjunto lógico de pods y la política de como se debe acceder a ellos. La vida de un pod es efímera y estos se crean y se destruyen, pero gracias a los servicios siempre tenemos acceso seguro a los pods que se encuentran disponibles. Para exponer un pod o un deployment utilizamos los llamados “label selectors”. English–detectedEnglish–detectedEnglish–detected
  • 8. Horizonal Pod Autoscaler Horizontal Pod Autoscaler o HPA nos permite escalar automáticamente el número de pods de un deployment basándose en el consumo de CPU u otras métricas personalizadas. English–detectedEnglish–detectedEnglish–detected ¿Cómo escalamos de manera automática?
  • 10. Alta disponibilidad y tolerancia a fallos English–detectedEnglish–detectedEnglish–detected Una aplicación pueden sufrir un deadlock, bloquearse de manera indefinida y estar fuera de servicio, pero como su proceso sigue en ejecución, Kubernetes piensa que todo está bien y sigue enviando peticiones al pod.
  • 11. Alta disponibilidad y tolerancia a fallos English–detectedEnglish–detectedEnglish–detected Liveness Probes Los “Liveness probes” nos permiten definir pruebas que ayudan a evaluar cuando un pod no está funcionando correctamente y tiene que ser reiniciado. Podemos configurar pruebas HTTP, TCP y Command
  • 12. Alta disponibilidad y tolerancia a fallos English–detectedEnglish–detectedEnglish–detected Imagina que tus aplicaciones tardan un periodo de tiempo en “calentar e iniciarse por completo”. Kubernetes podría estar enviando tráfico a aplicaciones que aún no se encuentran disponibles cuando las detecta en ejecución. POD
  • 13. Alta disponibilidad y tolerancia a fallos English–detectedEnglish–detectedEnglish–detected Readiness Probes Los “Readiness probes” permiten saber cuando un pod se encuentra disponible y completamente inicializado. Los pods que no estén listos serán excluidos del balanceo de carga y no servirán peticiones.
  • 14. Alta disponibilidad y tolerancia a fallos English–detectedEnglish–detectedEnglish–detected Readiness Probes DISCLAIMER : Si vas a dar tus primeros pasos con liveness y readiness probes, ten cuidado con el parámetro: initialDelaySeconds
  • 15. Demo Alta disponibilidad y tolerancia a fallosProblemas
  • 16. LOAD BALANCER FAKE Service Bus Estructura de la demo Dependencias externas
  • 17. Alta disponibilidad y tolerancia a fallos English–detectedEnglish–detectedEnglish–detected Resumen Utilizando una combinación correcta de liveness y readiness probes conseguimos que Kubernetes pueda “sanar” nuestras aplicaciones desplegadas. Gracias a estos mecanismos del orquestador conseguimos tener zero downtime, alta escalabilidad y tolerancia a fallos.