ICAInstallation, Upgrade & ConfigurationEasy
Install the Istio control plane with the default profile and bring an existing namespace into the sidecar mesh.
Single node · ~8 min · 8 points
- istioctl
- installation
- default-profile
- sidecar-injection
- installation-upgrades-configuration
goldenkube start ica-ins-001
ICAInstallation, Upgrade & ConfigurationMedium
Write an IstioOperator that changes mesh defaults and gateways, then use it for an in-place upgrade from 1.29.9 to 1.29.10.
Single node · ~10 min · 9 points
- istiooperator
- in-place-upgrade
- meshconfig
- egress-gateway
- installation-upgrades-configuration
goldenkube start ica-ins-002
ICAInstallation, Upgrade & ConfigurationHard
Run a second Istio control plane as a revision and move one namespace to it while another stays on the old revision.
Single node · ~12 min · 10 points
- canary-upgrade
- revisions
- istioctl
- sidecar-injection
- installation-upgrades-configuration
goldenkube start ica-ins-003
ICAInstallation, Upgrade & ConfigurationMedium
Install the ambient profile and add an existing namespace to the ambient data plane without sidecars.
Single node · ~10 min · 8 points
- ambient
- ztunnel
- istio-cni
- istioctl
- installation-upgrades-configuration
goldenkube start ica-ins-004
ICASecuring WorkloadsEasy
Require mutual TLS for the whole mesh while one legacy namespace keeps accepting plain text.
Single node · ~7 min · 7 points
- mtls
- peerauthentication
- strict
- permissive
- securing-workloads
goldenkube start ica-sec-001
ICASecuring WorkloadsMedium
Write an ALLOW AuthorizationPolicy that admits a single workload identity for GET on two paths and nothing else.
Single node · ~8 min · 8 points
- authorizationpolicy
- allow
- principals
- spiffe
- securing-workloads
goldenkube start ica-sec-002
ICASecuring WorkloadsHard
Validate end-user JWTs with a RequestAuthentication and an inline key set, and deny requests that carry no token.
Single node · ~9 min · 9 points
- jwt
- requestauthentication
- authorizationpolicy
- request-principals
- securing-workloads
goldenkube start ica-sec-003
ICASecuring WorkloadsHard
Serve a host over HTTPS at the ingress gateway from a Kubernetes TLS secret and redirect plain HTTP to HTTPS.
Single node · ~10 min · 10 points
- gateway
- tls
- https-redirect
- credentialname
- securing-workloads
goldenkube start ica-sec-004
ICASecuring WorkloadsMedium
Combine a namespace-wide deny-all with an ALLOW and a DENY AuthorizationPolicy and reason about their evaluation order.
Single node · ~9 min · 9 points
- authorizationpolicy
- deny-by-default
- allow-nothing
- deny
- securing-workloads
goldenkube start ica-sec-005
ICATroubleshootingEasy
Find out why two Deployments run without the Istio sidecar and fix every cause without recreating them.
Single node · ~7 min · 7 points
- sidecar-injection
- istioctl-analyze
- labels
- troubleshooting
goldenkube start ica-trb-001
ICATroubleshootingMedium
A weighted route points at a subset that does not exist; repair the configuration without touching the route.
Single node · ~8 min · 8 points
- destinationrule
- subsets
- istioctl-analyze
- http-503
- troubleshooting
goldenkube start ica-trb-002
ICATroubleshootingMedium
istiod does not start any more, so the injection webhook blocks pod creation; restore the control plane.
Single node · ~8 min · 8 points
- istiod
- control-plane
- webhook
- image
- troubleshooting
goldenkube start ica-trb-003
ICATroubleshootingHard
A client-side TLS setting contradicts a strict PeerAuthentication; find it with proxy-config and fix the client side.
Single node · ~9 min · 8 points
- mtls
- destinationrule
- peerauthentication
- proxy-config
- troubleshooting
goldenkube start ica-trb-004
ICATraffic ManagementEasy
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
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
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
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
ICATraffic ManagementMedium
Make a slow backend fail fast with a timeout and retries, and protect it with a connection pool and outlier detection.
Single node · ~10 min · 10 points
- resilience
- timeout
- retries
- circuit-breaking
- outlier-detection
- traffic-management
goldenkube start ica-trf-005
ICATraffic ManagementMedium
Use VirtualService fault injection to delay test traffic and fail half of the remaining requests.
Single node · ~8 min · 8 points
- fault-injection
- delay
- abort
- virtualservice
- traffic-management
goldenkube start ica-trf-006
ICATraffic ManagementMedium
Configure locality-aware load balancing that fails over from one region to another when endpoints are ejected.
Single node · ~7 min · 7 points
- locality-load-balancing
- failover
- outlier-detection
- destinationrule
- traffic-management
goldenkube start ica-trf-007