Supporting Your Migration with Istio
This solution tutorial demonstrates how to use a service mesh, Istio to gradually migrate services from a "legacy" environment to a modern, cloud-native one.
Please refer to the following articles for the steps to run the code:
Contents of this repository
Example Workload
The Bookinfo app is used as a test workload to gradually migrate to Kubernetes.
It's available for two different deployment methods:
- Docker Compose (in the
compose
directory) - Kubernetes (in the
kubernetes/bookinfo
directory)
Service Mesh Routing Rules
The kubernetes/bookinfo/istio
directory contains:
- An Istio Gateway to expose services
- Istio ServiceEntries to register services running with Docker Compose to the mesh
- Various VirtualServices to configure routing either to instances running with Docker Compose (
-vm
suffix), to Kubernetes (-gke
suffix) or to both (-split
suffix)
Additional Services
- A Service to expose KubeDNS so workloads not running in Kubernetes can resolve internal names
- An Istio Gateway and VirtualService to expose Kiali (used to visualize the service mesh)