[2] Kiali: Observability in Action

[2.1] Goals

  1. Multiple namespaces scenarios
  2. Correlate metrics, traces and logs
  3. A/B testing
  4. Apply Istio configuration through Kiali actions

Full description

[2.2] Deploy travel-agency

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

[2.3] Deploy travel-portal


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

[2.4.0] Explore Kiali

Walkthrough

  1. Namespaces dashboard
  2. Graph: visualization options
  3. Search and filter Applications, Workload, Services
  4. Metrics, Logs, Traces
  5. Istio configuration

[2.4.1] Dashboard

Kiali dashboard

Filters, Sorting, Compact/Expand

[2.4.2] Graph options

travel agency graph

Graph types, Edge info, Find/Hide

[2.4.3] Applications, Workloads and Services

travel agency app list

Filters, Sorting

[2.4.4] App,Wkld,Svc Details

travel agency app details

Overview, Traffic, Logs/Traces, Metrics

[2.4.5] Metrics Details

travel agency app metrics

Multiple selection criteria, Destination/Source telemetry

[2.4.6] Service Details

travel agency service traces

Traces integration per Service

[2.4.7] Workload Log Details

travel agency service logs

Traces integration per Service

[2.5.0] Deploy travel-agency

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

[2.5.1] Analyze Response Time

travel-agency response time

Spot potential bottlenecks

[2.5.2] Analyze detailed metrics

travels details metrics

Slower response since version 2 was deployed. Worse in vip portals.

Investigate more services.

[2.5.3] Analyze travel service traces

travel service traces

Confirm slow traces.

[2.5.4] Analyze workload logs

workload logs

It seems version 2 introduced ChaosMonkey delays in several workloads.

[2.6.0] Matching routing

matching routing rules

Apply on travels, hotels, insurances, cars and flight services

[2.6.1] Analyze traffic

traffic after applying matching routing rules

Web portal traffic is back to normal response time

[2.7.0] Weighted Routing

discounts service comparison

Evenly Splitted traffic between fast and slow versions

[2.7.1] Apply Weighted Routing

weighted routing rules

Reduce traffic routed to version 1

[2.7.2] Analyze traffic

discuounts traffic after weighted rules applied

Slower version only gets a 10% of the traffic

End of Workshop part [2]

Continue to [3] Advanced challenges

Back to Workshop Index