OpenShift Service Mesh (Istio) Support
Deployed solutions designed and implemented with Financial Services Workbench now support OpenShift Service Mesh.
Prerequisites
- OpenShift Service Mesh installed (version 2.0.2 and above) Note: Make sure the instance of Istio Service Mesh Control Plane is created
- Create certificates by using the command
oc create secret tls istio-ingressgateway-certs --key tls.key --cert tls.crt -n istio-system
Note: Make sure to update your certificates when ever they expire.
Enable OpenShift Service Mesh Support
The enablement of OpenShift Service Mesh can be set during the creation of a k5project. The variation in setting up a additional steps are described below.
Step 1: Create an OpenShift project
Step 2 a): Create service mesh member roll for the new Project
- Switch to istio-system project:
Home > Projects > istio-system
- Navigate to:
Operators > Installed Operators > Red Hat OpenShift Service Mesh > Istio Service Mesh Member Roll
Replace
your-project
with the created OpenShift project/sapiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default namespace: openshift-operators spec: members: - your-project - another-of-your-projects
Step 3: Create an instance of the custom resource
k5project
Attention: while creating a new K5-project using CRD, enable Istio
(must) and strictMtls (optional). But we recommend enabling strictMtls mode for
security
reasons.
istio:
enabled: true
strictMtls: true
Create a route for OpenShift Service Mesh
- Switch to istio-system project:
Home > Projects > istio-system
- Navigate to:
administrator > networking > routes > create route
- provide name for the route
- hostname must have in below format <k5-project-name>.<your suffix URL>
- select service as istio-ingressgateway
- select target port as 443 -> 8443 (TCP)
- under security select checkbox Secure route
- select TLS Termination to passthrough
- click on create
Create a webhook
- Switch to istio-system project:
Home > Projects > istio-system
- Navigate to:
Networking > Routes
- Search for route which is created in above steps and append
/webhook
for the URL and use this modified _URL to create webhook.Example: https://<k5-project-name>.<your suffix URL>/webhook