summaryrefslogtreecommitdiffstats
path: root/docs/tracing.rst
blob: 79d686c7472619c20a798e4fa285bf998111313d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#######
Tracing
#######

************
Installation
************

Currently, we use the Jaeger tracing all-in-one Kubernetes template for development and testing,
which uses in-memory storage. It can be deployed to the istio-system namespace with the
following command::

    kubectl apply -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml

The standard Jaeger REST port is at 16686. To make this service available outside of the
Kubernetes cluster, use the following command::

    kubectl expose -n istio-system deployment jaeger-deployment --port=16686 --type=NodePort

Kubernetes will expose the Jaeger service on another port, which can be found with::

    kubectl get svc -n istio-system

An example listing from the command above is shown below where the Jaeger service is exposed
externally on port 30888::

    istio-system   jaeger-deployment   NodePort  10.104.113.94  <none> 16686:30888/TCP

Jaeger will be accessible using the host IP of the Kubernetes cluster and port provided.

********
Validate
********

The script in ``clover/tracing`` validates Jaeger installation::

    python clover/tracing/validate.py

It validates the installation with the following criteria:

#. Existence of Jaeger all-in-one deployment using Kubernetes
#. Jaeger service is accessible using IP address and port configured in installation steps
#. Jaeger can retrieve default service listing for default Istio components
#. TBD - consider installation of production setup with cassandra or elastic search