Skip to content

Commit 76229d3

Browse files
committed
Add tracing resources and component
1 parent 3476ee5 commit 76229d3

File tree

13 files changed

+199
-4
lines changed

13 files changed

+199
-4
lines changed

base/monitoring/jaeger/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Jaeger
2+
3+
A Jaeger backend, consisting of its [Collector](https://www.jaegertracing.io/docs/1.37/architecture/#collector) and [Query](https://www.jaegertracing.io/docs/1.37/architecture/#query) components.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: jaeger-collector
5+
labels:
6+
deploy: sourcegraph
7+
sourcegraph-resource-requires: no-cluster-admin
8+
app.kubernetes.io/component: jaeger
9+
app: jaeger
10+
app.kubernetes.io/name: jaeger
11+
spec:
12+
ports:
13+
- name: jaeger-collector-tchannel
14+
port: 14267
15+
protocol: TCP
16+
targetPort: 14267
17+
- name: jaeger-collector-http
18+
port: 14268
19+
protocol: TCP
20+
targetPort: 14268
21+
- name: jaeger-collector-grpc
22+
port: 14250
23+
protocol: TCP
24+
targetPort: 14250
25+
selector:
26+
app.kubernetes.io/name: jaeger
27+
app.kubernetes.io/component: all-in-one
28+
type: ClusterIP
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: jaeger-query
5+
labels:
6+
deploy: sourcegraph
7+
sourcegraph-resource-requires: no-cluster-admin
8+
app.kubernetes.io/component: jaeger
9+
app: jaeger
10+
app.kubernetes.io/name: jaeger
11+
spec:
12+
ports:
13+
- name: query-http
14+
port: 16686
15+
protocol: TCP
16+
targetPort: 16686
17+
selector:
18+
app.kubernetes.io/name: jaeger
19+
app.kubernetes.io/component: all-in-one
20+
type: ClusterIP
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: jaeger
5+
labels:
6+
deploy: sourcegraph
7+
sourcegraph-resource-requires: no-cluster-admin
8+
app.kubernetes.io/component: jaeger
9+
app: jaeger
10+
app.kubernetes.io/name: jaeger
11+
spec:
12+
replicas: 1
13+
selector:
14+
matchLabels:
15+
app: jaeger
16+
app.kubernetes.io/name: jaeger
17+
app.kubernetes.io/component: all-in-one
18+
strategy:
19+
type: Recreate
20+
template:
21+
metadata:
22+
labels:
23+
app: jaeger
24+
deploy: sourcegraph
25+
app.kubernetes.io/name: jaeger
26+
app.kubernetes.io/component: all-in-one
27+
annotations:
28+
prometheus.io/scrape: "true"
29+
prometheus.io/port: "16686"
30+
spec:
31+
containers:
32+
- name: jaeger
33+
image: index.docker.io/sourcegraph/jaeger-all-in-one:insiders@sha256:462ef3b4a5fa9227f04c2f4bc2968970fad0fcc9efbaf89adaad0ef98a24b53f
34+
args: ["--memory.max-traces=20000"]
35+
ports:
36+
- containerPort: 5775
37+
protocol: UDP
38+
- containerPort: 6831
39+
protocol: UDP
40+
- containerPort: 6832
41+
protocol: UDP
42+
- containerPort: 5778
43+
protocol: TCP
44+
- containerPort: 16686
45+
protocol: TCP
46+
- containerPort: 14250
47+
protocol: TCP
48+
readinessProbe:
49+
httpGet:
50+
path: "/"
51+
port: 14269
52+
initialDelaySeconds: 5
53+
resources:
54+
limits:
55+
cpu: "1"
56+
memory: 1G
57+
requests:
58+
cpu: 500m
59+
memory: 500M
60+
securityContext:
61+
# Required to prevent escalations to root.
62+
allowPrivilegeEscalation: false
63+
runAsUser: 100
64+
runAsGroup: 101
65+
securityContext:
66+
runAsUser: 100
67+
fsGroup: 101
68+
fsGroupChangePolicy: "OnRootMismatch"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
resources:
4+
- jaeger-collector.Service.yaml
5+
- jaeger-query.Service.yaml
6+
- jaeger.Deployment.yaml

base/monitoring/kustomization.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33
resources:
4-
# cAdvisor should be deployed seperated
4+
# cAdvisor, otel-collector, jaeger should be deployed seperated
55
# - cadvisor
6+
# - otel-collector
7+
# - jaeger
68
- grafana
79
- node-exporter
8-
- otel-collector
910
- prometheus
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Tracing
2+
3+
Add otel with a Jaeger backend, consisting of its [Collector](https://www.jaegertracing.io/docs/1.37/architecture/#collector) and [Query](https://www.jaegertracing.io/docs/1.37/architecture/#query) components. It also [configures](https://github.com/sourcegraph/sourcegraph/blob/main/docker-images/opentelemetry-collector/configs/jaeger.yaml) the `otel-collector` to export to this Jaeger instance.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: kustomize.config.k8s.io/v1alpha1
2+
kind: Component
3+
resources:
4+
- ../../../base/monitoring/otel-collector
5+
- ../../../base/monitoring/jaeger
6+
patchesStrategicMerge:
7+
- patches/otel-collector.Deployment.yaml
8+
- patches/grafana.ConfigMap.yaml
9+
patches:
10+
- patch: |-
11+
- op: add
12+
path: /spec/template/spec/containers/0/env/-
13+
value:
14+
name: JAEGER_SERVER_URL
15+
value: http://jaeger-query:16686
16+
target:
17+
kind: Deployment
18+
name: sourcegraph-frontend
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: grafana
5+
data:
6+
datasources.yml: |
7+
apiVersion: 1
8+
9+
datasources:
10+
- name: Prometheus
11+
type: prometheus
12+
access: proxy
13+
url: http://prometheus:30090
14+
isDefault: true
15+
editable: false
16+
- name: Jaeger
17+
type: Jaeger
18+
access: proxy
19+
url: http://jaeger-query:16686/-/debug/jaeger
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: otel-collector
5+
spec:
6+
template:
7+
spec:
8+
containers:
9+
- name: otel-collector
10+
command:
11+
- "/bin/otelcol-sourcegraph"
12+
- "--config=/etc/otel-collector/configs/jaeger.yaml"
13+
env:
14+
- name: JAEGER_HOST
15+
value: jaeger-collector

0 commit comments

Comments
 (0)