14. 1414
• The smallest deployment unit
• One or more containers
• Shared network and storage
POD
metadata:
labels:
app: grid
spec:
containers:
- name: app
image: breizhcamp:v1
ports:
- containerPort: 8080
env:
- name: COLOR
value: "#8bc34a"
15. 1515
• Abstraction which defines a logical set of Pods and a policy by which
to access them
Virtual IP or
Endpoints
spec:
selector:
app: grid
ports:
- protocol: TCP
port: 80
targetPort: 8080
SERVICE
16. 1616
• Meta Object to manage access from outside the cluster
INGRESS
- host: breizhcamp.tes
http:
paths:
- path: /
backend:
serviceName: grid
servicePort: 80
grid
26. 2626
• ReplicaSet ensure the number of required pod at any time
REPLICASET
replicas: 3
template:
spec:
containers:
- name: app
image: breizhcamp:v1
ports:
- containerPort: 8080
env:
- name: COLOR
value: "#8bc34a"
79. 7979
New slide with each update
/ pro/cons
Type Rolling update Blue Green Canary Release
Pros
Easy to implement
not costly
Instantaneous
Update/Rollback
Manage the
increment to deploy a
new version
Cons
2 versions seen at the
same time by users
Infrastructure
cost
Infrastructure cost ?
(can be handle by
pod autoscaling)
2 versions seen at the
same time by users
81. 8181
New slide with each update
/ pro/cons
Type Rolling update Blue Green Canary Release
Pros
Easy to implement
not costly
Instantaneous
Update/Rollback
Manage the
increment to deploy a
new version
Cons
2 versions seen at the
same time by users
Infrastructure
cost
Infrastructure cost ?
(can be handle by
pod autoscaling)
2 versions seen at the
same time by users
82. 8282
SESSION AFFINITY WITH TRAEFIK
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
traefik.ingress.kubernetes.io/affinty: true
name: grid
...
• A cookie is set on the initial
request with the information
of the backend of the first
request
• If the backend is still healthy
new request will be sent to the
same backend