This example demonstrates how to use various traffic management capabilities of an Istio service mesh.
Deploying a microservice-based application in an Istio service mesh allows one to externally control service monitoring and tracing, request (version) routing, resiliency testing, security and policy enforcement, etc., in a consistent way across the services, for the application as a whole.
In this example, we will use the Bookinfo sample application to show how operators can dynamically configure request routing and fault injection for a running application.
Before you begin
Install the Istio control plane by following the instructions corresponding to your platform installation guide.
Run the Bookinfo sample application by following the applicable application deployment instructions.
Request routing This task will first direct all incoming traffic for the Bookinfo application to the v1 version of the
reviewsservice. It will then send traffic only from a specific test user to version v2, leaving all other users unaffected.
Fault injection We will now use Istio to test the resiliency of the Bookinfo application by injecting an artificial delay in requests between the
ratingsservices. Observing the resulting behavior as the test user, we will notice that the v2 version of the
reviewsservice has a bug. Note that all other users are unaware of this testing against the live system.
Traffic Shifting Finally, we will use Istio to gradually migrate traffic for all users from to a v3 version of the
reviewsservice, one which includes the fix for the bug discovered in v2.
When you're finished experimenting with the Bookinfo sample, you can uninstall it by following the Bookinfo cleanup instructions corresponding to your environment.
This task shows you how to configure dynamic request routing to multiple versions of a microservice.
Describes how to deploy a custom ingress gateway using cert-manager manually.
How to use Istio for traffic management without deploying sidecar proxies.
Introduction, motivation and design principles for the Istio v1alpha3 routing API.
Describes how to configure Istio ingress with a network load balancer on AWS.
An introduction to safer, lower-risk deployments and release to production.