- Kubernetes cluster
- Kubectl + Kustomize
- Istio Service Mesh
- Kiali Dashboard (to showcase the traffic flow)
- Have everything from the requirements installed first
- Using Kustomize apply both v1 and v2 of each miscroservice
kubectl apply -k infrastructure/overlays/v1
kubectl apply -k infrastructure/overlays/v2
- Create an istio gateway
kubectl apply -f infrastructure/01-gateway.yaml
- Create a destination rule that contains two subsets v1 and v2
kubectl apply -f infrastructure/02-destination-rule.yaml
Now it's time to play with different deployment strategies
kubectl apply -f infrastructure/03_1-virtualservice-canary.yaml
kubectl apply -f infrastructure/03_2-virtualservice-ab.yaml
kubectl apply -f infrastructure/03_3-virtualservice-shadow.yaml