SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Orquestación de
contenedores con Kubernetes
Domingo Suarez Torres
domix
domingo.suarez@gmail.com
Historia
•Mi experiencia y mi necesidad
•¿Porque contenedores? ¿Porque Docker?
•¿Cloud?
•IaaS, PaaS, SaaS, FaaS
La necesidad
•Experimentación
•Retroalimentación
•¿Innovación?
Contenedores
• Virtualización muy ligera
• A nivel SO es un proceso
• Efímeros
• Desafortunadamente se ha convertido en moda
Retos
• Contenedores deben comunicarse
• Monitoreo
• Recursos (CPU, MEM)
• Liveness
• Readdiness
• Configuración
• Administración de secretos (passwords, llaves privadas)
• ¿autoscaling? up-scale, down-scale
¿Como enfrento los retos?
Kubernetes (k8s)
•Google
•~15 años usando contenedores
•Creo Borg para administrar los contenedores
•A partir de la experiencia de Borg, nace k8s
•Open Source con más de 1250 contribuidores
Características
• Recursos de diversas maquinas (VMs, Bare-metal) como un cluster
• Control Plane (Nodos Master)
• controller-manager, scheduler, api-server
• Minion (Nodos worker)
• kubelet, kube-proxy
• Container Engine (Docker, rkt)
• DNS, Service Discovery, LoadBalancing
• Configuración, Secretos
• Federación
Conceptos de k8s
• Pod: Nombre generico para la unidad minima (no necesariamente) de
configuración de componentes que viven dentro de k8s
• Deployment: Tipo de pod que define la metadata de un grupo de
contenedores. Asignación de recursos, volúmenes de File System
• Service: Tipo de pod para exponer y hacer disponible en el Service Discovery
contenedores. Generalmente interno, se puede externo, pero no se
recomienda.
• Ingress Controller: Tipo de pod que permite rutear trafico HTTP hacia el
mundo exterior. Hostnames y URIs
Caso de estudio
•Entidad federal de gobierno que administra las tributaciones en
el Peru. Sunat
•Arquitectura de Microservicios con Java
•Centros de Datos propios en 2 ubicaciones geográficas
diferentes
•Plataforma de recepción de declaraciones, pagos en linea con
TC
Uso de Kubernetes
• Gestión de configuración de los contenedores, secretos.
• Services para balanceo de carga de las diversas replicas de los contenedores
• Administración de recursos (MEM, CPU)
• Políticas de autoscaling
• Probes
• Readiness: ¿El contenedor esta listo para recibir tráfico?
• Liveness: ¿El contenedor sigue vivo?
• Gestión de la configuración basada en Git, con plantillas
Orquestación de contenedores con Kubernetes SGNext
kind: Deployment
metadata:
name: container-name
spec:
replicas: 1
selector:
matchLabels:
name: container-name
template:
spec:
imagePullSecrets:
- name: registry
containers:
- image: registry.mycompany.com/app:0.0.1
name: container-name
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: appsecrets
key: DB_PASSWORD
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: appsecrets
key: REDIS_PASSWORD
resources:
requests:
memory: "512Mi"
cpu: "200m"
limits:
memory: "1024Mi"
cpu: "300m"
volumeMounts:
- mountPath: /config
name: config
ports:
- containerPort: 7137
protocol: TCP
livenessProbe:
httpGet:
path: /healthcheck
port: 17137
initialDelaySeconds: 50
periodSeconds: 50
readinessProbe:
httpGet:
path: /healthcheck
port: 17137
initialDelaySeconds: 30
periodSeconds: 5
volumes:
- name: config
hostPath:
# directory location on host
path: /opt/app/microservices/config/
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: container-name
spec:
maxReplicas: 4
minReplicas: 1
targetCPUUtilizationPercentage: 75
scaleTargetRef:
apiVersion: extensions/v1beta1
kind: Deployment
name: container-name
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: container-name
spec:
rules:
- host: api.mycompany.com
http:
paths:
- path: /
backend:
serviceName: container-name
servicePort: 7137
Lecciones aprendidas
•El consumo de recursos en una arquitectura de
microservicios es mayor.
•Monitoreo de la infraestructura es clave, sobre todo en bare-
metal. CPU, FileSystem, Memoria, I/O, Networking.
•Automatización de aprovisionamiento de infraestructura
(Ansible, Terraform)
•Los sysadmins tradicionales deben replantear su rol, esta
cambiando todo. ¿DevOps?
Siguientes pasos
• Usar Vault para administrar secrets, por ahora k8s
almacena en base64 en plano en ETCD
• Terminar de integrar el pipeline de Bamboo para
despliegue continuo
• Automatización de pruebas
• Promoción de binarios (bibliotecas, contenedores)
Demo
¿Quien apuesta por k8s?
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
¿Preguntas?
Domingo Suarez Torres
domix
domingo.suarez@gmail.com

