We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Istio Hands-On for Kubernetes

Richard Chesterwood and Prageeth Warnak

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.

Read more

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.

Enroll now

What's inside

Learning objectives

  • 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"
  • Istio gateways
  • How to test the resilience of a system using fault injection
  • Show more
  • Show less

Syllabus

Introduction
Course Downloads
You'll find out what Istio is for, and why Service Meshes are very useful on Kubernetes clusters
What is Istio?
Read more
(Optional): Installing a Local Kubernetes Environment
What to do if you need to install Kubernetes locally?
(Optional) Choosing between Docker Desktop and Minikube
(Optional) How to Install Docker Desktop
(Optional) How to Run Kubernetes in Docker Desktop
(Optional) Installing Minikube
(Optional) Choosing a Minikube Driver
We'll give Istio a try out - a complex problem on a project can be solved using Istio's monitoring tools - and we can come up with a fix!
What to expect in this section
Note for Docker Desktop Users
Getting Istio Running
Enabling Sidecar Injection
Visualizing the System with Kiali
Finding Performance Problems
Introducing Envoy
Introducing Envoy - The Data Plane
The next lecture is optional!
Going Deeper into Envoy (Optional Video)
Learn about Istio's Telemetry features, including Kiali, Jaeger and Grafana
Starting the Demo System
Kiali Deeper Dive
Kiali Dynamic Traffic Routing
Distributed Tracing Overview
Using Jaeger UI
Why you need to "Propagate Headers"
What happens if you don't propagate headers?
Metrics with Grafana
How and why to manipulate traffic in Istio - Canaries, VirtualServices and DestinationRules
Introducing Canaries
Canaries with Replicas
Version Grouping
Elegant Canaries and Staged Releases
What is an Istio VirtualService?
VirtualService Configuration in yaml
What is an Istio DestinationRule?
Set up Load Balancing, and understand why it doesn't currently work with weightings
Session Affinity ("Stickiness")
What is Consistent Hashing useful for?
Know why an Istio Gateway is essential if you want to apply traffic management and monitoring to front ends
Reminder for Docker Desktop users - port-forwarding
Why do I need an Ingress Gateway?
Edge Proxies and Gateways
Prefix based routing
Subdomain Routing
Deploy a "Dark Release" to only selected users, such as the system engineers.
Using a browser extension to modify headers
If you have problems in the next section
Header Based Routing
Dark Releases for all Microservices
Inject faults into a live system to test its resilience to failure
Fault Injection
Identify the need to avoid cascading failures, and use Circuit Breakers to protect against them
Cascading Failures
Configuring Outlier Detection
Testing Circuit Breakers
Understand the need for TLS between microservices, and use Istio to enable this
Why is encryption needed inside a cluster?
How Istio can upgrade traffic to TLS
Enabling mTLS - it's Automatic
STRICT vs PERMISSIVE mTLS
STRICT mTLS Works in Both Directions
Customizing and Installing Istio with Istioctl
Quick note on "uninstall"
Introducing istioctl
Istio Profiles
Installing addons
Notes on the upcoming video
Tuning Profiles
Note on the upcoming video
Default vs Demo Profiles - CPU and Memory
Generating YAML Manifests
Upgrading Istio
In-Place Upgrades
"Canary Upgrades" (Rolling Upgrades)
Live Cluster Switchovers (Alternative to the official upgrade paths)
Goodbye!
Goodbye

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers Istio, which is highly relevant to operating Kubernetes clusters in an enterprise environment
Teaches Istio's Telemetry features including Kiali, Jaeger, and Grafana, which are widely used in industry
Provides hands-on labs and interactive materials, which are essential to learning Istio effectively
Taught by Richard Chesterwood and Prageeth Warnak, who are recognized for their work in Kubernetes and Istio
Requires learners to come in with some experience in Kubernetes, which may not be suitable for complete beginners
Focuses on practical application of Istio, which may be less useful for learners seeking theoretical understanding

Save this course

