- Notifications
You must be signed in to change notification settings - Fork10
A sample project showcasing various Canary Deployment solutions.
License
NotificationsYou must be signed in to change notification settings
jhandguy/canary-deployment
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A sample project showcasing various Canary Deployment solutions.
- Canary Deployment in Kubernetes (Part 1) — Simple Canary Deployment using Ingress NGINX
- Canary Deployment in Kubernetes (Part 2) — Automated Canary Deployment using Argo Rollouts
- Canary Deployment in Kubernetes (Part 3) — Smart Canary Deployment using Argo Rollouts and Prometheus
kind create cluster --image kindest/node:v1.27.3 --config=kind/cluster.yamlhelm repo add ingress-nginx https://kubernetes.github.io/ingress-nginxhelm install ingress-nginx/ingress-nginx --name-template ingress-nginx --create-namespace -n ingress-nginx --values kind/ingress-nginx-values.yaml --version 4.8.3 --waithelm install sample-app/helm-charts/ingress-nginx --name-template sample-app --create-namespace -n sample-app --waithelm upgrade sample-app sample-app/helm-charts/ingress-nginx -n sample-app --reuse-values --set canary.weight=50 --wait
kind create cluster --image kindest/node:v1.27.3 --config=kind/cluster.yamlhelm repo add ingress-nginx https://kubernetes.github.io/ingress-nginxhelm install ingress-nginx/ingress-nginx --name-template ingress-nginx --create-namespace -n ingress-nginx --values kind/ingress-nginx-values.yaml --version 4.8.3 --waithelm repo add argo https://argoproj.github.io/argo-helmhelm install argo/argo-rollouts --name-template argo-rollouts --create-namespace -n argo-rollouts --set dashboard.enabled=true --version 2.32.5 --waithelm install sample-app/helm-charts/argo-rollouts --name-template sample-app --create-namespace -n sample-app --waitkubectl argo rollouts dashboard -n argo-rollouts&kubectl argo rolloutsset image sample-app sample-app=ghcr.io/jhandguy/canary-deployment/sample-app:latest -n sample-appkubectl argo rollouts promote sample-app -n sample-app
kind create cluster --image kindest/node:v1.27.3 --config=kind/cluster.yamlhelm repo add ingress-nginx https://kubernetes.github.io/ingress-nginxhelm install ingress-nginx/ingress-nginx --name-template ingress-nginx --create-namespace -n ingress-nginx --values kind/ingress-nginx-values.yaml --version 4.8.3 --waithelm repo add argo https://argoproj.github.io/argo-helmhelm install argo/argo-rollouts --name-template argo-rollouts --create-namespace -n argo-rollouts --set dashboard.enabled=true --version 2.32.5 --waithelm repo add prometheus-community https://prometheus-community.github.io/helm-chartshelm install prometheus-community/kube-prometheus-stack --name-template prometheus --create-namespace -n prometheus --version 54.2.2 --waithelm install sample-app/helm-charts/argo-rollouts --name-template sample-app --create-namespace -n sample-app --set prometheus.enabled=true --waitkubectl argo rollouts dashboard -n argo-rollouts&kubectl argo rolloutsset image sample-app sample-app=ghcr.io/jhandguy/canary-deployment/sample-app:latest -n sample-appkubectl argo rollouts promote sample-app -n sample-app
curl localhost/success -H"Host: sample.app" -vcurl localhost/error -H"Host: sample.app" -v
curl localhost/success -H"Host: sample.app" -H"X-Canary: always" -vcurl localhost/error -H"Host: sample.app" -H"X-Canary: always" -v
curl localhost/success -H"Host: sample.app" -H"X-Canary: never" -vcurl localhost/error -H"Host: sample.app" -H"X-Canary: never" -v
k6 run k6/script.js
kind delete cluster
About
A sample project showcasing various Canary Deployment solutions.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.