Analysis updated 2026-05-18
Try each of the six Kubernetes deployment strategies locally to see the tradeoffs firsthand
Set up Prometheus and Grafana to watch traffic split across app versions during a rollout
Choose a release strategy for a production app by comparing risk, speed, and user impact
| containersolutions/k8s-deployment-strategies | ahmetb/go-linq | rs/curlie | |
|---|---|---|---|
| Stars | 3,650 | 3,652 | 3,648 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 2/5 | 1/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a local Kubernetes cluster (Minikube) plus Prometheus and Grafana to see the traffic visualizations.
This repository is a reference collection of deployment strategies for Kubernetes, a system used to run and manage software applications in production. When you update an application to a new version, there are several ways to handle the switch from old to new, each with different tradeoffs around risk, speed, and user impact. The repository documents six strategies. "Recreate" shuts down the old version completely before starting the new one, which causes a brief outage. "Ramped" (also called a rolling update) gradually replaces old instances with new ones, keeping the app available throughout. "Blue/Green" runs the old and new versions side by side, then switches all traffic at once to the new version. "Canary" routes a small fraction of users to the new version first, letting you observe its behavior before rolling out to everyone. "A/B testing" is similar to canary but routes traffic based on specific conditions such as browser cookies, HTTP headers, or weighted percentages. "Shadow" sends copies of live traffic to the new version without that version's responses reaching users, allowing testing under real conditions with no user impact. Each strategy has its own subdirectory with example configuration files you can apply to a local Kubernetes cluster. The examples were written and tested using Minikube, a tool for running Kubernetes on a laptop. The repository also includes setup instructions for Prometheus and Grafana, two monitoring tools that let you watch traffic and request rates during a deployment. A sample dashboard file is included, and the README shows example graphs for each deployment strategy so you can see what each pattern looks like in a live environment. This is primarily an educational resource. It includes a decision diagram to help choose between strategies, along with links to conference talks and articles for further reading.
A reference collection of runnable Kubernetes examples showing six ways to release a new app version, from simple recreate to canary, blue-green, and shadow deployments.
Mainly Go. The stack also includes Kubernetes, Go, Minikube.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.