
Explore Istio on Kubernetes with a hands-on, live-demo approach that visualizes clusters, traces traffic, and enables canary releases, circuit breakers, and encryption across pods and deployments in Minikube.
Discover Istio as a service mesh that runs alongside Kubernetes, routing traffic through proxies to deliver telemetry, tracing, and traffic management across micro service architectures.
Learn how Istio runs on any Kubernetes cluster, from Minikube to cloud providers, and discover practical options for installing Kubernetes locally, including Docker Desktop.
Compare Docker Desktop and Minikube for running Kubernetes locally, and learn how kubectl and an embedded Kubernetes in Docker Desktop support hands-on demos.
Install Docker Desktop to enable Kubernetes locally, alongside minikube, covering Windows setup with WsL two, Hyper V, licensing for small teams, and preparing kubectl.
Enable Kubernetes in Docker Desktop, start it, and use kubectl to verify client and server versions and run basic commands such as kubectl get all.
Install minikube to run a local Kubernetes environment when docker desktop isn't available. Follow official guidance for Windows, Mac, and Linux, install kubectl, and set your path before starting minikube.
Choose the minikube driver—Docker, KVM, VirtualBox, or Hyper-V—to run Kubernetes locally on Linux, Mac OS, and Windows, and learn startup troubleshooting.
Install Istio on a local Kubernetes cluster, then diagnose and visualize traffic with Kiali, while exploring the big features of Istio using a sample microservice system.
Enable istio sidecar injection by labeling the namespace, so Istio automatically injects data plane proxies into pods, using the default namespace with Istio-injection=enabled.
Label the namespace for Istio sidecar injection, deploy the application with Istio, and use Kiali’s service graph to visualize pod connections and identify degraded services and external calls.
Diagnose performance problems in a microservice mesh using kiali and jaeger traces, identify cascading slowdowns, and implement timeouts via istio virtual services to stabilize the system.
Explore how Istio uses Envoy proxies as sidecars to form a Kubernetes service mesh, with Istio’s control plane simplifying Envoy configuration through Kubernetes custom resource definitions like virtual service.
Explain how envoy proxies enable traffic management, canary and red/black deployments, and telemetry within an Istio on Kubernetes service mesh while showing a Hello world reverse proxy example.
Learn Istio telemetry using Kiali, Jaeger, and Grafana in a minkube demo, enable automatic sidecar injection by labeling the default namespace, and deploy the fleet manager to observe telemetry data.
Explore kiali's dashboards for Istio telemetry on Kubernetes, including service and workload graphs, edge labels, and traffic patterns, with logs and documentation for troubleshooting.
Explore Kiali's observability of a Kubernetes Istio mesh and suspend traffic dynamically via the graphical interface, generate and apply virtual services and destination rules in real time.
Discover distributed tracing in Istio using Yeager to track a single request through a chain of microservices, showing traces, spans, timing, and upstream proxy interactions.
Explore how the Jaeger UI lets you search traces by service, inspect distributed traces, and analyze timings across web app, api gateway, and microservices in Istio.
Explore why distributed tracing via Istio requires propagating x-request-id and x-b3 headers across all microservice calls; implement header propagation in each service (Feign interceptor) to stitch traces.
Demonstrates that without propagating tracing headers across services, Istio tracing becomes fragmented and less useful, yielding truncated traces with fewer spans and services, underscoring the need for header propagation.
Explore Istio telemetry by using Kiali, Grafana, and Prometheus to visualize inbound and outbound metrics, request durations, and health across services, workloads, and the mesh dashboard.
Discover Istio traffic management concepts—virtual services, destination rules, and gateways—and implement canary releases, provisioning a new version alongside the old to limit risk, using yaml files on minkube.
Illustrates implementing canary releases in Kubernetes with Istio traffic management and labels to route traffic between old and new versions.
Implement canaries with Istio and monitor traffic using the Kiali console. Use app and version labels to create versioned deployments and perform controlled rolling updates.
Balance traffic between old and new microservices with Istio virtual services and destination rules to enable canaries and staged releases, including 10% canary and 50/50 testing.
Virtual services in Istio configure custom routing by updating envoy proxies through pilots, enabling canary deployments without changing pods. They do not replace Kubernetes services, but complement them.
Learn to read and edit Istio virtual service yaml. Explore canary routing with multiple destinations, weights, and the relationship to destination rules and subsets like Safe and risky.
This lecture explains destination rules in Istio as load balancing configuration for a service, including canary subsets and weights, and shows how virtual service rules and YAML validation with Kiali.
Explore how to adjust Istio's load balancing for a virtual service using traffic policy and consistent hashing, and why sticky sessions can't be achieved with weighted routing.
Leverage consistent hashing for sticky routing without weights to keep clients on the same pod subset in kubernetes deployments, with caveats around canaries and header propagation for tracing.
Explore how Istio gateways replace Kubernetes ingress for traffic management and why you need an ingress gateway to expose services and enable canaries.
Discover how Istio gateways enable edge proxies to route external traffic through the ingress gateway, applying canary rules via virtual services to the web app.
Learn prefix-based routing in Istio by configuring virtual services to route url prefixes like /experimental to different destinations, moving beyond traditional weighted canaries.
Route two app versions using subdomains with Istio gateway and virtual service rules, avoid prefix routing, and test locally with a hosts file to map fleetman.com and experimental.fleetman.com.
Learn to use header based routing in Istio, matching a header like my-header with the exact value Canary to route to a canary destination, with a catch-all rule.
Explore dark releases with Istio on Kubernetes, routing risky microservice versions via header values to production, while comparing staging and live testing and addressing header propagation challenges.
Istio is one of the most talked-about frameworks in recent years! If you've worked with Kubernetes before, then you'll want to learn Istio! With this hands-on, practical course, you'll be able to gain experience in running your own Istio Service Meshes.
The course has now been updated to Istio 1.15, which now supports Apple M1 (and ARM processors in general).
This course is designed to be clear and understandable - and fun! But we also go into detail - you'll be learning how to use Istio in real production scenarios - and you'll be looking at the inner workings of Istio.
You can run this course on your own computer, using Minikube (8Gb of Host Ram required) - you don't need a cloud provider, although you can also run the course there - anywhere that you can run Kubernetes!
After a brief talk about what Istio is, we go straight into a hands-on demo, where you'll experience how Istio can solve difficult problems on live projects.
Then you'll find out the details of:
Traffic Management
Telemetry
Visualisation (with Kiali)
Distributed Tracing (with Jaeger)
Using Grafana to monitor network traffic
How to deploy canary releases
How to do "Dark Releases"
Istio VirtualServices and DestinationRules
Load Balancing and Session Affinity
Istio Gateways
Resilience testing with Fault Injection
Circuit Breaking/Outlier Detection
Securing cluster traffic with Mutual TLS (mTLS)
The "learning curve" for Istio is steep - which is why I've designed this course to be as clear and understandable as possible, and I hope with the hands-on demos, you'll also have fun along the way. But most of all, Istio is an extremely powerful tool, and it's a great addition to your CV!