IST-102

Service Mesh Essentials and Implementation with Istio

Detailed Course Outline

Course Length

2 days

Course Overview

Moving applications to the cloud brings new challenges for both developers and operators. Developers will use microservices to build their applications, while operators will need to manage large numbers of microservices deployments. Istio will reduce the complexity of such microservices by providing a service mesh that can transparently integrate into existing distributed applications and provides a way to securely connect and monitor microservices.

In this workshop we will first discuss the architecture of Istio, then we will install it into an existing Kubernetes cluster. Once we have Istio in place, we will deploy a sample application and will have a look at some of the functionalities of Istio.

Training Objectives

At the end of the training participants:

  • • Understand what a service mesh is, which problems it solves for microservices based applications and how the architecture of Istio is built up.
  • • Install Istio into an existing Kubernetes cluster and deploy a sample application into the mesh.
  • • Understand and configure the traffic management features of Istio: request routing, service discovery, load balancing and failure handling with the traffic management configuration resources.
  • • Understand the security needs of microservices based applications as well as the security architecture, identities, authentication policies and authorization policies of Istio.
  • • Use the observability features of Istio: metrics collection and visualisation with Prometheus and Grafana, logging, distributed tracing with Jaeger and mesh management with Kiali.
  • • Upgrade Istio with istioctl, analyze the mesh configuration and troubleshoot proxies, pods and services in the mesh.

Structure

50% theory 50% hands-on lab exercises

Target Audience

System administrators, developers and DevOps who want to understand the basic concepts and features of service meshes generally and Istio specifically as well as to gain some basic hands-on experience with it.

Prerequisites

Understanding of Kubernetes administration. Basic knowledge of Linux containers, e.g. Docker. Basic understanding of networking.

Course Modules

Module 1: Introduction

  • Service mesh introduction
  • Istio introduction
  • Istio's architecture
  • Installing Istio on Kubernetes

Module 2: Traffic management

  • Traffic routing concepts
  • Request routing
  • Discovery and load balancing
  • Handling failures
  • Traffic management configuration resources

Module 3: Security

  • Security needs of microservices based applications
  • Security architecture of Istio
  • Identities in Istio
  • Authentication policies
  • Authorization policies

Module 4: Observability

  • Observability features of Istio
  • Metrics
  • Collecting and visualising metrics with Prometheus and Grafana
  • Logging in Istio
  • Distributed tracing with Jaeger
  • Mesh management with Kiali

Module 5: Maintenance and troubleshooting

  • Upgrading Istio with istioctl
  • Analyzing mesh configuration
  • Observing the status of the proxies
  • Observing the configuration of the proxies
  • Troubleshooting pod's status in the mesh
  • Troubleshooting services in the mesh