forked from open-telemetry/opentelemetry-helm-charts
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathvalues.yaml
More file actions
336 lines (306 loc) · 12 KB
/
Copy pathvalues.yaml
File metadata and controls
336 lines (306 loc) · 12 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
## Global properties for image pulling override the values defined under `image.registry`.
## If you want to override only one image registry, use the specific fields but if you want to override them all, use `global.image.registry`
global:
image:
# -- Global image registry to use if it needs to be overridden for some specific use cases (e.g local registries, custom images, ...)
registry: ""
# -- Optional set of global image pull secrets.
pullSecrets: []
image:
# -- Opentelemetry eBPF Instrumentation image registry (defaults to docker.io)
registry: "docker.io"
# -- Opentelemetry eBPF Instrumentation image repository.
repository: otel/ebpf-instrument
# -- (string) Opentelemetry eBPF Instrumentation image tag. When empty, the Chart's appVersion is
# used.
tag: main
# -- Opentelemetry eBPF Instrumentation image's SHA256 digest (either in format "sha256:XYZ" or "XYZ"). When set, will override `image.tag`.
digest: null
# -- Opentelemetry eBPF Instrumentation image pull policy.
pullPolicy: IfNotPresent
# -- Optional set of image pull secrets.
pullSecrets: []
# -- Overrides the chart's name
nameOverride: ""
# -- Overrides the chart's computed fullname.
fullnameOverride: ""
# -- Override the deployment namespace
namespaceOverride: ""
## DaemonSet annotations
# annotations: {}
rbac:
# -- Whether to create RBAC resources for Opentelemetry eBPF Instrumentation
create: true
# -- Extra custer roles to be created for Opentelemetry eBPF Instrumentation
extraClusterRoleRules: []
# - apiGroups: []
# resources: []
serviceAccount:
# -- Specifies whether a service account should be created
create: true
# -- Automatically mount a ServiceAccount's API credentials?
automount: true
# -- ServiceAccount labels.
labels: {}
# -- Annotations to add to the service account
annotations: {}
# -- The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podSecurityContext: {}
# fsGroup: 2000
# -- If set to false, deploys an unprivileged / less privileged setup.
privileged: true
# -- Extra capabilities for unprivileged / less privileged setup.
extraCapabilities: []
# - SYS_RESOURCE # <-- pre 5.11 only. Allows Opentelemetry eBPF Instrumentation to increase the amount of locked memory.
# - SYS_ADMIN # <-- Required for Go application trace context propagation, or if kernel.perf_event_paranoid >= 3 on Debian distributions.
# -- Security context for privileged setup.
securityContext:
privileged: true
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
priorityClassName: ""
# system-node-critical
# system-cluster-critical
## -- Expose the Opentelemetry eBPF Instrumentation Prometheus and internal metrics service to be accessed from outside the cluster (LoadBalancer service).
## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
## ref: http://kubernetes.io/docs/user-guide/services/
##
service:
# -- whether to create a service for metrics
enabled: false
# -- type of the service
type: ClusterIP
# -- Service annotations.
annotations: {}
# -- Service labels.
labels: {}
# -- cluster IP
clusterIP: ""
# -- loadbalancer IP
loadBalancerIP: ""
# -- loadbalancer class name
loadBalancerClass: ""
# -- source ranges for loadbalancer
loadBalancerSourceRanges: []
# -- Prometheus metrics service port
port: 80
# -- targetPort overrides the Prometheus metrics port. It defaults to the value of `prometheus_export.port`
# from the Opentelemetry eBPF Instrumentation configuration file.
targetPort: null
# -- name of the port for Prometheus metrics.
portName: metrics
# -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
appProtocol: ""
internalMetrics:
# -- internal metrics service port
port: 8080
# -- targetPort overrides the internal metrics port. It defaults to the value of `internal_metrics.prometheus.port`
# from the Opentelemetry eBPF Instrumentation configuration file.
targetPort: null
# -- name of the port for internal metrics.
portName: int-metrics
# -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
appProtocol: ""
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
## -- See `kubectl explain daemonset.spec.updateStrategy` for more
## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy
updateStrategy:
# -- update strategy type
type: RollingUpdate
# -- Additional volumes on the output daemonset definition.
volumes: []
# - name: foo
# secret:
# secretName: mysecret
# optional: false
# -- Additional volumeMounts on the output daemonset definition.
volumeMounts: []
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# -- The nodeSelector field allows user to constrain which nodes your DaemonSet pods are scheduled to based on labels on the node
nodeSelector: {}
# -- Tolerations allow pods to be scheduled on nodes with specific taints
tolerations: []
# -- used for scheduling of pods based on affinity rules
affinity: {}
# -- Adds custom annotations to the Opentelemetry eBPF Instrumentation Pods.
podAnnotations: {}
# -- Adds custom labels to the Opentelemetry eBPF Instrumentation Pods.
podLabels: {}
## https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
# -- Determines how DNS resolution is handled for that pod.
# If `.Values.preset` is set to `network` or `.Values.config.data.network` is enabled, Opentelemetry eBPF Instrumentation requires `hostNetwork` access, causing cluster service DNS resolution to fail.
# It is recommended not to change this if Opentelemetry eBPF Instrumentation sends traces and metrics to Grafana components via k8s service.
dnsPolicy: ClusterFirstWithHostNet
## The below default configuration
## 1. looks for ALL the services in the host
## 2. export metrics as prometheus metrics by default at 9090 port
## 3. enables kubernetes attribute
## Note: The default configuration is used if config.create=true and config.name=""
config:
# -- set to true, to skip the check around the ConfigMap creation
skipConfigMapCheck: false
# -- set to true, to use the below default configurations
create: true
## -- Provide the name of the external configmap containing the Opentelemetry eBPF Instrumentation configuration.
## To create configmap from configuration file, user can use the below command. Note: The name 'ebpf-instrument-config.yaml' is important.
## `kubectl create cm --from-file=ebpf-instrument-config.yaml=<name-of-config-file> -n <namespace>`
## If empty, default configuration below is used.
name: ""
# -- default value of Opentelemetry eBPF Instrumentation configuration
data:
# profile_port: 6060
# open_port: 8443
# routes:
# unmatched: heuristic
# log_level: info
## or alternatively use
# grafana:
# otlp:
# cloud_zone: prod-eu-west-0
# cloud_instance_id: 123456
# cloud_api_key:
otel_traces_export:
endpoint: "http://${HOST_IP}:4317"
otel_metrics_export:
endpoint: "http://${HOST_IP}:4318"
attributes:
kubernetes:
enable: false
filter:
network:
k8s_dst_owner_name:
not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
k8s_src_owner_name:
not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
## to enable network metrics
# network:
# enable: true
prometheus_export:
port: 9090
path: /metrics
## to enable internal metrics
# internal_metrics:
# prometheus:
# port: 6060
# path: /metrics
## Env variables that will override configmap values
## For example:
## OTEL_EBPF_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
# -- extra environment variables
env: {}
# OTEL_EBPF_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
# OTEL_EBPF_TRACE_PRINTER: "text"
# -- extra environment variables to be set from resources such as k8s configMaps/secrets
envValueFrom: {}
# ENV_NAME:
# secretKeyRef:
# name: secret-name
# key: value_key
# -- Preconfigures some default properties for network or application observability.
# Accepted values are "network" or "application".
preset: application
# -- Enable creation of ServiceMonitor for scraping of prometheus HTTP endpoint
serviceMonitor:
enabled: false
# -- Add custom labels to the ServiceMonitor resource
additionalLabels: {}
# -- ServiceMonitor annotations
annotations: {}
metrics:
# -- ServiceMonitor Prometheus scraping endpoint.
# Target port and path is set based on service and `prometheus_export` values.
# For additional values, see the ServiceMonitor spec
endpoint:
interval: 15s
internalMetrics:
# -- ServiceMonitor internal metrics scraping endpoint.
# Target port and path is set based on service and `internal_metrics` values.
# For additional values, see the ServiceMonitor spec
endpoint:
interval: 15s
# -- Prometheus job label.
# If empty, chart release name is used
jobLabel: ""
# -- Options to deploy the Kubernetes metadata cache as a separate service
k8sCache:
# -- Number of replicas for the Kubernetes metadata cache service. 0 disables the service.
replicas: 0
# -- Enables the profile port for the Opentelemetry eBPF Instrumentation cache
profilePort: 0
## Env variables that will override configmap values
## For example:
## Opentelemetry eBPF Instrumentation_K8S_CACHE_LOG_LEVEL: "debug"
# -- extra environment variables
env: {}
# Opentelemetry eBPF Instrumentation_K8S_CACHE_LOG_LEVEL: "debug"
# -- extra environment variables to be set from resources such as k8s configMaps/secrets
envValueFrom: {}
# ENV_NAME:
# secretKeyRef:
# name: secret-name
# key: value_key
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
image:
# -- K8s Cache image registry (defaults to docker.io)
registry: "docker.io"
# -- K8s Cache image repository.
repository: otel/opentelemetry-ebpf-k8s-cache
# -- (string) K8s Cache image tag. When empty, the Chart's appVersion is used.
tag: main
# -- K8s Cache image's SHA256 digest (either in format "sha256:XYZ" or "XYZ"). When set, will override `image.tag`.
digest: null
# -- K8s Cache image pull policy.
pullPolicy: IfNotPresent
# -- Optional set of image pull secrets.
pullSecrets: []
service:
# -- Name of both the Service and Deployment
name: opentelemetry-ebpf-instrumentation-k8s-cache
# -- Port of the Kubernetes metadata cache service.
port: 50055
# -- Service annotations.
annotations: {}
# -- Service labels.
labels: {}
internalMetrics:
# 0: disabled by default
port: 0
path: /metrics
portName: metrics
# prometheus:
# port: 6060
# path: /metrics
# -- Deployment annotations.
annotations: {}
# -- Adds custom annotations to the Opentelemetry eBPF Instrumentation Kube Cache Pods.
podAnnotations: {}
# -- Adds custom labels to the Opentelemetry eBPF Instrumentation Kube Cache Pods.
podLabels: {}