- Kubernetes kind/minikuke cluster
- Linkerd must be installed and configured with the cluster(https://linkerd.io/2.13/tasks/install/)
- Linkerd-SMI and Linkerd-viz extension must be installed.
- We can install Linkerd and required addons on the Kubernetes cluster in one step with
$ make setup-cluster-linkerd
Create and configure namespace with linkerd proxy so that Deployments created in the namespace will be automatically configured with linkerd sidecar/proxy
kubectl create ns test --dry-run=client -o yaml \
| linkerd inject - \
| kubectl apply -f -
Delete all HTTPRoute and TrafficSplit objects as flagger creates them internally while testing
$ make delete-httpRoute-traffisplit
- Install flagger
$ make setup-cluster-flagger
- Deploy book-svc and forwarder as follows:
$ make deploy-flagger-release
- Apply flagger header based canary object
$ kubectl apply -f flagger/weight-based.yaml
- Deploy Load generator for matrics analysis
- Deploy load generator
$ make deploy-load-generator
- Deploy load generator
- Suppose you have made changes to the code or you have developed a different version of the API.
- Build the changes as follows:
$ make build-flagger-release
- Deploy new release
$ make patch-flagger-release
- Build the changes as follows:
- Observe the progress of a release
$ watch kubectl -n test get canary