liveBook · Manning

Service mesh

As explained in Kubernetes in Action, Second Edition

A service mesh is an infrastructure layer that manages communication, observability, traffic, and security between services without requiring application code changes.

A service mesh is a dedicated infrastructure layer for communication between services. It manages interservice observability, traffic, and security without requiring application code changes or application redeployments. section 13.1.2 section 13.7

A service mesh applies to:

  • East/west traffic: communication between services inside a cluster. section 13.7
  • Traffic management, observability, and security between services. section 13.1.2
  • Configuration-driven changes that avoid reconfiguring or redeploying applications in the mesh. section 13.7

Routing directly between services

The Gateway API Mesh Management and Administration (GAMMA) approach can configure an HTTPRoute whose parent is a destination Service rather than a Gateway. This supports interservice traffic flowing directly between services instead of through an additional gateway. section 13.7

kind: HTTPRoute
metadata:
  name: my-interservice-route
spec:
  parentRefs:
    - name: destination-service
      kind: Service
      group: core
      port: 80
  rules:
  - ...

Use an HTTPRoute with a Service parentRef to represent an interservice route. section 13.7

Istio can implement the Gateway API and can also serve as a service mesh. These roles are separable: Istio may provide the Gateway API without requiring use of its service-mesh functionality. Service-mesh configuration has also been addressed by the Service Mesh Interface (SMI) and the Gateway API GAMMA initiative. section 13.1.2 section 13.7

How Kubernetes in Action, Second Edition covers it

How deep it goes
Defines east/west service communication and configuration models, but defers a full service-mesh explanation.
Examples
Uses an HTTPRoute with a destination Service parentRef to represent direct interservice traffic.
What it assumes
Assumes Gateway API route and Service concepts while defining east/west traffic alongside north/south traffic.
What you can do after
Apply it via Gateway API and GAMMA concepts to configure communication between services.
How it connects
Connects Gateway API, HTTPRoute, Service, Istio, Service Mesh Interface, and GAMMA.

Also explained in

Compare how 6 books explain service mesh →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes in Action, Second Edition. The section links point to the parts of the book it draws on.