Apidays New York 2024 - The value of a flexible API Management solution for O...
Playing with kubernetes, istio and kiali
1. MAD · NOV 23-24 · 2018
Playing with Kubernetes,
Istio and Kiali
Alberto Gutierrez Juanes
@aljesusg
Lucas Ponce
@rutlucas
MAD · NOV 23-24 · 2018
2. MAD · NOV 23-24 · 2018
Motivation / Who we are
Our goals
■ Create community around Service Mesh technologies
■ Share our experiences building Kiali
■ Collect feedback to help us to make a better technology !
Who we are
■ Developers involved in Istio / Kiali community
■ Full time open source committers and believers :-)
■ More “Dev” than “Ops” :-)
3. MAD · NOV 23-24 · 2018
Microservices Architecture ?
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Runtime
Service
Application Server
HTML Javascript Web
ServiceServiceService
Service Service Service
Data Access
Runtime
Service
Runtime
Service
9. MAD · NOV 23-24 · 2018
Microservices: Did I say framework ?
Spring Cloud
Config Server
Service
Netflix Eureka
Netflix Ribbon Config
Service
Config
Service
Config
Svc Discovery Svc Discovery Svc Discovery
Routing Routing Routing
Netflix Zuul
Server
Circuit Breaker Circuit Breaker Circuit Breaker
Tracing Tracing Tracing
ZipKin Server
INFRASTRUCTURE
10. MAD · NOV 23-24 · 2018
Microservices on Service Mesh
Service
Config
Svc Discovery
Routing
Circuit Breaker
Tracing
Service
Platform
Container Platform
(+ Service Mesh)
...2014 2018
11. MAD · NOV 23-24 · 2018
Your turn
Step in and show us how it’s done
Source:
https://twitter.com/deniseyu21/status/1032258052114841600
12. MAD · NOV 23-24 · 2018
Service Mesh Architecture
POD
ENVOY
SERVICE
POD
ENVOY
SERVICE
POD
ENVOY
SERVICE
Mixer Citadel Galley
Applies security,
route rules, policies
and reports traffic
telemetry at the pod
level
Pilot
13. MAD · NOV 23-24 · 2018
Istio Networking: concepts
■ Gateways
Expose Service Mesh to external traffic
■ VirtualServices
Routing rules to apply when a host is addressed (match, rewrite, weight)
■ DestinationRules
Policies defined for a service after routing has been defined (load
balancing, circuit breaking)
■ ServiceEntry
Include external services into your Service Mesh
14. MAD · NOV 23-24 · 2018
Istio Networking: Canary Deployment
POD
SERVICE
A
ENVOY
POD
SERVICE
B:v2
ENVOY
POD
SERVICE
B:v1
ENVOY
boston employee
everyone
15. MAD · NOV 23-24 · 2018
Istio Networking: A/B Deployment
POD
SERVICE
A
ENVOY
POD
SERVICE
B:v2
ENVOY
POD
SERVICE
B:v1
ENVOY
50% traffic
50% traffic
16. MAD · NOV 23-24 · 2018
Kiali: What are my microservices doing ?
Service ServiceService
Service ServiceService
Service ServiceService
17. MAD · NOV 23-24 · 2018
Kiali: How is configured my Service Mesh ?
Service ServiceService
Service ServiceService
Service ServiceService
19. MAD · NOV 23-24 · 2018
Cluster-Admin Role
kubectl create clusterrolebinding cluster-admin-binding
--clusterrole cluster-admin --user $(gcloud config get-value account)
20. MAD · NOV 23-24 · 2018
Istio
Pickup a release (https://github.com/istio/istio/releases), unzip and from there apply istio-demo.yml to a
running kube cluster: