POD Design - Deployment Strategies Flashcards

1
Q

What other strategies than RollingUpdate and Recreate exist?

A
  • Blue/Green
  • Canary
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What can the other strategies than RollingUpdate and Recreate be implemented?

A
  • best implemented with Service Meshes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is BlueGreen Deployment strategy?

A
  • we have the new version deployed alongside the new version
  • old: blue
  • new: green
  • 100% of traffic is routed to blue
  • once all tests on green are passed, we switch traffic routing to green all at once
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does BlueGreen work in Detail?

A
  • Deployment blue with label version=v1
  • same label as selector on routing service
  • then second deployment green created with label version=v2
  • once all tests are passed we switch selector label on service to version=v2
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the Canary Deployment strategy?

A
  • deploy the new version and route only a small part of the traffic the the new version
  • when this looks good, we upgrade the original version of the application (with RollingUpdate for instance)
  • then we delete the canary deployment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How do you implement the Canary Deployment Strategy with Kubernetes only?

A
  • original version of the deployment deployed (Deployment - primary)
  • pods there labeled version: v1
  • create new deployment (Deployment - canary) with version: v2 pods
  • new label for both Deployment Pods (app: front-end)
  • reduce the amount of pods in Deployment - canary to minimal/small value (like 1)
  • Change Selector label in service to select app: front-end
  • ## since a Service distributes requests to all pods equally, a small amount of users will connect with canary instance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a caveat of a Canary Deployment with just Kubernetes Deployments and Services?

A

Limited Control of the split between each Deployment

Split-rate will always be dependent on the ratio of pods between the deployments

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does a Service Mesh improve the Canary Deployment?

A
  • improved control over split ratio
  • exact percentage to be distributed can be specified
How well did you know this?
1
Not at all
2
3
4
5
Perfectly