OCP cluster configuration.
- OCP cluster up and running with version 4.6 or higher.
- OC cli installed.
Jaeger
oc apply -f ./config/1-operators/jaeger-operator.yaml
Kiali
oc apply -f ./config/1-operators/kiali-operator.yaml
OSSM
oc apply -f ./config/1-operators/ossm-operator.yaml
oc get clusterserviceversions.operators.coreos.com
---
NAME DISPLAY VERSION REPLACES PHASE
jaeger-operator.v1.28.0 Red Hat OpenShift distributed tracing platform 1.28.0 Succeeded
kiali-operator.v1.36.7 Kiali Operator 1.36.7 kiali-operator.v1.36.6 Succeeded
servicemeshoperator.v2.1.1 Red Hat OpenShift Service Mesh 2.1.1-0 servicemeshoperator.v2.1.0 Succeeded
Now, the operators are installed and it is time to install the Service Mesh Control Plane with the configuration desired. For this, set the SMCP Configuration file up with your preferences and install it.
Create the istio-system namespace
oc new-project istio-system
Install the Service Mesh Control Plane
oc apply -f ./config/2-ossm/basic.yaml
You can check the installation by executing
oc get smcp -n istio-system
----
NAME READY STATUS PROFILES VERSION AGE
basic 10/10 ComponentsReady ["default"] 2.1.1 2m10s
Add the users to the file Oauth File and execute from the root path:
config/util/oauth.sh
The ServiceMeshMemberRoll object lists the projects that belong to the Control Plane. Any project that is not set in this object, is treated as external to the Service Mesh. This object must exist in the Service Mesh with the name default.
Create the SMMR
oc apply -f ./config/2-ossm/smmr.yaml
A namespace called my-awesome-project exists in the OCP cluster and it will be joined to the Service Mesh:
oc get smmr default -n istio-system -oyaml
---
NAME READY STATUS AGE
default 1/1 Configured 5s
As cluster-admin:
oc new-project ddbb
oc create -n ddbb secret generic mysql-credentials-1 --from-env-file=./config/3-mysql-deploy/params.env
oc create -n ddbb secret generic mysql-credentials-2 --from-env-file=./config/3-mysql-deploy/params-2.env
oc create -n ddbb secret generic mysql-credentials-3 --from-env-file=./config/3-mysql-deploy/params-3.env
oc process -f ./config/3-mysql-deploy/mysql-template.yaml --param-file=./config/3-mysql-deploy/params.env | oc create -n ddbb -f -
oc process -f ./config/3-mysql-deploy/mysql-template.yaml --param-file=./config/3-mysql-deploy/params-2.env | oc create -n ddbb -f -
oc process -f ./config/3-mysql-deploy/mysql-template.yaml --param-file=./config/3-mysql-deploy/params-3.env | oc create -n ddbb -f -
oc create -n istio-system -f ./config/3-mysql-deploy/svc-mysql.yaml
All the MySQL instances should be running in ddbb project.
Create the Istio objects to route the traffic from the Egress Gateway to the external Mysql databases
As cluster-admin:
oc create -n istio-system -f ./config/4-istio-system-egress/
To simulate real users generating objects and traffic in the OCP cluster:
config/util/test-users.sh