Save Istio Hands-On for Kubernetes to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Istio Hands-On for Kubernetes. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Istio Hands-On for Kubernetes will develop knowledge and skills that may be useful to these careers:
Site Reliability Engineer
A Site Reliability Engineer is responsible for ensuring the reliability and performance of IT systems and services. This course can be helpful for Site Reliability Engineers who want to gain in-depth knowledge of Istio and its usage in production environments. By understanding how Istio can improve system reliability, performance, and availability, individuals can excel in this role.
DevOps Engineer
This course is particularly relevant for DevOps Engineers. The concepts and technologies covered, such as continuous integration, service meshes, and distributed tracing, are DevOps tools used to improve the efficiency and agility of software development and delivery. By taking this course, individuals in this field can strengthen their understanding and enhance their DevOps skillset.
Cloud Engineer
Cloud Engineers are in high demand as more companies shift their operations and infrastructure to cloud-based platforms. A firm understanding of container orchestration, service meshes, and cloud-native technologies is essential for Cloud Engineers. By completing this Istio course, you can strengthen your skillset and be prepared to take on advanced roles in cloud engineering.
Cloud Architect
Cloud Architects are responsible for designing and managing cloud computing systems. This course can be helpful for Cloud Architects who want to gain proficiency in deploying, managing, and troubleshooting Istio in cloud environments. By understanding how Istio can improve cloud service performance, reliability, and security, Cloud Architects can enhance their skills in designing and maintaining scalable and efficient cloud architectures.
Software Architect
For those interested in the larger scope and design of software systems, progressing into the role of a Software Architect is an excellent next step. Architects play a crucial role in the tech industry, creating software applications and overseeing the work of various engineering departments. The concepts learned in this Istio course, especially around telemetry, can serve as a strong foundation for those who want to excel as a Software Architect.
Software Development Manager
As a Software Development Manager, you will be responsible for leading and managing software development teams. This course can help those aspiring to enter this role develop a solid understanding of Istio, a crucial technology for managing microservices and distributed systems. By gaining proficiency in Istio's concepts and mechanisms, you can effectively lead teams in adopting and implementing service mesh solutions.
Solutions Architect
Solutions Architects are responsible for designing and implementing technology solutions that meet the needs of clients. This course can be helpful for Solutions Architects who want to gain familiarity with Istio and its use cases in enterprise environments. By understanding how Istio can help solve common challenges in service-oriented architectures, Solutions Architects can enhance their ability to design and deliver tailored technology solutions to clients.
Information Security Analyst
Information Security Analysts are responsible for protecting an organization's IT systems and data from security threats. This course can be useful for Information Security Analysts who want to gain familiarity with Istio's security features, such as mutual TLS (mTLS), which is essential for securing microservice communication. By understanding how Istio can enhance security within distributed systems, analysts can strengthen their skills in protecting organizations from cyber threats.
Network Architect
Network Architects design, implement, and maintain the infrastructure that connects devices, systems, and services. This course can be helpful for Network Architects who want to gain familiarity with Istio's network management capabilities. By understanding how Istio can be used to optimize network performance, manage traffic flow, and provide security, Network Architects can enhance their skills in designing and maintaining robust networks.
Systems Administrator
Systems Administrators play a vital role in ensuring the smooth operation of IT systems. With a deep understanding of network infrastructure, operating systems, and cloud technologies, Systems Administrators maintain and improve the performance and reliability of systems. This Istio course can be helpful for those looking to specialize in Kubernetes administration and service mesh technologies.
Technical Support Engineer
Technical Support Engineers provide technical assistance and support to users. This course can be helpful for Technical Support Engineers who want to gain familiarity with troubleshooting and resolving issues related to Istio and Kubernetes. By understanding how Istio works and how to troubleshoot common problems, Technical Support Engineers can enhance their skills in providing efficient and effective support to users.
Product Manager
For those interested in the intersection of technology and business, a Product Manager role may be a great fit. Product Managers are responsible for defining the vision and roadmap for software products, working with engineering teams to bring products to market. The concepts learned in this course, around service meshes, traffic management, and monitoring, can be useful for Product Managers who want to build a strong understanding of the technical aspects of their products.
Database Administrator
Database Administrators (DBAs) are responsible for managing and maintaining databases. With a deep understanding of database systems, DBAs ensure data integrity, security, and performance. This course can be helpful for DBAs who want to expand their knowledge into cloud-native technologies and service meshes. By understanding how Istio can be used to manage and monitor database services, DBAs can enhance data management and performance.
Network Engineer
With a background in computer science principles, a Network Engineer designs, implements, and maintains computer networks within an organization. This course can be helpful for Network Engineers who want to gain familiarity with the Istio service mesh and other topics like distributed tracing, as they would be closely involved in the setup, configuration, and troubleshooting of such systems.
Data Analyst
Data Analysts are responsible for collecting, analyzing, and interpreting data to extract meaningful insights and patterns. This course can be helpful for Data Analysts who want to gain familiarity with techniques such as distributed tracing and monitoring, which are used for performance analysis and troubleshooting in service mesh architectures.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Istio Hands-On for Kubernetes.
A collection of design patterns for building and managing microservices, including patterns for communication, data management, and fault tolerance. Provides a valuable resource for understanding the concepts and best practices of microservices architecture, which is relevant for Istio adoption.
A comprehensive guide to securing Kubernetes clusters, covering topics such as authentication, authorization, and network security. Provides valuable insights into securing the underlying infrastructure for Istio deployments.
Provides a comprehensive overview of Kubernetes. It covers topics such as cluster architecture, application deployment, and cluster management.
Provides a comprehensive guide to using Kubernetes operators. It covers topics such as operator design, development, and deployment. It valuable resource for anyone who wants to learn how to build and operate Kubernetes operators.
Provides a comprehensive guide to designing and developing data-intensive applications. It covers topics such as data modeling, data storage, and data processing. It valuable resource for anyone who wants to learn how to build and operate data-intensive applications.
Provides a comprehensive guide to reactive programming in Java. It covers topics such as reactive streams, reactive programming frameworks, and reactive programming patterns. It valuable resource for anyone who wants to learn how to build and operate reactive applications in Java.
Provides a hands-on guide to using Kubernetes. It covers topics such as installing Kubernetes, deploying applications, and managing clusters.
Provides a comprehensive guide to designing and developing microservices. It covers topics such as microservice architecture, API design, and testing. It valuable resource for anyone who wants to learn how to build and operate microservices.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Istio Hands-On for Kubernetes.
Managing Apps on Kubernetes with Istio
Most relevant
Introduction to Containers, Kubernetes and OpenShift
Most relevant
Cloud-Native: Microservices, Kubernetes, Service Mesh,...
Most relevant
Introduction to Istio
Most relevant
Learn DevOps: On-Prem or Cloud Agnostic Kubernetes
Most relevant
Introduction to Containers w/ Docker, Kubernetes &...
Creating .Net Core Microservices using Clean Architecture
Handling Data and Stateful Applications in Docker and...
Kubernetes for Beginners: Google Cloud, AWS & Azure
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser