|
5 | 5 |
|
6 | 6 | = See the Solution in Action |
7 | 7 |
|
8 | | -== Demonstration |
| 8 | +Before walking though the solution, let's ensure all the necessary prerequisites are in place to set up the environment. |
9 | 9 |
|
10 | | -Include here content related to potential existing demos: blogs, articles, recorded videos, walkthrough guides, tutorials. |
| 10 | +== Prerequisites |
11 | 11 |
|
12 | | -[#demo-video] |
13 | | -=== Watch a demonstration |
| 12 | +To provision the demo you will perform the following steps - each of which is explained in detail in the next sections: |
14 | 13 |
|
15 | | -In this video you can see xpto: |
| 14 | +* You will need an OpenShift cluster with cluster-admin privileges. This solution pattern has been tested on OpenShift 4.17 |
16 | 15 |
|
17 | | -video::3yULVMdqJ98[youtube, width=800, height=480] |
| 16 | +* Ensure you have the OpenShift CLI tool `oc` installed and the ability to run shell scripts in your local environment such as your laptop |
18 | 17 |
|
19 | | -Next, you can learn how to walkthrough this demo. |
| 18 | +=== CLI Tools |
20 | 19 |
|
21 | | -== Run the demonstration |
| 20 | +To check if you have the cli tools, you can open your terminal and use following command: |
22 | 21 |
|
23 | | -=== Before getting started |
24 | | -To run this demo, you will need xpto. Adding to that, make sure to have: |
| 22 | +[.console-input] |
| 23 | +[source,shell script] |
| 24 | +---- |
| 25 | +oc version #openshift cli client |
| 26 | +---- |
25 | 27 |
|
26 | | -* ABC |
27 | | -* XYZ |
28 | | -* XPTO |
| 28 | +== Setup |
29 | 29 |
|
30 | | -=== Installing the demo |
31 | | -Installation guide and basic test of the demo installation if needed |
| 30 | +In this demo, the deployment scripts uses the OpenShift CLI to: |
32 | 31 |
|
33 | | -=== Walkthrough guide |
| 32 | +* Install the following OpenShift Operators: |
| 33 | +** OpenShift Service Mesh 3 (Tech Preview) |
| 34 | +** Kiali |
| 35 | +** OpenTelemetry |
| 36 | +** Tempo |
| 37 | + |
| 38 | +* Enable Gateway API (Tech Preview) |
| 39 | + |
| 40 | +* Implement an OpenShift Service Mesh solution |
| 41 | +** Provision and configure OpenShift Service Mesh control plane and other Istio supporting components (CRs namespaces) |
| 42 | +*** Istio (istiod) |
| 43 | +*** Istio-CNI (pod networking) |
| 44 | +*** Ingress-Gateway (for Gateway API and Istio Gateway) |
| 45 | +*** Kiali |
| 46 | +*** OpenShift Service Mesh Console Plugin |
| 47 | +** Provision and configure a `tracing-system` via a TemoStack for distributed tracing |
| 48 | +*** MinIO for persisent s3 storage |
| 49 | +*** Tempo |
| 50 | +*** OpenTelemetry CRs |
| 51 | +**** OpenTelemetryCollector |
| 52 | +**** Telemetry |
| 53 | +** Monitoring Configuration |
| 54 | +*** Enable User Monitoring with OpenShift Observability (Prometheus) |
| 55 | +*** Enable SystemMonitor in `istio-system` namespace |
| 56 | +*** Enable PodMonitor in all istio-related namespaces as well as application namespaces |
| 57 | +**** `istio-system` |
| 58 | +**** `istio-ingress` |
| 59 | +**** `bookinfo` |
| 60 | +**** `rest-api-with-mesh` |
| 61 | +*** Label all istio-releated and application namespaces with `istio-injection=enabled` |
| 62 | +** Sample Applications for Demo and Use-cases |
| 63 | +*** `bookinfo` - A sample multi-service application to demonstrate OSSM observability |
| 64 | +*** `rest-api-with-mesh` - A simple RestAPI application that contains a front end API that calls our back-end API that we are going to deploy via Canary deployment |
| 65 | + |
| 66 | +There is also a set of scripts we will use to test and deploy our RestAPI backend from `v1` to `v2` |
| 67 | + |
| 68 | +=== Get the deployment scripts |
| 69 | +* Login to your OpenShift cluster as cluster-admin (because a number of operators will need to be installed) via the OpenShift web console |
| 70 | +* Click on the username on the top right hand, and then click on Copy login command. This will open another tab and you will need to login again |
| 71 | +* Click on *Display token* link, and copy the command under *Log in with this token*. This command will look like this: |
| 72 | + |
| 73 | +[source,shell script] |
| 74 | +---- |
| 75 | +oc login --token=<token> --server=<server> |
| 76 | +---- |
| 77 | + |
| 78 | +* Clone the following git repo |
| 79 | + |
| 80 | +[.console-input] |
| 81 | +[source,shell script] |
| 82 | +---- |
| 83 | +git clone https://github.com/bugbiteme/ossm-3-demo.git |
| 84 | +---- |
| 85 | + |
| 86 | +=== Install Operators and enable Gateway API |
| 87 | + |
| 88 | +Ensure you are in the top-level directory of the project: `./ossm-3-demo`. |
| 89 | + |
| 90 | +Run the following script to install the above listed Operators and Gateway API and wait for it to complete |
| 91 | + |
| 92 | +[.console-input] |
| 93 | +[source,shell script] |
| 94 | +---- |
| 95 | +sh ./install_operators.sh |
| 96 | +---- |
| 97 | + |
| 98 | +=== Install OSSM solution and example applications |
| 99 | + |
| 100 | +Ensure you are in the top-level directory of the project: `./ossm-3-demo`. |
| 101 | + |
| 102 | +Run the following script to implement Service Mesh and the example applications and wait for it to complete: |
| 103 | + |
| 104 | +[.console-input] |
| 105 | +[source,shell script] |
| 106 | +---- |
| 107 | +sh ./install_ossm3_demo.sh |
| 108 | +---- |
| 109 | + |
| 110 | +Expected final output: |
| 111 | +[source,shell script] |
| 112 | +---- |
| 113 | +==================================================================================================== |
| 114 | +Ingress route for bookinfo is: http://istio-ingressgateway-istio-ingress.apps.<domain>/productpage |
| 115 | +To test RestAPI: sh ./scripts/test-api.sh |
| 116 | +Kiali route is: https://kiali-istio-system.apps.<domain> |
| 117 | +==================================================================================================== |
| 118 | +---- |
| 119 | + |
| 120 | + |
| 121 | +== Walkthrough guide |
34 | 122 | How to run through the demo |
| 123 | + |
| 124 | +=== Exploring the bookinfo application |
| 125 | + |
| 126 | +==== OpenShift Web Console View |
| 127 | +From the OpenShift web console, when looking at the topology of the `bookinfo` namespace, we see a number of deployments. But |
| 128 | + |
| 129 | +==== Kiali View |
| 130 | +We can see the traffic flow |
| 131 | + |
| 132 | +===== Overview |
| 133 | + |
| 134 | +===== Traffic Graphic |
| 135 | + |
| 136 | +===== Workloads |
| 137 | + |
| 138 | +===== Service |
| 139 | + |
| 140 | +===== Istio Config |
| 141 | + |
| 142 | +===== Mesh |
| 143 | + |
| 144 | +===== Distributed Tracing |
| 145 | + |
| 146 | +=== Exploring the RestAPI (`rest-api-with-mesh`) |
| 147 | + |
| 148 | +==== OpenShift Web Console View |
| 149 | +From the OpenShift web console, when looking at the topology of the `bookinfo` namespace, we see a number of deployments. But |
| 150 | + |
| 151 | +==== Kiali View via The OpenShift Service Mesh Console Plugin (OpenShift Web Console) |
| 152 | +We can see the traffic flow |
| 153 | + |
| 154 | +===== Overview |
| 155 | + |
| 156 | +===== Traffic Graphic |
| 157 | + |
| 158 | +=== Performing a Canary Deployment (`rest-api-with-mesh`) |
0 commit comments