Version 1
kubectl create namespace travel-agency
kubectl label namespace travel-agency istio-injection=enabled
kubectl apply -f <(curl -L https://git.io/fjoH0) -n travel-agency
# Verify travel-agency pods are up and running
kubectl get pods -n travel-agency -w
# Troubleshooting - Delete workloads and services
kubectl delete -f <(curl -L https://git.io/fjoH0) -n travel-agency
kubectl create namespace travel-portal
kubectl label namespace travel-portal istio-injection=enabled
kubectl apply -f <(curl -L https://git.io/fjoQ1) -n travel-portal
# Verify pods
kubectl get pods -n travel-portal -w
# Troubleshooting - Delete workloads and services
kubectl delete -f <(curl -L https://git.io/fjoQ1) -n travel-portal
Walkthrough
Filters, Sorting, Compact/Expand
Graph types, Edge info, Find/Hide
Filters, Sorting
Overview, Traffic, Logs/Traces, Metrics
Multiple selection criteria, Destination/Source telemetry
Traces integration per Service
Traces integration per Service
Version 2
kubectl apply -f <(curl -L https://git.io/fjo7s) -n travel-agency
# Verify pods
kubectl get pods -n travel-agency -w
# Troubleshooting - Delete workloads and services
kubectl delete -f <(curl -L https://git.io/fjo7s) -n travel-agency
Let's start an A/B Testing scenario
Spot potential bottlenecks
Slower response since version 2 was deployed. Worse in vip portals.
Investigate more services.
Confirm slow traces.
It seems version 2 introduced ChaosMonkey delays in several workloads.
Apply on travels, hotels, insurances, cars and flight services
Web portal traffic is back to normal response time
Evenly Splitted traffic between fast and slow versions
Reduce traffic routed to version 1
Slower version only gets a 10% of the traffic