SERVICE MESH EN K8S
CON ISTIO
Sergio García Ojeda
Administración de Sistemas Informáticos en Red
Sistema Open Source creado por Google.
¿Qué es Orquestación de Contenedores.
Kubernetes?
Ideal para Microservicios.
3 maquinas:
Nieve. Maquina Debian. 4GB RAM. Master
Nuestro Arya. Maquina Debian. 2GB RAM.
Escenario. Sansa. Maquina Debian. 2GB RAM.
Cluster de Kubernetes con Kubeadm
Capa de infraestructura entre el servicio y la
red.
Service Mesh
¿Qué es? Controla la comunicación entre los servicios y
la red.
Seguridad, rapidez y confiabilidad.
Implantación mediante “sidecar proxy”.
Ventajas:
Simplifica la comunicación entre los microservicios.
Service Mesh.
Ventajas Facilita la localización de fallos en la comunicación.
y Desventajas
Permite cifrar, autenticar y autorizar.
Administración de las redes a un nivel más alto.
Desventajas:
Service Mesh. El tiempo de ejecución de las instancias aumenta
Ventajas exponencialmente.
y Desventajas
Añade un paso más en la comunicación. Paso por el
proxy.
Implementación de Service Mesh en
Kubernetes.
Facilidad de crear una red de servicios
Istio desplegados con balanceo de carga,
autenticación, monitorización, etc.
No se modifica el Código.
Estructura de
Istio
[Link]
Transparencia Máxima.
Istio.
Objetivos. Incrementabilidad.
Portabilidad.
Uniformidad de Políticas.
Funcionalidad. Istio toma el control del tráfico.
Gestión del
tráfico Pilot se encarga de las configuraciones en los
proxys.
Muy útil a la hora de filtrar trafico y balancear
carga.
Red de Confianza Nula.
Funcionalidad.
Seguridad. Defensa en profundidad.
Cifrado y Certificación.
Citadel gestiona claves y certificados, Pilot
distribuye las políticas y Mixer gestiona
autenticación y autorización.
Funcionalidad. Mixer es el encargado de establecer políticas.
Políticas.
Abstracción del Backend.
Control en todos los elementos de la mesh.
Deshabilitada por defecto
Mixer es el encargado de establecer la
telemetría.
Funcionalidad.
Telemetría.
Mixer realiza una llamada antes y después de
cada solicitud.
Almacenamiento en caché. Pocas llamadas a
mixer de forma saliente.
Deshabilitado por defecto.
Descargamos la última versión en el Master.
curl -L [Link] | sh -
Entramos en el directorio que contiene los
instaladores.
cd istio-1.1.7/install/kubernetes/Helm/istio-init/files
Istio.
Instalación. Ejecutamos cada instalador con kubectl.
kubectl apply -f [Link]
kubectl apply -f [Link]
kubectl apply -f [Link]
kubectl apply -f [Link]
Escenario de
Pruebas.
[Link]
Pruebas de
Blue Green deployment.
Funcionamiento.
Canary Release.
Request Timeouts.
Futuro de Kubernetes.
Conclusiones y
Trabajos Pequeña Relentización en la comunicación
Futuros (prácticamente nula).
Herramienta muy potente en situaciones
concretas.
Posibles Trabajos futuros. Servicio de
Monitorización en una Mesh.
Gracias.
¿Alguna
Pregunta?