RedHat Service Mesh provides the following four operators:
- (Optional) OpenShift Elasticsearch: The Elasticsearch operator enables you to configure and manage an Elasticsearch cluster for tracing and logging with Jaeger.
- Red Hat OpenShift distributed tracing platform (Jaeger): Provides tracing to monitor and troubleshoot transactions in complex distributed systems.
- Kiali: Provides observability for your service mesh. Kiali enables you to view configurations, monitor traffic, and view and analyze traces in a single console.
- Red Hat OpenShift Service Mesh: Enables you to connect, secure, control, and observe the microservices that comprise your applications. The Service Mesh Operator defines and monitors the ServiceMeshControlPlane resources that manage the deployment, updating, and deletion of the Service Mesh components. It is based on the open source Istio project.
This section provides the steps for installing these operators.
Step 1 Install Elasticsearch Operator
- Log in to the OpenShift Container Platform web console and select Operators > OperatorHub.
The page shown in the following figure is displayed:
Figure 15. OperatorHub
- Search for OpenShift Elasticsearch Operator, and then click Install.
- Select All namespaces on the cluster (default) for the installation mode and automatic approval strategy.
- Click Install to initialize the installation.
Step 2 Install the Red Hat OpenShift distributed tracing platform (Jaeger) Operator
- Log in to the OpenShift Container Platform web console and select Operators > OperatorHub.
- Search for the Red Hat OpenShift distributed tracing platform operator, as shown in the following figure:
Figure 16. Red Hat OpenShift distributed tracing platform search
- Click Install.
- Select All namespaces on the cluster (default) for the installation mode and automatic approval strategy.
- Click Install to initialize the installation.
Step 3 Install Kiali Operator
- Log in to the OpenShift Container Platform web console and select Operators > OperatorHub.
- Search for Kiali Operator, as shown in the following figure:
Figure 17. Kiali Operator search
- Click Install.
- Select All namespaces on the cluster (default) for the installation mode and automatic approval strategy.
All three operators - Jaeger, Kiali and Elasticsearch - are installed, as shown in the following figure:
Figure 18. Installed operators
Step 4 Install the Red Hat OpenShift Service Mesh Operator
- Log in to the OpenShift Container Platform web console and select Operators > OperatorHub.
- Search for Red Hat OpenShift Service Mesh Operator, as shown in the following figure:
Figure 19. Red Hat OpenShift Service Mesh operator search
- Click Install.
- Select All namespaces on the cluster (default) for the installation mode and automatic approval strategy.
- Next, deploy the Service Mesh control plane. This plane defines the configuration for control plane installation.
Step 5: Configure Service Mesh control plane
- Select Home > Projects > Create Project and create a project.
- Give the project the name “istio-system.”
- Select Operators > Installed Operators > Istio Service Mesh Control Plane.
- Click Create ServiceMeshControlPlane.
A default ServiceMeshControlPlane template is provided in YAML format.
- Modify the template to fit your use case and click Create.
The control plane starts installing, as shown in the following figure:
Figure 20. Service Mesh Control Plane installation process
Step 6: Configure Service Mesh Member Roll
The projects that belong to the control plane are listed in ServiceMeshMemberRoll. Create a ServiceMeshMemberRoll resource named “default” in the istio-system project:
- Select Home > Projects > istio-system.
- Select Operators > Installed Operators > Red Hat OpenShift Service Mesh > Istio Service Mesh Member Roll.
- Under ServiceMeshMemberRolls, click Create ServiceMeshMemberRoll.
- Add the projects that you want to be part of Istio service mesh and click Create.
You can update the ServiceMeshMemberRoll resource after you create it from the CLI.
ServiceMeshMemberRoll example
The following code extract is a sample YAML definition of a ServiceMeshMemberRoll:
apiVersion: maistra.io/v1
kind: ServiceMeshMemberRoll
metadata:
namespace: istio-system
name: default
spec:
members:
- your-project
- another-of-your-projects
- bookinfo