From zero to hero with
Kubernetes and Istio
2
About me
Sergii Bishyr
Software engineer
Program committee
@BishyrS
seriybg@gmail.com
3
Kubernetes Istio
Odesa
4
Agenda
o Docker
o Kubernetes
o Istio
(+demo)
(+demo)
(+demo)
5
6
DevOps
7
DevOps
8
Bootiful world of Spring
9
Why do we need it?
10
Infrastructure cost
Monolith Microservices
martinfowler.com/articles/microservice-trade-offs.html#ops
11
Virtual Machines
12
Containers
13blog.netapp.com/blogs/containers-vs-vms
Containers
14
15
Docker
16
Dockerfile
17
Image
18
Docker
19
Demo
20
But… Microservices
21
Operational complexity
Node	1 Node	2 Node	3
22
Operational complexity
Node	1 Node	2 Node	3
23
Orchestration
martinfowler.com/articles/microservice-trade-offs.html#ops
Expectation Reality
24
Kubernetes
25
Pod
26
Pod
27
Deployment
replicas=2
28
Deployment
replicas=3
29
Service
30
Service Types
ClusterIP
NodePort
LoadBalancer
ExternalName
<NodeIP>:<NodePort>
<ExternalIP>
www.example.com
31
Ingress
API	Gateway
32
Ingress
33
Namespaces
Namespace:	Default Namespace:	Other
34
kubectl
kubectl
Kubernetes	cluster
35
Demo
36
Distributed world
SERVICE	A SERVICE	B
Network
37
Distributed world
SERVICE	A SERVICE	B
Magic
Network
38
Service Mesh
POD
SERVICE
SIDECAR
39
Istio
40
Envoy
41
Istio Data Plane
SERVICE
PROXY
SERVICE
PROXY
SERVICE
PROXY
SERVICE
PROXY
SERVICE
PROXY
SERVICE
PROXY
42
Istio Data Plane
43
Istio Control Plane
Pilot Mixer Citadel
Configs Telemetry,
Policy checks
TLS certs
44
Envoy Edge Proxy
Istio Gateway
45
Resiliency
SERVICE	A SERVICE	BRetry
Timeout
46
Unhealthy service
SERVICE	A
SERVICE	BSERVICE	BSERVICE	B
47
Circuit breaker
SERVICE	A
SERVICE	BSERVICE	BSERVICE	B
48
Circuit breaker
SERVICE	A
SERVICE	BSERVICE	B
49
Chaos engineering
50
Chaos engineering
51
Fault injection
SERVICE	A SERVICE	B
52
Release strategies
53
Rolling update
SERVICE	A
SERVICE	B
v1
SERVICE	B
v2
SERVICE	B
v1
SERVICE	B
v1
SERVICE	B
v2
SERVICE	B
v2
54
Blue-Green deployment
SERVICE	A
SERVICE	B
v1
SERVICE	B
v2
TESTS
55
Canary deployment
SERVICE	A
SERVICE	B
v1
SERVICE	B
v2
56
A/B Testing
SERVICE	A
SERVICE	B
v1
SERVICE	B
v2
57
Shadow	deployment
SERVICE	A
SERVICE	B
v1
SERVICE	B
v2
58
Advanced routing
SERVICE	A
SERVICE	B
v1
SERVICE	B
v2
59
Encryption
SERVICE	A SERVICE	B
Citadel
60
Observability
Mixer
Tracing
Metrics
Logging
etc.
SERVICE SERVICESERVICE
61
Observability
62
Demo
63
Source code
64
Summary
o Docker	for	running	multiple	instances
o Kubernetes	for	orchestration	microservices
o Istio to	connect,	secure,	control	and	observe
o Tools	can	help,	but	won’t	do	your	job
Thank You!
@BishyrS seriybg@gmail.com

From zero to hero with Kubernetes and Istio