Skip to content
ICATraffic ManagementSingle nodeMedium

Timeouts, retries and circuit breaking

Scenario ica-trf-005 · about 10 minutes · 10 points · 6 grader checks

Make a slow backend fail fast with a timeout and retries, and protect it with a connection pool and outlier detection.

  • resilience
  • timeout
  • retries
  • circuit-breaking
  • outlier-detection
  • traffic-management

What you will practise

  • Set request timeouts and retry policies in a VirtualService
  • Configure connection-pool limits and outlier detection in a DestinationRule
  • Read the resulting Envoy cluster settings with istioctl proxy-config

Start this lab

With the CLI installed and signed in, this command provisions a single node cluster on your Mac, applies the scenario setup and prints the task below.

goldenkube start ica-trf-005

Task

The task text exactly as the CLI shows it. Solve it on the cluster, then run goldenkube submit.

Istio is installed. Namespace "orders" (in the mesh) runs the Service "inventory" (port 8000) and the Deployment "curl". 1. Create a VirtualService "inventory" in "orders" for the host "inventory": - requests time out after 1 second; - failed requests are retried up to 3 times, each attempt with a timeout of 300 milliseconds, on the conditions "5xx" and "connect-failure". 2. Create a DestinationRule "inventory" in "orders" for the host "inventory": - at most 1 TCP connection, at most 1 pending HTTP/1.1 request and at most 1 request per connection; - eject a host after 3 consecutive 5xx errors, analysed every 10 seconds, for a base ejection time of 30 seconds; up to 100 % of the hosts may be ejected.

Requirements and details

Certification
ICA · Istio Certified Associate
Domain
Traffic Management
Difficulty
Medium
Cluster topology
Single node
Cluster features
None beyond the base cluster
Recommended time
10 minutes
Points
10
Grader checks
6
Kubernetes version
1.35
Minimum CLI version
0.1.0
Scenario version
1
Published

Grading runs locally: 6 state checks read your cluster when you submit; the scenario passes when every check passes. Hints, the reference solution and the check definitions are available only inside the CLI, not on this page.

ICATraffic ManagementEasy

Expose a service through the ingress gateway

Publish an in-mesh HTTP service on a host name through the Istio ingress gateway with a Gateway and a VirtualService.

Single node · ~7 min · 7 points

  • gateway
  • virtualservice
  • ingress
  • traffic-management

goldenkube start ica-trf-001

ICATraffic ManagementMedium

Route requests by header to a service version

Define service subsets and send requests of one user to v2 while everybody else stays on v1.

Single node · ~8 min · 8 points

  • virtualservice
  • destinationrule
  • subsets
  • header-routing
  • traffic-management

goldenkube start ica-trf-002

ICATraffic ManagementEasy

Shift 20 percent of traffic to a new version

Split traffic between two versions of a service with weighted routes.

Single node · ~7 min · 6 points

  • traffic-shifting
  • weights
  • virtualservice
  • destinationrule
  • traffic-management

goldenkube start ica-trf-003

ICATraffic ManagementMedium

Lock down egress and register one external host

Switch the mesh to registry-only outbound traffic and allow exactly one external host with a ServiceEntry.

Single node · ~9 min · 9 points

  • egress
  • serviceentry
  • outbound-traffic-policy
  • meshconfig
  • traffic-management

goldenkube start ica-trf-004

Independent community project, not affiliated with or endorsed by CNCF or The Linux Foundation. Lab results are practice feedback, not an exam score.