Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A sample project showcasing various Canary Deployment solutions.

License

NotificationsYou must be signed in to change notification settings

jhandguy/canary-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A sample project showcasing various Canary Deployment solutions.

Blog Posts

Installing

Using ingress-nginx

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

Using argo-rollouts

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

Using argo-rollouts + 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 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

Smoke Testing

Weighted canary

curl localhost/success -H"Host: sample.app" -vcurl localhost/error -H"Host: sample.app" -v

Always canary

curl localhost/success -H"Host: sample.app" -H"X-Canary: always" -vcurl localhost/error -H"Host: sample.app" -H"X-Canary: always" -v

Never canary

curl localhost/success -H"Host: sample.app" -H"X-Canary: never" -vcurl localhost/error -H"Host: sample.app" -H"X-Canary: never" -v

Load Testing

k6 run k6/script.js

Uninstalling

kind delete cluster

About

A sample project showcasing various Canary Deployment solutions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

[8]ページ先頭

©2009-2025 Movatter.jp