Demo for the Red Hat Service Mesh bookinfo demo, taken from https://access.redhat.com/documentation/en-us/openshift_container_platform/4.5/html-single/service_mesh/index#ossm-tutorial-bookinfo-overview_deploying-applications-ossm-v1x
- Log in as cluster admin
- Apply 1-5 in the istio-install directory via
oc apply -f
- If running on RHPDS or in AWS, also run
6-deploy-smcp-aws.yaml
- If running on RHPDS or in AWS, also run
- Give the "normal" user access to the
istio-system
project (i.e.oc adm policy add-role-to-user edit user1 -n istio-system
) - Switch to a "normal" user (i.e. user1 in an RHPDS environment)
- Create the
bookinfo
project (oc new-project bookinfo
) - Switch back to the cluster admin user
- Apply
7-deploy-servicemeshmemberroll.yaml
viaoc apply -f
- Switch back to the "normal" user
- Apply 0 & 1 in the bookinfo directory via
oc apply -f
- Run
export $(./2-gateway-url.sh)
in the bookinfo directory - Apply
3-destination-rule-all-mtls.yaml
viaoc apply -f
- Now you should be able to run
generate-traffic.sh
to generate traffic- Kiali should be available at https://kiali-istio-system.apps.##CLUSTER_SUFFIX##
- Jaeger should be available at https://jaeger-istio-system.apps.##CLUSTER_SUFFIX##
- The
reset-virtualservices.sh
script will reset allVirtualService
s to the default state, so requests to thereviews
service will flow to each version, as set up by the installation- Re-run this each time you make a change before making a new change to revert back to a clean state
- The
reset-ratelimits.sh
script will reset the rate limits applied bydemo-6-mixer-rule-productpage-ratelimit.yaml
- Re-run this whenever you apply
demo-6-mixer-rule-productpage-ratelimit.yaml
to reset back to a clean state- NOTE: This requires either being run as a cluster admin user, or by a user that has
edit
access to theistio-system
project
- NOTE: This requires either being run as a cluster admin user, or by a user that has
- Re-run this whenever you apply
- The bookinfo directory has a bunch of
demo-
scripts that you can run to set up different scenariosdemo-0-virtual-service-all-v1.yaml
sets all requests toreviews-v1
demo-1-virtual-service-reviews-v2-partial.yaml
sets 90% of traffic toreviews-v1
& 10% of traffic toreviews-v2
demo-2-virtual-service-reviews-v2-full.yaml
sets all requests toreviews-v2
demo-3-virtual-service-reviews-jason-v2-v3.yaml
sets users who log in asjason
toreviews-v3
and everyone else toreviews-v2
demo-4-virtual-service-reviews-jason-v2-v3-delay.yaml
sets users who log in asjason
toreviews-v3
, but with a 3 second delay. Everyone else goes toreviews-v2
with no delaydemo-5-virtual-service-reviews-jason-v2-v3-error.yaml
sets users who log in asjason
to receive a500
error. All other users are routed 50% toreviews-v2
& 50% toreviews-v3
demo-6-mixer-rule-productpage-ratelimit.yaml
imposes some rate limits on theproductpage
demo-7-destination-rule-product-page-circuit-breaker.yaml
places some circuit breaker logic onproductpage