Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FAQ:Zero downtime app updates #396

Merged
merged 2 commits into from
Jan 12, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions content/faq/how-achieve-zero-downtime-apps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "How do we achieve app updates with zero downtime?"
description: "Kubernetes out-of-the-box supports zero-downtime updates."
tags:
- zero downtime
- Kubernetes
- apps
- updates
---

## Question

How do we achieve zero-downtime deploys of app updates?


## Answer

Kubernetes out-of-the-box supports zero-downtime rolling updates. The key is to set the `StrategyType` of the deployment to `RollingUpdate` (which is the default). Additionally, setting `maxUnavailable` to a small number ensures that updates will stop if pods stop dropping offline due to failed health or readiness probes.

Note: This requires applications to implement proper readiness and liveness probes so Kubernetes is able to assess availability. Additionally, the more an application has support for the notion of health, the more reliable it will be. We recommend splitting liveness from readiness probes, so they respond appropriately.