Mais conteúdo relacionado

Mais procurados

SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsDomingo Suarez Torres
 
Docker y todo eso... más o menos
Docker y todo eso... más o menosDocker y todo eso... más o menos
Docker y todo eso... más o menosEduard Tomàs
 
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
 
Empaquetando aplicaciones Java con Docker y Kubernetes
Empaquetando aplicaciones Java con Docker y KubernetesEmpaquetando aplicaciones Java con Docker y Kubernetes
Empaquetando aplicaciones Java con Docker y KubernetesVíctor Leonel Orozco López
 
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
 
Kubernetes - #gdglimasummit
Kubernetes - #gdglimasummitKubernetes - #gdglimasummit
Kubernetes - #gdglimasummitAngel Nuñez
 
[El comercio]php zend framework (speech)
[El comercio]php zend framework (speech)[El comercio]php zend framework (speech)
[El comercio]php zend framework (speech)Ernesto Anaya
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlimaAngel Nuñez
 
Desymfony - Servicios
Desymfony  - ServiciosDesymfony  - Servicios
Desymfony - ServiciosRicard Clau
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!Paradigma Digital
 
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
 
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
 
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
 
Escalando workloads serverless en Kubernetes con Keda
Escalando workloads serverless en Kubernetes con KedaEscalando workloads serverless en Kubernetes con Keda
Escalando workloads serverless en Kubernetes con KedaEduard Tomàs
 

Mais procurados (20)

meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
Docker y todo eso... más o menos
Docker y todo eso... más o menosDocker y todo eso... más o menos
Docker y todo eso... más o menos
 
Gestión de proyectos con Maven
Gestión de proyectos con MavenGestión de proyectos con Maven
Gestión de proyectos con Maven
 
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
 
Empaquetando aplicaciones Java con Docker y Kubernetes
Empaquetando aplicaciones Java con Docker y KubernetesEmpaquetando aplicaciones Java con Docker y Kubernetes
Empaquetando aplicaciones Java con Docker y Kubernetes
 
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
 
Kubernetes - #gdglimasummit
Kubernetes - #gdglimasummitKubernetes - #gdglimasummit
Kubernetes - #gdglimasummit
 
[El comercio]php zend framework (speech)
[El comercio]php zend framework (speech)[El comercio]php zend framework (speech)
[El comercio]php zend framework (speech)
 
Introducción a Kubernetes
Introducción a KubernetesIntroducción a Kubernetes
Introducción a Kubernetes
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlima
 
Desymfony - Servicios
Desymfony  - ServiciosDesymfony  - Servicios
Desymfony - Servicios
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
 
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)
 
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...
 
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
 
Have you met Istio?
Have you met Istio?Have you met Istio?
Have you met Istio?
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Despliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en DockerDespliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en Docker
 
Escalando workloads serverless en Kubernetes con Keda
Escalando workloads serverless en Kubernetes con KedaEscalando workloads serverless en Kubernetes con Keda
Escalando workloads serverless en Kubernetes con Keda
 

Semelhante a Orquestación de contenedores con Kubernetes SGNext

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
 
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
 
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
 
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
 
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
 
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
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivirDomingo Suarez Torres
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Gonzalo Vásquez
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelDomingo Suarez Torres
 
The Dark Art of Container Monitoring - Spanish
The Dark Art of Container Monitoring - SpanishThe Dark Art of Container Monitoring - Spanish
The Dark Art of Container Monitoring - SpanishSysdig
 
Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersAmazon Web Services LATAM
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxLuis Beltran
 
Arquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECSArquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECSChristian Melendez
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoMario IC
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetesjdezine
 
Web App Container
Web App ContainerWeb App Container
Web App ContainerCDS
 

Semelhante a Orquestación de contenedores con Kubernetes SGNext (20)

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
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 
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...
 
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
 
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
 
"Cloudificación" de servicios: retos y oportunidades
"Cloudificación" de servicios: retos y oportunidades"Cloudificación" de servicios: retos y oportunidades
"Cloudificación" de servicios: retos y oportunidades
 
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
 
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019  No kuberneteen por convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
 
Practical Spring Cloud
Practical Spring CloudPractical Spring Cloud
Practical Spring Cloud
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache Camel
 
The Dark Art of Container Monitoring - Spanish
The Dark Art of Container Monitoring - SpanishThe Dark Art of Container Monitoring - Spanish
The Dark Art of Container Monitoring - Spanish
 
Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con Containers
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
 
Arquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECSArquitectura de Micro Servicios con ECS
Arquitectura de Micro Servicios con ECS
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 

Mais de Domingo 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
 
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
 
javerosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparisonjaverosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparisonDomingo Suarez Torres
 

