Skip to content

Commit 5df14b3

Browse files
committed
Add opentelemetry-kube-stack
1 parent ddd663b commit 5df14b3

File tree

5 files changed

+181
-0
lines changed

5 files changed

+181
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: ApplicationSet
3+
metadata:
4+
name: opentelemetry-kube-stack
5+
namespace: argocd
6+
spec:
7+
goTemplate: true
8+
generators:
9+
- clusters:
10+
selector:
11+
matchLabels:
12+
monitoring: "true"
13+
values:
14+
clusterName: "{{.name}}"
15+
- list:
16+
elements:
17+
- name: in-cluster
18+
values:
19+
clusterName: k3d-control
20+
template:
21+
metadata:
22+
name: "opentelemetry-kube-stack-{{.values.clusterName}}"
23+
spec:
24+
project: monitoring
25+
sources:
26+
- repoURL: https://github.com/Utwo/k8s-playground
27+
path: monitoring/opentelemetry-kube-stack
28+
targetRevision: HEAD
29+
ref: myRepo # repo is available via symlink "myRepo"
30+
- repoURL: https://open-telemetry.github.io/opentelemetry-helm-charts
31+
targetRevision: 0.4.1
32+
chart: opentelemetry-kube-stack
33+
helm:
34+
ignoreMissingValueFiles: true
35+
valueFiles:
36+
- $myRepo/monitoring/opentelemetry-kube-stack/helm-chart-values/clusters/all/values.yaml
37+
- $myRepo/monitoring/opentelemetry-kube-stack/helm-chart-values/clusters/{{.values.clusterName}}/values.yaml
38+
parameters:
39+
- name: "clusterName"
40+
value: "{{.values.clusterName}}"
41+
destination:
42+
name: "{{.name}}"
43+
namespace: opentelemetry-kube-stack
44+
syncPolicy:
45+
syncOptions:
46+
- CreateNamespace=true
47+
- ServerSideApply=true
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
fullnameOverride: otel-kube-stack
2+
collectors:
3+
daemon:
4+
ports:
5+
- appProtocol: grpc
6+
name: otlp-grpc
7+
port: 4317
8+
protocol: TCP
9+
hostPort: 4317 # Force the hostPort
10+
env:
11+
- name: PROMETHEUS_AUTH_TOKEN
12+
valueFrom:
13+
secretKeyRef:
14+
key: PROMETHEUS_AUTH_TOKEN
15+
name: otel-collector-secret
16+
- name: LOKI_USERNAME
17+
valueFrom:
18+
secretKeyRef:
19+
key: LOKI_USERNAME
20+
name: otel-collector-secret
21+
- name: LOKI_PASSWORD
22+
valueFrom:
23+
secretKeyRef:
24+
key: LOKI_PASSWORD
25+
name: otel-collector-secret
26+
config:
27+
exporters:
28+
otlp/tempo:
29+
endpoint: tempo.tempo.svc.cluster.local:4317
30+
headers:
31+
"Authorization": "Bearer ${PROMETHEUS_AUTH_TOKEN}"
32+
tls:
33+
insecure: true
34+
otlphttp/logs:
35+
endpoint: "http://loki-gateway.loki.svc.cluster.local/otlp"
36+
auth:
37+
authenticator: basicauth/loki
38+
headers:
39+
"X-Scope-OrgID": "my_org"
40+
tls:
41+
insecure: true
42+
otlphttp/victoriametrics:
43+
compression: gzip
44+
encoding: proto
45+
metrics_endpoint: http://vmsingle-server.victoria-metrics.svc.cluster.local:8429/opentelemetry/v1/metrics
46+
headers:
47+
"Authorization": "Bearer ${PROMETHEUS_AUTH_TOKEN}"
48+
tls:
49+
insecure: true
50+
extensions:
51+
basicauth/loki:
52+
client_auth:
53+
username: ${LOKI_USERNAME}
54+
password: ${LOKI_PASSWORD}
55+
service:
56+
extensions: [basicauth/loki]
57+
pipelines:
58+
metrics:
59+
exporters: [otlphttp/victoriametrics]
60+
traces:
61+
exporters: [otlp/tempo]
62+
logs:
63+
exporters: [otlphttp/logs]
64+
cluster:
65+
env:
66+
- name: PROMETHEUS_AUTH_TOKEN
67+
valueFrom:
68+
secretKeyRef:
69+
key: PROMETHEUS_AUTH_TOKEN
70+
name: otel-collector-secret
71+
config:
72+
exporters:
73+
otlphttp/victoriametrics:
74+
compression: gzip
75+
encoding: proto
76+
metrics_endpoint: http://vmsingle-server.victoria-metrics.svc.cluster.local:8429/opentelemetry/v1/metrics
77+
headers:
78+
"Authorization": "Bearer ${PROMETHEUS_AUTH_TOKEN}"
79+
tls:
80+
insecure: true
81+
service:
82+
pipelines:
83+
metrics:
84+
exporters: [otlphttp/victoriametrics]
85+
instrumentation:
86+
enabled: true
87+
env:
88+
- name: OTEL_K8S_NODE_NAME
89+
valueFrom:
90+
fieldRef:
91+
fieldPath: spec.nodeName
92+
exporter:
93+
endpoint: http://${OTEL_K8S_NODE_NAME}:4317
94+
python:
95+
env:
96+
- name: OTEL_EXPORTER_OTLP_ENDPOINT
97+
value: http://${OTEL_K8S_NODE_NAME}:4318
98+
opAMPBridge:
99+
enabled: true
100+
addReportingLabel: true

