whatisgithub

What is k8s-deployment-strategies?

containersolutions/k8s-deployment-strategies — explained in plain English

Analysis updated 2026-05-18

3,650GoAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

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.

Mindmap

mindmap
  root((repo))
    What it does
      Deployment examples
      Decision diagram
      Traffic visualization
    Strategies
      Recreate
      Ramped
      Blue green
      Canary
      Shadow
    Tech stack
      Kubernetes
      Minikube
      Prometheus
      Grafana
    Audience
      Ops teams
      Kubernetes learners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Try each of the six Kubernetes deployment strategies locally to see the tradeoffs firsthand

USE CASE 2

Set up Prometheus and Grafana to watch traffic split across app versions during a rollout

USE CASE 3

Choose a release strategy for a production app by comparing risk, speed, and user impact

What is it built with?

KubernetesGoMinikubePrometheusGrafana

How does it compare?

containersolutions/k8s-deployment-strategiesahmetb/go-linqrs/curlie
Stars3,6503,6523,648
LanguageGoGoGo
Setup difficultymoderateeasyeasy
Complexity3/52/51/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires a local Kubernetes cluster (Minikube) plus Prometheus and Grafana to see the traffic visualizations.

So what is it?

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.

Copy-paste prompts

Prompt 1
How do I run the canary deployment example from this repo on a local Minikube cluster?
Prompt 2
Explain the difference between blue-green, canary, and shadow deployment using this repo's examples.
Prompt 3
How do I set up Grafana to visualize traffic during a Kubernetes rolling update, following this repo's instructions?
Prompt 4
What extra tooling does A/B testing deployment need beyond what Kubernetes provides out of the box?

Frequently asked questions

What is k8s-deployment-strategies?

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.

What language is k8s-deployment-strategies written in?

Mainly Go. The stack also includes Kubernetes, Go, Minikube.

How hard is k8s-deployment-strategies to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is k8s-deployment-strategies for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.