2.25.3. Troubleshooting the control plane
The Service Mesh control plane is composed of Istiod, which consolidates several previous control plane components (Citadel, Galley, Pilot) into a single binary. Deploying the ServiceMeshControlPlane also creates the other components that make up Red Hat OpenShift Service Mesh as described in the architecture topic.
2.25.3.1. Validating the Service Mesh control plane installation 링크 복사링크가 클립보드에 복사되었습니다!
When you create the Service Mesh control plane, the Service Mesh Operator uses the parameters that you have specified in the ServiceMeshControlPlane resource file to do the following:
Creates the Istio components and deploys the following pods:
-
istiod -
istio-ingressgateway -
istio-egressgateway -
grafana -
prometheus
-
Calls the Kiali Operator to create Kaili deployment based on configuration in either the SMCP or the Kiali custom resource.
참고You view the Kiali components under the Kiali Operator, not the Service Mesh Operator.
Calls the Red Hat OpenShift Distributed Tracing Platform (Jaeger) Operator to create Distributed Tracing Platform (Jaeger) components based on configuration in either the SMCP or the Jaeger custom resource.
참고You view the Jaeger components under the Red Hat OpenShift Distributed Tracing Platform (Jaeger) Operator and the Elasticsearch components under the Red Hat Elasticsearch Operator, not the Service Mesh Operator.
From the OpenShift Container Platform console
You can verify the Service Mesh control plane installation in the OpenShift Container Platform web console.
-
Navigate to Ecosystem
Installed Operators. -
Select the
istio-systemnamespace. Select the Red Hat OpenShift Service Mesh Operator.
- Click the Istio Service Mesh Control Plane tab.
-
Click the name of your control plane, for example
basic. -
To view the resources created by the deployment, click the Resources tab. You can use the filter to narrow your view, for example, to check that all the Pods have a status of
running. -
If the SMCP status indicates any problems, check the
status:output in the YAML file for more information.
-
Navigate back to Ecosystem
Installed Operators. Select the OpenShift Elasticsearch Operator.
- Click the Elasticsearch tab.
-
Click the name of the deployment, for example
elasticsearch. - To view the resources created by the deployment, click the Resources tab. .
-
If the
Statuscolumn any problems, check thestatus:output on the YAML tab for more information.
-
Navigate back to Ecosystem
Installed Operators. Select the Red Hat OpenShift Distributed Tracing Platform (Jaeger) Operator.
- Click the Jaeger tab.
-
Click the name of your deployment, for example
jaeger. - To view the resources created by the deployment, click the Resources tab.
-
If the
Statuscolumn indicates any problems, check thestatus:output on the YAML tab for more information.
-
Navigate to Ecosystem
Installed Operators. Select the Kiali Operator.
- Click the Istio Service Mesh Control Plane tab.
-
Click the name of your deployment, for example
kiali. - To view the resources created by the deployment, click the Resources tab.
-
If the
Statuscolumn any problems, check thestatus:output on the YAML tab for more information.
-
Navigate to Ecosystem
From the command line
Run the following command to see if the Service Mesh control plane pods are available and running, where
istio-systemis the namespace where you installed the SMCP.$ oc get pods -n istio-systemExample output
NAME READY STATUS RESTARTS AGE grafana-6776785cfc-6fz7t 2/2 Running 0 102s istio-egressgateway-5f49dd99-l9ppq 1/1 Running 0 103s istio-ingressgateway-6dc885c48-jjd8r 1/1 Running 0 103s istiod-basic-6c9cc55998-wg4zq 1/1 Running 0 2m14s jaeger-6865d5d8bf-zrfss 2/2 Running 0 100s kiali-579799fbb7-8mwc8 1/1 Running 0 46s prometheus-5c579dfb-6qhjk 2/2 Running 0 115sCheck the status of the Service Mesh control plane deployment by using the following command. Replace
istio-systemwith the namespace where you deployed the SMCP.$ oc get smcp -n istio-systemThe installation has finished successfully when the STATUS column is
ComponentsReady.Example output
NAME READY STATUS PROFILES VERSION AGE basic 10/10 ComponentsReady ["default"] 2.1.3 4m2sIf you have modified and redeployed your Service Mesh control plane, the status should read
UpdateSuccessful.Example output
NAME READY STATUS TEMPLATE VERSION AGE basic-install 10/10 UpdateSuccessful default v1.1 3d16hIf the SMCP status indicates anything other than
ComponentsReadycheck thestatus:output in the SCMP resource for more information.$ oc describe smcp <smcp-name> -n <controlplane-namespace>Example output
$ oc describe smcp basic -n istio-systemCheck the status of the Jaeger deployment with the following command, where
istio-systemis the namespace where you deployed the SMCP.$ oc get jaeger -n istio-systemExample output
NAME STATUS VERSION STRATEGY STORAGE AGE jaeger Running 1.30.0 allinone memory 15mCheck the status of the Kiali deployment with the following command, where
istio-systemis the namespace where you deployed the SMCP.$ oc get kiali -n istio-systemExample output
NAME AGE kiali 15m
2.25.3.1.1. Accessing the Kiali console 링크 복사링크가 클립보드에 복사되었습니다!
You can view your application’s topology, health, and metrics in the Kiali console. If your service is experiencing problems, the Kiali console lets you view the data flow through your service. You can view insights about the mesh components at different levels, including abstract applications, services, and workloads. Kiali also provides an interactive graph view of your namespace in real time.
To access the Kiali console you must have Red Hat OpenShift Service Mesh installed, Kiali installed and configured.
The installation process creates a route to access the Kiali console.
If you know the URL for the Kiali console, you can access it directly. If you do not know the URL, use the following directions.
Procedure for administrators
- Log in to the OpenShift Container Platform web console with an administrator role.
-
Click Home
Projects. - On the Projects page, if necessary, use the filter to find the name of your project.
-
Click the name of your project, for example,
bookinfo. - On the Project details page, in the Launcher section, click the Kiali link.
Log in to the Kiali console with the same user name and password that you use to access the OpenShift Container Platform console.
When you first log in to the Kiali Console, you see the Overview page which displays all the namespaces in your service mesh that you have permission to view.
If you are validating the console installation and namespaces have not yet been added to the mesh, there might not be any data to display other than
istio-system.
Procedure for developers
- Log in to the OpenShift Container Platform web console with a developer role.
- Click Project.
- On the Project Details page, if necessary, use the filter to find the name of your project.
-
Click the name of your project, for example,
bookinfo. - On the Project page, in the Launcher section, click the Kiali link.
- Click Log In With OpenShift.
2.25.3.1.2. Accessing the Jaeger console 링크 복사링크가 클립보드에 복사되었습니다!
To access the Jaeger console you must have Red Hat OpenShift Service Mesh installed, Red Hat OpenShift Distributed Tracing Platform (Jaeger) installed and configured.
The installation process creates a route to access the Jaeger console.
If you know the URL for the Jaeger console, you can access it directly. If you do not know the URL, use the following directions.
Starting with Red Hat OpenShift Service Mesh 2.5, Red Hat OpenShift Distributed Tracing Platform (Jaeger) and OpenShift Elasticsearch Operator have been deprecated and will be removed in a future release. Red Hat will provide bug fixes and support for this feature during the current release lifecycle, but this feature will no longer receive enhancements and will be removed. As an alternative to Red Hat OpenShift Distributed Tracing Platform (Jaeger), you can use Red Hat OpenShift Distributed Tracing Platform instead.
Procedure from OpenShift console
-
Log in to the OpenShift Container Platform web console as a user with cluster-admin rights. If you use Red Hat OpenShift Dedicated, you must have an account with the
dedicated-adminrole. -
Navigate to Networking
Routes. On the Routes page, select the Service Mesh control plane project, for example
istio-system, from the Namespace menu.The Location column displays the linked address for each route.
-
If necessary, use the filter to find the
jaegerroute. Click the route Location to launch the console. - Click Log In With OpenShift.
Procedure from Kiali console
- Launch the Kiali console.
- Click Distributed Tracing in the left navigation pane.
- Click Log In With OpenShift.
Procedure from the CLI
Log in to the OpenShift Container Platform CLI as a user with the
cluster-adminrole. If you use Red Hat OpenShift Dedicated, you must have an account with thededicated-adminrole.$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443To query for details of the route using the command line, enter the following command. In this example,
istio-systemis the Service Mesh control plane namespace.$ oc get route -n istio-system jaeger -o jsonpath='{.spec.host}'-
Launch a browser and navigate to
https://<JAEGER_URL>, where<JAEGER_URL>is the route that you discovered in the previous step. - Log in using the same user name and password that you use to access the OpenShift Container Platform console.
If you have added services to the service mesh and have generated traces, you can use the filters and Find Traces button to search your trace data.
If you are validating the console installation, there is no trace data to display.