Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Service mesh with Istio and Kubernetes
Rating: 3.8 out of 5(71 ratings)
3,998 students

Service mesh with Istio and Kubernetes

Learn how to solve most distributed-systems challenges with state of the art technologies
Last updated 7/2024
English
English [Auto],

What you'll learn

  • How to solve distributed-systems challenges using Istio and Kubernetes

Course content

1 section10 lectures37m total length
  • Message from the instructor0:35

    Alex, the instructor, asks you to rate the courses and share feedback, highlighting the effort to prepare and record free content. He plans to create more unique content for you.

  • Load the application2:00

    Install minikube and allocate enough memory, following the setup commands. Enable Istio sidecar injection in the default namespace and review the application’s Kubernetes deployments and services.

  • Traffic management - Gateway2:32

    The lecture demonstrates how a service mesh routes external calls, externalizes URLs, enforces http to https with TLS, and uses routing rules to monitor and control external dependencies.

  • Manage external services2:45

    Explore managing external services in a service mesh by routing external calls through the mesh, while intercepting, applying rules, and monitoring reliability.

  • Encrypt connection (mTLS)1:49

    Enable mTLS to encrypt every call in your service mesh with Istio and Kubernetes, verify encrypted traffic in Grafana, then use Istio certificates or your own.

  • Circuit beaker20:18

    Explore circuit breaker behavior in a Kubernetes Istio environment by enabling a gateway, simulating failures, and observing retries, then apply header-based authentication without code changes.

  • Fault injection2:29

    Learn fault injection by aborting 60 percent of calls and delaying all calls by 10 seconds when a trigger header is present, then observe load-balanced behavior.

  • Load balancing1:43

    Learn how Istio's sidecar enables load balancing across two service instances, observe traffic switching between them, and apply different load-balancing policies to see how behavior changes.

  • Logging entry1:27

    Explore telemetry and logging in Istio and Kubernetes, examining sidecar proxies, logging attributes, and console output to verify custom log data in the Mixer.

  • App Authentication2:15

    Demonstrates applying app authentication via headers to control access without code changes, shifting authentication from the app to the network in a service mesh with Istio and Kubernetes.

Requirements

  • Basic understanding of Kubernetes
  • Basic understanding of Istio

Description

Istio is a service mesh for distributed application architectures, especially the ones that you run on the cloud with Kubernetes.

Istio is the coolest kid on the DevOps block and the tool that we need in our toolbox to address most of the communication issues for distributed applications.

Istio provides the following functionality in a distributed application architecture:

  • Service discovery — Traditionally provided by platforms like Netflix Eureka or Consul.

  • Automatic load balancing — You might have used Netflix Zuul for this.

  • Routing, circuit breaking, retries, fail-overs, fault injection — Think of Netflix Ribbon, Hytrix and so on.

  • Policy enforcement for access control, rate limiting, A/B testing, traffic splits, and quotas — Again you might have used Zuul to do some of these.

  • Metrics, logs, and traces — Think of ELK

  • Secure service-to-service communication — Replacing the manual TLS configuration

  • Authentication and Authorization — good by Spring Security

I am maintaining an open-source project that provides solutions for common communication challenges. The idea of this project is to provide you with bootstrap for your next distributed system architecture. This project will definitely help you to get an understanding of how to solve distributed application challenges using Istio and save you a lot of time in setting up your next service mesh.

I have prepared an application example to simulate different issues where we could solve all issues step by step in an educative way.

We will see how to secure the communication within the cluster, open the circuit breaker to not send the request to a failed service, monitor external calls, see load balancing in action, add fault injection, manage traffic to a different version of the app, secure access to use the JWT token, write custom logs, and, finally how to monitor your application using Kibana, Kiali, and Jagger.


This course will provide an overview of what is possible to achieve with Istio and how to achieve those but will not go into details of each operation. To a deep explanation of each functionality check this excellent course Istio hands-on for Kubernetes

Who this course is for:

  • Anyone working with microservices
  • Anyone working with DevOps