Mais de Domingo Suarez Torres (20)

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
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
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 2015
SOA Latam 2015SOA Latam 2015
SOA Latam 2015
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
javerosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparisonjaverosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparison
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
 

Último

Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 

Último (20)

Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 

Orquestación de contenedores con Kubernetes SGNext

  • 1. Orquestación de contenedores con Kubernetes Domingo Suarez Torres domix domingo.suarez@gmail.com
  • 2. Historia •Mi experiencia y mi necesidad •¿Porque contenedores? ¿Porque Docker? •¿Cloud? •IaaS, PaaS, SaaS, FaaS
  • 4. Contenedores • Virtualización muy ligera • A nivel SO es un proceso • Efímeros • Desafortunadamente se ha convertido en moda
  • 5. Retos • Contenedores deben comunicarse • Monitoreo • Recursos (CPU, MEM) • Liveness • Readdiness • Configuración • Administración de secretos (passwords, llaves privadas) • ¿autoscaling? up-scale, down-scale
  • 7. Kubernetes (k8s) •Google •~15 años usando contenedores •Creo Borg para administrar los contenedores •A partir de la experiencia de Borg, nace k8s •Open Source con más de 1250 contribuidores
  • 8. Características • Recursos de diversas maquinas (VMs, Bare-metal) como un cluster • Control Plane (Nodos Master) • controller-manager, scheduler, api-server • Minion (Nodos worker) • kubelet, kube-proxy • Container Engine (Docker, rkt) • DNS, Service Discovery, LoadBalancing • Configuración, Secretos • Federación
  • 9. Conceptos de k8s • Pod: Nombre generico para la unidad minima (no necesariamente) de configuración de componentes que viven dentro de k8s • Deployment: Tipo de pod que define la metadata de un grupo de contenedores. Asignación de recursos, volúmenes de File System • Service: Tipo de pod para exponer y hacer disponible en el Service Discovery contenedores. Generalmente interno, se puede externo, pero no se recomienda. • Ingress Controller: Tipo de pod que permite rutear trafico HTTP hacia el mundo exterior. Hostnames y URIs
  • 10. Caso de estudio •Entidad federal de gobierno que administra las tributaciones en el Peru. Sunat •Arquitectura de Microservicios con Java •Centros de Datos propios en 2 ubicaciones geográficas diferentes •Plataforma de recepción de declaraciones, pagos en linea con TC
  • 11. Uso de Kubernetes • Gestión de configuración de los contenedores, secretos. • Services para balanceo de carga de las diversas replicas de los contenedores • Administración de recursos (MEM, CPU) • Políticas de autoscaling • Probes • Readiness: ¿El contenedor esta listo para recibir tráfico? • Liveness: ¿El contenedor sigue vivo? • Gestión de la configuración basada en Git, con plantillas
  • 13. kind: Deployment metadata: name: container-name spec: replicas: 1 selector: matchLabels: name: container-name template: spec: imagePullSecrets: - name: registry containers: - image: registry.mycompany.com/app:0.0.1 name: container-name env: - name: DB_PASSWORD valueFrom: secretKeyRef: name: appsecrets key: DB_PASSWORD - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: appsecrets key: REDIS_PASSWORD
  • 14. resources: requests: memory: "512Mi" cpu: "200m" limits: memory: "1024Mi" cpu: "300m" volumeMounts: - mountPath: /config name: config ports: - containerPort: 7137 protocol: TCP livenessProbe: httpGet: path: /healthcheck port: 17137 initialDelaySeconds: 50 periodSeconds: 50 readinessProbe: httpGet: path: /healthcheck port: 17137 initialDelaySeconds: 30 periodSeconds: 5 volumes: - name: config hostPath: # directory location on host path: /opt/app/microservices/config/
  • 15. apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: name: container-name spec: maxReplicas: 4 minReplicas: 1 targetCPUUtilizationPercentage: 75 scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: container-name
  • 16. apiVersion: extensions/v1beta1 kind: Ingress metadata: name: container-name spec: rules: - host: api.mycompany.com http: paths: - path: / backend: serviceName: container-name servicePort: 7137
  • 17. Lecciones aprendidas •El consumo de recursos en una arquitectura de microservicios es mayor. •Monitoreo de la infraestructura es clave, sobre todo en bare- metal. CPU, FileSystem, Memoria, I/O, Networking. •Automatización de aprovisionamiento de infraestructura (Ansible, Terraform) •Los sysadmins tradicionales deben replantear su rol, esta cambiando todo. ¿DevOps?
  • 18. Siguientes pasos • Usar Vault para administrar secrets, por ahora k8s almacena en base64 en plano en ETCD • Terminar de integrar el pipeline de Bamboo para despliegue continuo • Automatización de pruebas • Promoción de binarios (bibliotecas, contenedores)
  • 19. Demo