Chapter 7. Manually injecting sidecars
For controller types other than Deployments
(for example, StatefulSets
, DaemonSets
, etc.), you can manually define the Jaeger Agent sidecar in your specification.
The following snippet shows the manual definition you can include in your containers section for a Jaeger Agent sidecar:
example sidecar definition for a StatefulSet
apiVersion: apps/v1 kind: StatefulSet metadata: name: example-statefulset namespace: example-ns labels: app: example-app spec: spec: containers: - name: example-app image: acme/myapp:myversion ports: - containerPort: 8080 protocol: TCP - name: jaeger-agent image: registry.redhat.io/distributed-tracing/jaeger-agent-rhel7:<version> # The agent version must match the operator version imagePullPolicy: IfNotPresent ports: - containerPort: 5775 name: zk-compact-trft protocol: UDP - containerPort: 5778 name: config-rest protocol: TCP - containerPort: 6831 name: jg-compact-trft protocol: UDP - containerPort: 6832 name: jg-binary-trft protocol: UDP - containerPort: 14271 name: admin-http protocol: TCP args: - --reporter.grpc.host-port=dns:///jaeger-collector-headless.example-ns:14250 - --reporter.type=grpc
The Jaeger Agent can then be accessed at its default location on localhost.
7.1. Upgrading Jaeger
The Operator Lifecycle Manager (OLM) controls the installation, upgrade, and role-based access control (RBAC) of Operators in a cluster. The OLM runs by default in OpenShift Container Platform. The OLM queries for available Operators as well as upgrades for installed Operators. For more information about how OpenShift Container Platform handled upgrades, refer to the Operator Lifecycle Manager documentation.
The update approach used by the Jaeger Operator upgrades the managed Jaeger instances to the version associated with the Operator. Whenever a new version of the Jaeger Operator is installed, all the Jaeger application instances managed by the Operator will be upgraded to the Operator’s version. For example, if version 1.10 is installed (both Operator and backend components) and the Operator is upgraded to version 1.11, then as soon as the Operator upgrade has completed, the Operator will scan for running Jaeger instances and upgrade them to 1.11 as well.
7.2. Removing Jaeger
The steps for removing Jaeger from an OpenShift Container Platform cluster are as follows:
- Shut down any Jaeger pods.
- Remove any Jaeger instances.
- Remove the Jaeger Operator.
7.2.1. Removing a Jaeger instance using the web console
When deleting an instance that uses the in-memory storage, all data will be permanently lost. Data stored in a persistent storage (such as Elasticsearch) will not be deleted when a Jaeger instance is removed.
Procedure
- Log in to the OpenShift Container Platform web console.
-
Navigate to Operators
Installed Operators. -
Select the name of the project where the Operators are installed from the Project menu, for example,
jaeger-system
. - Click the Jaeger Operator.
- Click the Jaeger tab.
- Click the Options menu next to the instance you want to delete and select Delete Jaeger.
- In the confirmation message, click Delete.
7.2.2. Removing a Jaeger instance from the CLI
Log in to the OpenShift Container Platform CLI.
$ oc login
To display the Jaeger instances run the command:
$ oc get deployments -n <jaeger-project>
The names of operators have the suffix
-operator
. The following example shows two Jaeger Operators and four Jaeger instances:$ oc get deployments -n jaeger-system
You should see output similar to the following:
NAME READY UP-TO-DATE AVAILABLE AGE elasticsearch-operator 1/1 1 1 93m jaeger-operator 1/1 1 1 49m jaeger-test 1/1 1 1 7m23s jaeger-test2 1/1 1 1 6m48s tracing1 1/1 1 1 7m8s tracing2 1/1 1 1 35m
To remove an instance of Jaeger, run the command:
$ oc delete jaeger <deployment-name> -n <jaeger-project>
For example,
$ oc delete jaeger tracing2 -n jaeger-system
To verify the deletion, run
oc get deployment
again:$ oc get deployments -n <jaeger-project>
For example,
$ oc get deployments -n jaeger-system
Should generate output similar to the following:
NAME READY UP-TO-DATE AVAILABLE AGE elasticsearch-operator 1/1 1 1 94m jaeger-operator 1/1 1 1 50m jaeger-test 1/1 1 1 8m14s jaeger-test2 1/1 1 1 7m39s tracing1 1/1 1 1 7m59s
7.2.3. Removing the Jaeger Operator
Procedure
Follow the instructions for Deleting Operators from a cluster.
- Remove the Jaeger Operator.
- After the Jaeger Operator has been removed, if appropriate, remove the Elasticsearch Operator.