monitoring/opentelemetry-kube-stack/helm-chart-values/clusters/k3d-control/values.yaml

Whitespace-only changes.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
apiVersion: isindir.github.com/v1alpha3
2+
kind: SopsSecret
3+
metadata:
4+
name: otel-collector-secret
5+
spec:
6+
secretTemplates:
7+
- name: otel-collector-secret
8+
stringData:
9+
PROMETHEUS_AUTH_TOKEN: ENC[AES256_GCM,data:eif9u0ppMXHKsBp9,iv:SIOkp6mL2dltqYWHgd7RqZmfgNo1FkSFWV2z8WEAZHk=,tag:rlKWcpyIgAceTFwurX7v8A==,type:str]
10+
LOKI_USERNAME: ENC[AES256_GCM,data:htjFMxc=,iv:Yk3HV1qNO/z5aCpnzge3Jub35GZnADaVck2BvNJUb1k=,tag:J1Vnh/fFUBfcZSLJRwUopw==,type:str]
11+
LOKI_PASSWORD: ENC[AES256_GCM,data:sIMAHHs=,iv:AQwTMe2eeC5w53O7DQQ84KYbr6Yl24i7YajG+8VlIyk=,tag:c8hXdUPrqi8vgmjN9my1Mg==,type:str]
12+
TEMPO_USERNAME: ENC[AES256_GCM,data:I4g3pGw=,iv:IBYnnHnlpdwiyQEQZZlSN6mjO6ZimGzIpCMvtuRAeUE=,tag:TgltWlWL3wEUEB735OMfQA==,type:str]
13+
TEMPO_PASSWORD: ENC[AES256_GCM,data:5jXqGy8=,iv:9wOvJL9nrjQmdJRJIr5RXgVA09pb0ckvZuz243WOJBU=,tag:DCgFAsAWGLXh3erLTeDmWw==,type:str]
14+
sops:
15+
kms: []
16+
gcp_kms: []
17+
azure_kv: []
18+
hc_vault: []
19+
age:
20+
- recipient: age1g7mudl58ufepz8nf5hyksnnhzkursvwumlvm5xc9td0uqlq2j4ys6y9rpm
21+
enc: |
22+
-----BEGIN AGE ENCRYPTED FILE-----
23+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKZzFJMVFFa3RSVFk3dmZx
24+
b3RIK1dKV0VLcFlMY2M3WnZTYTg0R25RUDFrCnZqZmVZLzdkZDBWc0NmclpuU1ho
25+
NU5aRVI5eFdhYVp0QWZPTzhhSm9WQmcKLS0tIFh0eVJXdjJGUlM0K1prdit6SlFE
26+
RkNjR1NVRkRreGNjTkYxZDV2RGQ0akEKt+Qcq+myewC2XZyd4R+HBV0r/624wyfw
27+
LT5y0baMXjdoNKLxJBIoC4KKOzeLWFOpjuMdCwejYmr1175/mqj/5Q==
28+
-----END AGE ENCRYPTED FILE-----
29+
lastmodified: "2025-02-25T15:50:34Z"
30+
mac: ENC[AES256_GCM,data:toW3GMbJqf7H5l3GbaWZzpvts4rvs6/p027Y9LrX4TtPSOXYbZ8WLPGg9tckJhe+oVObdAOQKhdAzmGO1NoobBrhKahqs9u1UMfyJDKuXSi0oGhBF549+kJKkCuY1BoHqbYK3YHd7Dbrj/Q6vVZD2LjP3s1kT5yTscqs2QP5C8M=,iv:1VgkoqdxUbpU3UeMIVhMBq+vZay2L9zCxd2i5rkaPAA=,tag:U/zwToAVHlTYIYYWI6jeJg==,type:str]
31+
pgp: []
32+
encrypted_regex: ^(data|stringData)$
33+
version: 3.9.4

monitoring/victoria-metrics/vm-single.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ spec:
77
extraArgs:
88
opentsdbHTTPListenAddr: ":4242"
99
loggerLevel: WARN
10+
opentelemetry.usePrometheusNaming: "true"
1011
vmalert.proxyURL: "http://vmalert-alert-server:8080"
1112
resources: {}

0 commit comments

Comments
 (0)