Istio HandsOn for Kubernetes
What you’ll learn
What are Service Meshes?
What is Istio?
How can I run Istio locally?
What are Envoy Proxies?
The Istio Control and Data Planes
Visualising a Cluster using Kiali
Distributed Tracing using Jaeger
Monitoring metrics using Grafana
What are Istio VirtualServices and DestinationRules?
How to deploy Canaries (and what they are!)
How to deploy “Dark Releases”
How to test the resilience of a system using Fault Injection
Understand standard Kubernetes
Be familiar with pods, deployments and services from Kubernetes
Be able to run a Kubernetes environment such as Minikube
If using Minikube, 4gb is required and therefore an 8gb host machine (laptop/desktop) is required
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 ManagementTelemetryVisualisation (with Kiali)Distributed Tracing (with Jaeger)Using Grafana to monitor network trafficHow to deploy canary releasesHow to do “Dark Releases”Istio VirtualServices and DestinationRulesLoad Balancing and Session AffinityIstio GatewaysResilience testing with Fault InjectionCircuit Breaking/Outlier DetectionSecuring 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!
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Course Downloads
Section 2: Getting Started
Lecture 3 What is Istio?
Section 3: Hands on Demo
Lecture 4 What to expect in this section
Lecture 5 Installing Minikube
Lecture 6 Getting Istio Running
Lecture 7 Enabling Sidecar Injection
Lecture 8 Visualizing the System with Kiali
Lecture 9 Finding Performance Problems
Section 4: Introducing Envoy
Lecture 10 Introducing Envoy – The Data Plane
Lecture 11 The next lecture is optional!
Lecture 12 Going Deeper into Envoy (Optional Video)
Section 5: Telemetry
Lecture 13 Starting the Demo System
Lecture 14 Kiali Deeper Dive
Lecture 15 Kiali Dynamic Traffic Routing
Lecture 16 Distributed Tracing Overview
Lecture 17 Using Jaeger UI
Lecture 18 Why you need to “Propagate Headers”
Lecture 19 What happens if you don’t propagate headers?
Lecture 20 Metrics with Grafana
Section 6: Traffic Management
Lecture 21 Introducing Canaries
Lecture 22 Canaries with Replicas
Lecture 23 Version Grouping
Lecture 24 Elegant Canaries and Staged Releases
Lecture 25 What is an Istio VirtualService?
Lecture 26 VirtualService Configuration in yaml
Lecture 27 What is an Istio DestinationRule?
Section 7: Load Balancing
Lecture 28 Session Affinity (“Stickiness”)
Lecture 29 What is Consistent Hashing useful for?
Section 8: Gateways
Lecture 30 Why do I need an Ingress Gateway?
Lecture 31 Edge Proxies and Gateways
Lecture 32 Prefix based routing
Lecture 33 Subdomain Routing
Section 9: Dark Releases
Lecture 34 Using a browser extension to modify headers
Lecture 35 Header Based Routing
Lecture 36 Dark Releases for all Microservices
Section 10: Fault Injection
Lecture 37 Fault Injection
Section 11: Circuit Breaking
Lecture 38 Cascading Failures
Lecture 39 Configuring Outlier Detection
Lecture 40 Testing Circuit Breakers
Section 12: Mutual TLS
Lecture 41 Why is encryption needed inside a cluster?
Lecture 42 How Istio can upgrade traffic to TLS
Lecture 43 Enabling mTLS – it’s Automatic
Lecture 44 STRICT vs PERMISSIVE mTLS
Lecture 45 STRICT mTLS Works in Both Directions
Section 13: Customizing and Installing Istio with Istioctl (updated for 2021, Istio 1.8+)
Lecture 46 Quick note on “uninstall”
Lecture 47 Introducing istioctl
Lecture 48 Istio Profiles
Lecture 49 Installing addons
Lecture 50 Notes on the upcoming video
Lecture 51 Tuning Profiles
Lecture 52 Note on the upcoming video
Lecture 53 Default vs Demo Profiles – CPU and Memory
Lecture 54 Generating YAML Manifests
Section 14: Upgrading Istio
Lecture 55 In-Place Upgrades
Lecture 56 “Canary Upgrades” (Rolling Upgrades)
Lecture 57 Live Cluster Switchovers (Alternative to the official upgrade paths)
Section 15: Goodbye!
Lecture 58 Goodbye
Any Kubernetes developer who wants to learn what Istio can do for them,Anyone who has tried to understand Istio but finds the standard documentation too confusing
Udemy | English | 12h 16m | 7.55 GB
Created by: Richard Chesterwood