SlideShare a Scribd company logo
1 of 23
K8S
Kubernetes
Raúl Requero García
Arquitecto FullStack en Vizzuality
CTO en MrLooquer (https://mrlooquer.com)
Formador
Twitter: @rrequero
Linkedin: www.linkedin.com/in/requerogarciaraul
Quien soy
¿Porque usar containers?
Server
Host OS
Binarios / librerías
APP
1
APP
2
APP
3
APP
4
Despliegue tradicional
Server
Host OS
APP
1
Despliegue con VMs
Hypervisor
Guest OS
Binarios /
libreríasVM
APP
3
Guest OS
Binarios /
librerías
APP
2
Guest OS
Binarios /
librerías
¿Porque usar containers?
Server
Host OS
APP
1
Despliegue con Contenedores
(Docker)
Docker Engine
Binarios /
librerías
APP
2
Binarios /
librerías
APP
3
Binarios /
librerías
Contenedor
Beneficios de usar containers
● Creación y despliegues agiles
● CI & CD: Uso de herramientas de integración continua para la generación y despliegue
● Fácil Rollback
● Separación del mundo Dev y Ops: Desacopla la implementación de la infraestructura
● Métricas: No solo tenemos las del sistema operativo si no también de la aplicación
● Consistencia entre entornos: Se ejecuta lo mismo en todos los entornos
● Aumenta la abstracción: No nos preocupamos de donde se va a ejecutar
● Es más fácil separar conceptos
● Aislamiento de recursos: Rendimiento predecible
● Utilización de recursos: Gran eficiencia
¿Porque usar kubernetes?
● Orquestación y gestión de contenedores: Aplicaciones reales despliegan
muchos contenedores y en distintas máquinas
● Permite crear servicios de aplicaciones que abarcan varios contenedores
● Gestión de volúmenes, red, seguridad, etc
● Distintos niveles de abstracción (Pods)
● Replicación y Autoescalado
● DNS
● Monitorización
● Control de recursos
● etc
Un poco de historia
● Creado por Google
● Su precursor fue Borg (Todo Google funciona en contenedores)
● En 2014, Google abrió el proyecto
● En 2015, Google dona el proyecto a la Cloud Native Computing Foundation
Que es kubernetes
Es una plataforma de código abierto, extensible y portátil para la gestión de
cargas de trabajo y servicios en contenedores.
Actualmente el ecosistema de kubernetes está creciendo rápidamente y la
plataforma está disponible en numerosos proveedores y formatos
Que es kubernetes
● Plataforma de contenedores
● Plataforma de microservicios
● Plataforma cloud portable
Conceptos en kubernetes (Cluster)
● Node: Son los nodos de máquinas que están disponibles en el cluster
● Master: Es el nodo que controla y gestiona el cluster. Aquí se originan las
tareas
Conceptos en kubernetes (Workloads)
● Pod: Es un conjunto de contenedores desplegados en un nodo. Comparten
la dirección ip, red, etc. Abstraen la red y el almacenamiento de los
contenedores permitiendo más portabilidad entre los nodos.
● Deployment: Controla que los pods esten correctamente y se asegura que
siempre haya el número de réplicas configurado. Además ofrece otras
funcionalidades como rolling-update (actualizar la imagen de un pod sin
necesidad de volver a crear todo)
Conceptos en kubernetes (Workloads)
● HPA (HorizontalPodAutoscaler): Este servicio se encarga de escalar un
deployment según la configuración fijada al crearlo y las métricas recogidas
(CPU y otras)
Conceptos en kubernetes (Network)
● Service: El Service expone las funcionalidades de los pods. En él
configuramos los puertos que queremos exponer y expone el pod en una ip
que no cambia.
● ClusterIP: Expone el pod en la red interna
● NodePort: Asigna un puerto reservado y redirecciona toda el tráfico
desde ese puerto en todos los nodos al servicio. Se puede acceder
desde: [nodeIP]:[nodePort]
● LoadBalancer: (Google Cloud) Crea un LoadBalancer y asigna una IP
estática al servicio
Conceptos en kubernetes (Network)
● Ingress: El ingress crea un load balancer que se puede utilizar para enrutar
el tráfico HTTP(s) a los servicios internos. Se puede utilizar para exponer
varios servicios a una única IP externa.
Conceptos en kubernetes (Security)
● Secret: Los secrets son objetos seguros para almacenar passwords, ssh
keys, etc y que pueden ser leídas por el pod que las requiere en el momento
de su despliegue.
● ConfigMap: Se utilizan para guardar ficheros de configuración que se
utilizarán en los pods. Por ejemplo el fichero de configuración de un nginx.
Conceptos en kubernetes (Storage)
● Volumes: Conceptualmente, un volumen es un directorio que es accesible
para todos los contenedores de un pod. Todo lo que no se escriba en un
volumen desaparecerá cada vez que el pod/container se destruya.
● PersistantVolumes: Son volúmenes cuyo ciclo de vida es gestionada por
kubernetes. Son recursos que existen independientemente de los pods.
● PersistantVolumenClaim: Es el mecanismo para reclamar un volumen para
un pod.
Conceptos en kubernetes (Storage)
NODE
SERVICE
INGRESS
DEPLOYMENT
POD
APP CRON
POD
APP CRON H
P
A
VOLUME VOLUME
PV PV
Herramientas
Gestión:
● kubectl: Es una interfaz de línea de comandos para la API de Kubernetes.
Con ella podemos realizar todo lo posible.
● Dashboard: Aplicación web
● API: API Rest
Aplicaciones:
● Helm: Gestor de paquetes para kubernetes - https://helm.sh/
● cert-manager: Aplicación para la gestión automática de certificados -
https://github.com/jetstack/cert-manager
Proveedores Cloud
● Google Cloud - GKE (Google Kubernetes Engine)
(https://cloud.google.com/kubernetes-engine/)
● Amazon - EKS (https://aws.amazon.com/es/eks/)
● Azure - AKS (https://azure.microsoft.com/es-es/services/kubernetes-service/)
● Digital Ocean (Soon) (https://www.digitalocean.com/products/kubernetes/)
● Alibaba Cloud - (https://www.alibabacloud.com/product/kubernetes)
Demo
https://github.com/rrequero/kube-workshop
Bibliografia
Tutoriales:
https://kubernetes.io/docs/tutorials/
https://eu.udacity.com/course/scalable-microservices-with-kubernetes--ud615
Documentación:
https://kubernetes.io/docs/home/?path=users&persona=app-
developer&level=foundational
https://kubernetes.io/docs/reference/kubectl/overview/
Preguntas
Gracias
@rrequero

More Related Content

What's hot

Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionEric Gustafson
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introductionSparkbit
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfJuanSalinas593459
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking OverviewSreenivas Makam
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistenceJanakiram MSV
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsRamit Surana
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideBytemark
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetesBaraniBuuny
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes VMware Tanzu
 
Kubernetes Networking 101
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101Weaveworks
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewBob Killen
 
WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?Weaveworks
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...Edureka!
 

What's hot (20)

Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdf
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
Docker Networking Overview
Docker Networking OverviewDocker Networking Overview
Docker Networking Overview
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistence
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its components
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
What Is Helm
 What Is Helm What Is Helm
What Is Helm
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetes
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
 
Kubernetes Networking 101
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
 

Similar to Kubernetes workshop

Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
 
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
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJCMicael Gallego
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Francisco Javier Toscano Lopez
 
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
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacionStivenLopez46
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para DummiesRaúl Unzué
 
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
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesDomingo Suarez Torres
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Santi Macias Rodriguez
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStackLibreCon
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 

Similar to Kubernetes workshop (20)

Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
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
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
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
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacion
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
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...
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
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
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
Lemoncode kubernetes
Lemoncode   kubernetes Lemoncode   kubernetes
Lemoncode kubernetes
 
meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 

Recently uploaded

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Recently uploaded (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Kubernetes workshop

  • 2. Raúl Requero García Arquitecto FullStack en Vizzuality CTO en MrLooquer (https://mrlooquer.com) Formador Twitter: @rrequero Linkedin: www.linkedin.com/in/requerogarciaraul Quien soy
  • 3. ¿Porque usar containers? Server Host OS Binarios / librerías APP 1 APP 2 APP 3 APP 4 Despliegue tradicional Server Host OS APP 1 Despliegue con VMs Hypervisor Guest OS Binarios / libreríasVM APP 3 Guest OS Binarios / librerías APP 2 Guest OS Binarios / librerías
  • 4. ¿Porque usar containers? Server Host OS APP 1 Despliegue con Contenedores (Docker) Docker Engine Binarios / librerías APP 2 Binarios / librerías APP 3 Binarios / librerías Contenedor
  • 5. Beneficios de usar containers ● Creación y despliegues agiles ● CI & CD: Uso de herramientas de integración continua para la generación y despliegue ● Fácil Rollback ● Separación del mundo Dev y Ops: Desacopla la implementación de la infraestructura ● Métricas: No solo tenemos las del sistema operativo si no también de la aplicación ● Consistencia entre entornos: Se ejecuta lo mismo en todos los entornos ● Aumenta la abstracción: No nos preocupamos de donde se va a ejecutar ● Es más fácil separar conceptos ● Aislamiento de recursos: Rendimiento predecible ● Utilización de recursos: Gran eficiencia
  • 6. ¿Porque usar kubernetes? ● Orquestación y gestión de contenedores: Aplicaciones reales despliegan muchos contenedores y en distintas máquinas ● Permite crear servicios de aplicaciones que abarcan varios contenedores ● Gestión de volúmenes, red, seguridad, etc ● Distintos niveles de abstracción (Pods) ● Replicación y Autoescalado ● DNS ● Monitorización ● Control de recursos ● etc
  • 7. Un poco de historia ● Creado por Google ● Su precursor fue Borg (Todo Google funciona en contenedores) ● En 2014, Google abrió el proyecto ● En 2015, Google dona el proyecto a la Cloud Native Computing Foundation
  • 8. Que es kubernetes Es una plataforma de código abierto, extensible y portátil para la gestión de cargas de trabajo y servicios en contenedores. Actualmente el ecosistema de kubernetes está creciendo rápidamente y la plataforma está disponible en numerosos proveedores y formatos
  • 9. Que es kubernetes ● Plataforma de contenedores ● Plataforma de microservicios ● Plataforma cloud portable
  • 10. Conceptos en kubernetes (Cluster) ● Node: Son los nodos de máquinas que están disponibles en el cluster ● Master: Es el nodo que controla y gestiona el cluster. Aquí se originan las tareas
  • 11. Conceptos en kubernetes (Workloads) ● Pod: Es un conjunto de contenedores desplegados en un nodo. Comparten la dirección ip, red, etc. Abstraen la red y el almacenamiento de los contenedores permitiendo más portabilidad entre los nodos. ● Deployment: Controla que los pods esten correctamente y se asegura que siempre haya el número de réplicas configurado. Además ofrece otras funcionalidades como rolling-update (actualizar la imagen de un pod sin necesidad de volver a crear todo)
  • 12. Conceptos en kubernetes (Workloads) ● HPA (HorizontalPodAutoscaler): Este servicio se encarga de escalar un deployment según la configuración fijada al crearlo y las métricas recogidas (CPU y otras)
  • 13. Conceptos en kubernetes (Network) ● Service: El Service expone las funcionalidades de los pods. En él configuramos los puertos que queremos exponer y expone el pod en una ip que no cambia. ● ClusterIP: Expone el pod en la red interna ● NodePort: Asigna un puerto reservado y redirecciona toda el tráfico desde ese puerto en todos los nodos al servicio. Se puede acceder desde: [nodeIP]:[nodePort] ● LoadBalancer: (Google Cloud) Crea un LoadBalancer y asigna una IP estática al servicio
  • 14. Conceptos en kubernetes (Network) ● Ingress: El ingress crea un load balancer que se puede utilizar para enrutar el tráfico HTTP(s) a los servicios internos. Se puede utilizar para exponer varios servicios a una única IP externa.
  • 15. Conceptos en kubernetes (Security) ● Secret: Los secrets son objetos seguros para almacenar passwords, ssh keys, etc y que pueden ser leídas por el pod que las requiere en el momento de su despliegue. ● ConfigMap: Se utilizan para guardar ficheros de configuración que se utilizarán en los pods. Por ejemplo el fichero de configuración de un nginx.
  • 16. Conceptos en kubernetes (Storage) ● Volumes: Conceptualmente, un volumen es un directorio que es accesible para todos los contenedores de un pod. Todo lo que no se escriba en un volumen desaparecerá cada vez que el pod/container se destruya. ● PersistantVolumes: Son volúmenes cuyo ciclo de vida es gestionada por kubernetes. Son recursos que existen independientemente de los pods. ● PersistantVolumenClaim: Es el mecanismo para reclamar un volumen para un pod.
  • 17. Conceptos en kubernetes (Storage) NODE SERVICE INGRESS DEPLOYMENT POD APP CRON POD APP CRON H P A VOLUME VOLUME PV PV
  • 18. Herramientas Gestión: ● kubectl: Es una interfaz de línea de comandos para la API de Kubernetes. Con ella podemos realizar todo lo posible. ● Dashboard: Aplicación web ● API: API Rest Aplicaciones: ● Helm: Gestor de paquetes para kubernetes - https://helm.sh/ ● cert-manager: Aplicación para la gestión automática de certificados - https://github.com/jetstack/cert-manager
  • 19. Proveedores Cloud ● Google Cloud - GKE (Google Kubernetes Engine) (https://cloud.google.com/kubernetes-engine/) ● Amazon - EKS (https://aws.amazon.com/es/eks/) ● Azure - AKS (https://azure.microsoft.com/es-es/services/kubernetes-service/) ● Digital Ocean (Soon) (https://www.digitalocean.com/products/kubernetes/) ● Alibaba Cloud - (https://www.alibabacloud.com/product/kubernetes)

Editor's Notes

  1. Al principio, las aplicaciones se desplegaban en un solo host, o varios, donde se utilizaba el gestor de paquetes del sistema operativo host para instalarlas. Además al tener las aplicaciones en un mismo host podíamos tener problemas de configuración, seguridad en los procesos, etc. El siguiente paso fue crear máquinas virtuales (vmware, etc) para intentar salvar estos problemas pero estas imágenes no son portables y además son muy pesadas.
  2. Ahora gracias a la virtualización a nivel de sistema operativo podemos crear entornos de despliegue donde cada contenedor es aislado, tiene su propio sistema de archivos, no ve los procesos de otros contenedores (Seguridad) y además podemos limitar el uso de recursos por contenedor. Además estos contenedores están desacoplados del sistema de archivos y de la infraestructura. son portables a cualquier proveedor. Además los contenedores son ligeros y rápidos y además al no estar acoplados a los requisitos de infraestructura y ser autocontenidos podemos crearlos en el momento de la compilación /implementación en lugar de en el momento de producción. Esto nos permite utilizar el mismo contenedor que se está utilizando y generando en el desarrollo en los entornos de producción.
  3. Kubernetes se centra en los contenedores. Además orquesta la red, infraestructura de almacenamiento en función de las cargas de trabajo. Todo esto es lo que ofrece un Platform as a Service (Paas) pero con la flexibilidad de la infrastructure as a service (Iaas) y permite la portabilidad entre distintos proveedores de cloud