Chapter 13. Service Meshes

This chapter focuses on one of the building blocks that make it easier to develop distributed, microservices-based applications on Kubernetes: the service mesh. Service meshes like Istio and Linkerd can perform duties such as monitoring, service discovery, traffic control, and security, to name a few. By offloading these responsibilities to the mesh, application developers can focus on delivering added value rather than reinventing the wheel by solving transversal infrastructure concerns.

One of the major benefits of service meshes is that they can apply policies to services transparently, without the services (client and server) needing to know they are part of a service mesh.

In this chapter, we’ll run through basic examples using both Istio and Linkerd. For each service mesh, we’ll show how you can quickly get up and running using Minikube and implement service-to-service communication inside the mesh while using simple but illustrative service mesh policies. In both examples, we’ll deploy a service based on NGINX, and our client invoking the service will be a curl pod. Both will be added to the mesh and the interactions between the services will be governed by the mesh.

13.1 Installing the Istio Service Mesh

Problem

Your organization is using or plans to use a microservices architecture, and you want to lighten the load on developers by offloading the need to build security, service discovery, telemetry, deployment strategies, and other nonfunctional ...

Get Kubernetes Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.