Skip to content

Commit 36a1f5e

Browse files
author
Naseem
authored
Merge pull request #42 from arpitjindal97/master
Updated README.md
2 parents b836ad8 + 03edd65 commit 36a1f5e

5 files changed

Lines changed: 59 additions & 32 deletions

File tree

charts/jaeger/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v1
22
appVersion: 1.16.0
33
description: A Jaeger Helm chart for Kubernetes
44
name: jaeger
5-
version: 0.19.1
5+
version: 0.19.2
66
keywords:
77
- jaeger
88
- opentracing

charts/jaeger/README.md

Lines changed: 57 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,54 @@
44

55
## Introduction
66

7-
This chart adds all components required to run Jaeger as described in the [jaeger-kubernetes](https://github.com/jaegertracing/jaeger-kubernetes) GitHub page for a production-like deployment. The chart default will deploy a new Cassandra cluster (using the [cassandra chart](https://github.com/kubernetes/charts/tree/master/incubator/cassandra)), but also supports using an existing Cassandra cluster, deploying a new ElasticSearch cluster (using the [elasticsearch chart](https://github.com/kubernetes/charts/tree/master/incubator/elasticsearch)), or connecting to an existing ElasticSearch cluster. Once the back storage available, the chart will deploy jaeger-agent as a DaemonSet and deploy the jaeger-collector and jaeger-query components as standard individual deployments.
7+
This chart adds all components required to run Jaeger as described in the [jaeger-kubernetes](https://github.com/jaegertracing/jaeger-kubernetes) GitHub page for a production-like deployment. The chart default will deploy a new Cassandra cluster (using the [cassandra chart](https://github.com/kubernetes/charts/tree/master/incubator/cassandra)), but also supports using an existing Cassandra cluster, deploying a new ElasticSearch cluster (using the [elasticsearch chart](https://github.com/elastic/helm-charts/tree/master/elasticsearch)), or connecting to an existing ElasticSearch cluster. Once the storage backend is available, the chart will deploy jaeger-agent as a DaemonSet and deploy the jaeger-collector and jaeger-query components as Deployments.
88

99
## Installing the Chart
1010

1111
Add the Jaeger Tracing Helm repository:
1212

1313
```bash
14-
$ helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
14+
helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
1515
```
1616

1717
To install the chart with the release name `jaeger`, run the following command:
1818

1919
```bash
20-
$ helm install jaeger jaegertracing/jaeger
20+
helm install jaeger jaegertracing/jaeger
2121
```
2222

23-
After a few minutes, you should see a 3 node Cassandra instance, a Jaeger DaemonSet, a Jaeger Collector, and a Jaeger Query (UI) pod deployed into your Kubernetes cluster.
23+
By default, the chart deploys the following:
24+
25+
- Jaeger Agent DaemonSet
26+
- Jaeger Collector Deployment
27+
- Jaeger Query (UI) Deployment
28+
- Cassandra StatefulSet
29+
30+
![Jaeger with Default components](images/jaeger-default.png)
2431

2532
IMPORTANT NOTE: For testing purposes, the footprint for Cassandra can be reduced significantly in the event resources become constrained (such as running on your local laptop or in a Vagrant environment). You can override the resources required run running this command:
2633

2734
```bash
28-
helm install jaeger jaegertracing/jaeger --set cassandra.config.max_heap_size=1024M --set cassandra.config.heap_new_size=256M --set cassandra.resources.requests.memory=2048Mi --set cassandra.resources.requests.cpu=0.4 --set cassandra.resources.limits.memory=2048Mi --set cassandra.resources.limits.cpu=0.4
35+
helm install jaeger jaegertracing/jaeger \
36+
--set cassandra.config.max_heap_size=1024M \
37+
--set cassandra.config.heap_new_size=256M \
38+
--set cassandra.resources.requests.memory=2048Mi \
39+
--set cassandra.resources.requests.cpu=0.4 \
40+
--set cassandra.resources.limits.memory=2048Mi \
41+
--set cassandra.resources.limits.cpu=0.4
2942
```
3043

3144
## Installing the Chart using an Existing Cassandra Cluster
3245

3346
If you already have an existing running Cassandra cluster, you can configure the chart as follows to use it as your backing store (make sure you replace `<HOST>`, `<PORT>`, etc with your values):
3447

3548
```bash
36-
helm install jaeger jaegertracing/jaeger --set provisionDataStore.cassandra=false --set storage.cassandra.host=<HOST> --set storage.cassandra.port=<PORT> --set storage.cassandra.user=<USER> --set storage.cassandra.password=<PASSWORD>
49+
helm install jaeger jaegertracing/jaeger \
50+
--set provisionDataStore.cassandra=false \
51+
--set storage.cassandra.host=<HOST> \
52+
--set storage.cassandra.port=<PORT> \
53+
--set storage.cassandra.user=<USER> \
54+
--set storage.cassandra.password=<PASSWORD>
3755
```
3856

3957
## Installing the Chart using an Existing Cassandra Cluster with TLS
@@ -96,15 +114,24 @@ helm install jaeger jaegertracing/jaeger --values values.yaml
96114
To install the chart with the release name `jaeger` using a new ElasticSearch cluster instead of Cassandra (default), run the following command:
97115

98116
```bash
99-
$ helm install jaeger jaegertracing/jaeger --set provisionDataStore.cassandra=false --set provisionDataStore.elasticsearch=true --set storage.type=elasticsearch
117+
helm install jaeger jaegertracing/jaeger \
118+
--set provisionDataStore.cassandra=false \
119+
--set provisionDataStore.elasticsearch=true \
120+
--set storage.type=elasticsearch
100121
```
101122

102123
## Installing the Chart using an Existing Elasticsearch Cluster
103124

104-
A release can be configured as follows to use an existing Elasticsearch cluster as it as the storage backend:
125+
A release can be configured as follows to use an existing ElasticSearch cluster as it as the storage backend:
105126

106127
```bash
107-
helm install jaeger jaegertracing/jaeger --set provisionDataStore.cassandra=false --set storage.type=elasticsearch --set storage.elasticsearch.host=<HOST> --set storage.elasticsearch.port=<PORT> --set storage.elasticsearch.user=<USER> --set storage.elasticsearch.password=<password>
128+
helm install jaeger jaegertracing/jaeger \
129+
--set provisionDataStore.cassandra=false \
130+
--set storage.type=elasticsearch \
131+
--set storage.elasticsearch.host=<HOST> \
132+
--set storage.elasticsearch.port=<PORT> \
133+
--set storage.elasticsearch.user=<USER> \
134+
--set storage.elasticsearch.password=<password>
108135
```
109136

110137
## Installing the Chart using an Existing ElasticSearch Cluster with TLS
@@ -164,17 +191,33 @@ kubectl apply -f jaeger-tls-cfgmap.yaml
164191
helm install jaeger jaegertracing/jaeger --values jaeger-values.yaml
165192
```
166193

167-
## Uninstalling the Chart
194+
## Installing the Chart with Ingester enabled
195+
196+
The architecture illustrated below can be achieved by enabling the ingester component. When enabled, Cassandra or Elasticsearch (depending on the configured values) now becomes the ingester's storage backend, whereas Kafka becomes the storage backend of the collector service.
197+
198+
![Jaeger with Ingester](images/jaeger-with-ingester.png)
199+
168200

169-
To uninstall/delete the `myrel` deployment:
201+
## Installing the Chart with Ingester enabled using a New Kafka Cluster
202+
203+
To provision a new Kafka cluster along with jaeger-ingester:
170204

171205
```bash
172-
$ helm delete myrel
206+
helm install jaeger jaegertracing/jaeger \
207+
--set provisionDataStore.kafka=true \
208+
--set ingester.enabled=true
173209
```
174210

175-
The command removes all the Kubernetes components associated with the chart and deletes the release.
211+
## Installing the Chart with Ingester using an existing Kafka Cluster
212+
213+
You can use an exisiting Kafka cluster with jaeger too
176214

177-
> **Tip**: To completely remove the release, run `helm delete --purge myrel`
215+
```bash
216+
helm install jaeger jaegertracing/jaeger \
217+
--set ingester.enabled=true \
218+
--set storage.kafka.brokers={<BROKER1:PORT>,<BROKER2:PORT>} \
219+
--set storage.kafka.topic=<TOPIC>
220+
```
178221

179222
## Configuration
180223

@@ -316,21 +359,5 @@ For more information about some of the tunable parameters that Cassandra provide
316359

317360
For more information about some of the tunable parameters that Jaeger provides, please visit the official [Jaeger repo](https://github.com/uber/jaeger) at GitHub.com.
318361

319-
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
320-
321-
```bash
322-
$ helm install --name myrel \
323-
--set cassandra.config.rack_name=rack2 \
324-
jaegertracing/jaeger
325-
```
326-
327-
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart.
328-
329-
### Storage persistence
330-
331-
Jaeger itself is a stateful application that by default uses Cassandra to store all related data. That means this helm chart has a dependency on the Cassandra helm chart for its data persistence. To deploy Jaeger with storage persistence, please take a look at the [README.md](https://github.com/kubernetes/charts/tree/master/incubator/cassandra) for configuration details.
332-
333-
Override any required configuration options in the Cassandra chart that is required and then enable persistence by setting the following option: `--set cassandra.persistence.enabled=true`
334-
335362
### Pending enhancements
336363
- [ ] Sidecar deployment support
144 KB
Loading
203 KB
Loading

charts/jaeger/templates/ingester-deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ spec:
1616
{{- end }}
1717
selector:
1818
matchLabels:
19-
{- include "jaeger.selectorLabels" . | nindent 6 }}
19+
{{- include "jaeger.selectorLabels" . | nindent 6 }}
2020
app.kubernetes.io/component: ingester
2121
strategy:
2222
type: Recreate

0 commit comments

Comments
 (0)