816 lines
29 KiB
YAML
816 lines
29 KiB
YAML
# Default values for opentelemetry-collector.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
# Valid values are "daemonset", "deployment", and "statefulset".
|
|
mode: ""
|
|
|
|
# Override the default apiVersion for custom controllers or for testing new API versions.
|
|
apiVersion: "apps/v1"
|
|
|
|
# Specify which namespace should be used to deploy the resources into
|
|
namespaceOverride: ""
|
|
|
|
# Meesho customization: optionally provision an ExternalSecret (external-secrets.io)
|
|
# rendered by templates/external-secret.yaml. Disabled by default so consumers that
|
|
# do not need it (e.g. the daemonset) render without a nil-pointer error.
|
|
externalSecret:
|
|
enabled: false
|
|
key: ""
|
|
secretStoreRef:
|
|
name: ""
|
|
|
|
# Handles basic configuration of components that
|
|
# also require k8s modifications to work correctly.
|
|
# .Values.config can be used to modify/add to a preset
|
|
# component configuration, but CANNOT be used to remove
|
|
# preset configuration. If you require removal of any
|
|
# sections of a preset configuration, you cannot use
|
|
# the preset. Instead, configure the component manually in
|
|
# .Values.config and use the other fields supplied in the
|
|
# values.yaml to configure k8s as necessary.
|
|
presets:
|
|
# Configures the collector to collect logs.
|
|
# Adds the filelog receiver to the logs pipeline
|
|
# and adds the necessary volumes and volume mounts.
|
|
# Best used with mode = daemonset.
|
|
# See https://opentelemetry.io/docs/kubernetes/collector/components/#filelog-receiver for details on the receiver.
|
|
logsCollection:
|
|
enabled: false
|
|
includeCollectorLogs: false
|
|
# Enabling this writes checkpoints in /var/lib/otelcol/ host directory.
|
|
# Note this changes collector's user to root, so that it can write to host directory.
|
|
storeCheckpoints: false
|
|
# The maximum bytes size of the recombined field.
|
|
# Once the size exceeds the limit, all received entries of the source will be combined and flushed.
|
|
maxRecombineLogSize: 102400
|
|
# Configures the collector to collect host metrics.
|
|
# Adds the hostmetrics receiver to the metrics pipeline
|
|
# and adds the necessary volumes and volume mounts.
|
|
# Best used with mode = daemonset.
|
|
# See https://opentelemetry.io/docs/kubernetes/collector/components/#host-metrics-receiver for details on the receiver.
|
|
hostMetrics:
|
|
enabled: false
|
|
# Configures the Kubernetes Processor to add Kubernetes metadata.
|
|
# Adds the k8sattributes processor to all the pipelines
|
|
# and adds a preset of minimum required RBAC rules to ClusterRole.
|
|
# Best used with mode = daemonset.
|
|
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubernetes-attributes-processor for details on the receiver.
|
|
kubernetesAttributes:
|
|
enabled: false
|
|
# When enabled the processor will extract all labels for an associated pod and add them as resource attributes.
|
|
# The label's exact name will be the key.
|
|
extractAllPodLabels: false
|
|
# When enabled the processor will extract all annotations for an associated pod and add them as resource attributes.
|
|
# The annotation's exact name will be the key.
|
|
extractAllPodAnnotations: false
|
|
# Configures the collector to collect node, pod, and container metrics from the API server on a kubelet.
|
|
# Adds the kubeletstats receiver to the metrics pipeline
|
|
# and adds the necessary rules to ClusterRole.
|
|
# Best used with mode = daemonset.
|
|
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubeletstats-receiver for details on the receiver.
|
|
kubeletMetrics:
|
|
enabled: false
|
|
# Configures the collector to collect kubernetes events.
|
|
# Adds the k8sobjects receiver to the logs pipeline
|
|
# and collects kubernetes events by default.
|
|
# Best used with mode = deployment or statefulset.
|
|
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubernetes-objects-receiver for details on the receiver.
|
|
kubernetesEvents:
|
|
enabled: false
|
|
# Collects Kubernetes objects via the k8sobjects receiver in pull mode (default interval: 1h).
|
|
# Can be used with mode = deployment, statefulset, or daemonset.
|
|
# Compatible with kubernetesEvents preset. Extra resources can be added via
|
|
# config.receivers.k8sobjects.objects (ClusterRole rules must be added manually via clusterRole.rules).
|
|
kubernetesObjects:
|
|
enabled: false
|
|
# When enabled with mode = daemonset, leader election is setup to prevent telemetry duplication.
|
|
# disableLeaderElection: false
|
|
# When enabled, watch mode is added alongside pull to stream real-time changes.
|
|
watch: false
|
|
# Core Kubernetes workload resources: pods, nodes, namespaces, services, serviceaccounts, deployments, replicasets, daemonsets, statefulsets, jobs, cronjobs
|
|
core:
|
|
enabled: true
|
|
# RBAC resources: roles, rolebindings, clusterroles, clusterrolebindings
|
|
rbac:
|
|
enabled: true
|
|
# Storage resources: storageclasses, persistentvolumes, persistentvolumeclaims
|
|
storage:
|
|
enabled: true
|
|
# Networking resources: ingresses, networkpolicies
|
|
networking:
|
|
enabled: true
|
|
# Autoscaling resources: horizontalpodautoscalers
|
|
autoscaling:
|
|
enabled: true
|
|
# VPA resources: verticalpodautoscalers (requires VPA CRD to be installed)
|
|
vpa:
|
|
enabled: false
|
|
# Policy resources: poddisruptionbudgets
|
|
policy:
|
|
enabled: true
|
|
# API extensions resources: customresourcedefinitions
|
|
apiExtensions:
|
|
enabled: true
|
|
# Configures the Kubernetes Cluster Receiver to collect cluster-level metrics.
|
|
# Adds the k8s_cluster receiver to the metrics pipeline
|
|
# and adds the necessary rules to ClusterRole.
|
|
# Can be used with mode = deployment, statefulset, or daemonset.
|
|
# When used as a daemonset, a leader election is setup to prevent duplication
|
|
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubernetes-cluster-receiver for details on the receiver.
|
|
clusterMetrics:
|
|
enabled: false
|
|
# When enabled with mode = daemonset, leader election is setup to prevent telemetry duplication.
|
|
# disableLeaderElection: false
|
|
# Configures the collector to collect logs and metrics from pods with specific annotations.
|
|
# This preset can not be used together with the `logsCollection` preset.
|
|
# Adds the receiver_creator receiver to the logs and metrics pipelines
|
|
# and adds the necessary rules to ClusterRole.
|
|
# Best used with mode = daemonset.
|
|
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/receivercreator/README.md#generate-receiver-configurations-from-provided-hints for details on the receiver.
|
|
annotationDiscovery:
|
|
logs:
|
|
enabled: false
|
|
metrics:
|
|
enabled: false
|
|
# Configures the collector to collect profiling data.
|
|
# Adds profiles pipeline with the profiling receiver,
|
|
# and adds the necessary volumes, security context and host PID access.
|
|
#
|
|
# Warning: The profiling receiver requires privileged access and hostPID,
|
|
# so it should be used with a dedicated collector distribution (e.g. otelcol-ebpf-profiler)
|
|
# rather than the general-purpose k8s distribution. This avoids granting elevated privileges
|
|
# to the same collector that handles metrics, traces, and logs.
|
|
# See https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-ebpf-profiler for more details.
|
|
profiling:
|
|
enabled: false
|
|
|
|
# Configures the collector to detect resource attributes using the resourcedetection processor.
|
|
# Adds the resourcedetection/env processor to all pipelines.
|
|
# Each detector can be enabled individually. Base detectors 'env' and 'k8snode' are always included when any detector is enabled.
|
|
# Typically used to resolve the 'k8s.cluster.name' resource attribute.
|
|
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor for details.
|
|
resourceDetection:
|
|
enabled: false
|
|
env:
|
|
enabled: true
|
|
k8snode:
|
|
enabled: true
|
|
eks:
|
|
enabled: false
|
|
aks:
|
|
enabled: false
|
|
gcp:
|
|
enabled: false
|
|
|
|
configMap:
|
|
# Specifies whether a configMap should be created (true by default)
|
|
create: true
|
|
# Specifies an existing ConfigMap to be mounted to the pod
|
|
# The ConfigMap MUST include the collector configuration via a key named 'relay' or the collector will not start.
|
|
# This also supports template content, which will eventually be converted to yaml.
|
|
existingName: ""
|
|
# Specifies the relative path to custom ConfigMap template file. This option SHOULD be used when bundling a custom
|
|
# ConfigMap template, as it enables pod restart via a template checksum annotation.
|
|
# existingPath: ""
|
|
|
|
# When enabled, the chart will configure the collector to emit its traces, metrics, and logs over http via the OTLP using the Otel Go SDK.
|
|
# If internalTelemetryViaOTLP.metrics.enabled the chart will remove the default prometheus receiver (which was configured to scrape the Collector's metrics)
|
|
# and the service.telemetry.metrics.address value.
|
|
# Learn more about the Collector telemetry at https://opentelemetry.io/docs/collector/internal-telemetry/.
|
|
#
|
|
# THIS OPTION IS EXPERIMENTAL AND SUBJECT TO BREAKING CHANGES
|
|
internalTelemetryViaOTLP:
|
|
# The endpoint where the telemetry will be exported
|
|
endpoint: ""
|
|
# Optional headers to configure the exporters
|
|
headers: []
|
|
# - name: "x-dest-auth"
|
|
# value: "some auth key"
|
|
traces:
|
|
enabled: false
|
|
# overrides internalTelemetryViaOTLP.endpoint for traces
|
|
endpoint: ""
|
|
# overrides internalTelemetryViaOTLP.headers for traces
|
|
headers: []
|
|
metrics:
|
|
enabled: false
|
|
# overrides internalTelemetryViaOTLP.endpoint for metrics
|
|
endpoint: ""
|
|
# overrides internalTelemetryViaOTLP.headers for metrics
|
|
headers: []
|
|
logs:
|
|
enabled: false
|
|
# overrides internalTelemetryViaOTLP.endpoint for logs
|
|
endpoint: ""
|
|
# overrides internalTelemetryViaOTLP.headers for logs
|
|
headers: []
|
|
|
|
# Base collector configuration.
|
|
# Supports templating. To escape existing instances of {{ }}, use {{` <original content> `}}.
|
|
# For example, {{ REDACTED_EMAIL }} becomes {{` {{ REDACTED_EMAIL }} `}}.
|
|
config:
|
|
exporters:
|
|
debug: {}
|
|
extensions:
|
|
# The health_check extension is mandatory for this chart.
|
|
# Without the health_check extension the collector will fail the readiness and liveness probes.
|
|
# The health_check extension can be modified, but should never be removed.
|
|
health_check:
|
|
endpoint: ${env:MY_POD_IP}:13133
|
|
processors:
|
|
batch: {}
|
|
# Default memory limiter configuration for the collector based on k8s resource limits.
|
|
memory_limiter:
|
|
# check_interval is the time between measurements of memory usage.
|
|
check_interval: 5s
|
|
# By default limit_mib is set to 80% of ".Values.resources.limits.memory"
|
|
limit_percentage: 80
|
|
# By default spike_limit_mib is set to 25% of ".Values.resources.limits.memory"
|
|
spike_limit_percentage: 25
|
|
receivers:
|
|
jaeger:
|
|
protocols:
|
|
grpc:
|
|
endpoint: ${env:MY_POD_IP}:14250
|
|
thrift_http:
|
|
endpoint: ${env:MY_POD_IP}:14268
|
|
thrift_compact:
|
|
endpoint: ${env:MY_POD_IP}:6831
|
|
otlp:
|
|
protocols:
|
|
grpc:
|
|
endpoint: ${env:MY_POD_IP}:4317
|
|
http:
|
|
endpoint: ${env:MY_POD_IP}:4318
|
|
# if internalTelemetryViaOTLP.metrics.enabled = true, prometheus receiver will be removed
|
|
prometheus:
|
|
config:
|
|
scrape_configs:
|
|
- job_name: opentelemetry-collector
|
|
scrape_interval: 10s
|
|
static_configs:
|
|
- targets:
|
|
- ${env:MY_POD_IP}:8888
|
|
zipkin:
|
|
endpoint: ${env:MY_POD_IP}:9411
|
|
service:
|
|
telemetry:
|
|
resource:
|
|
k8s.namespace.name: "${env:OTEL_K8S_NAMESPACE}"
|
|
k8s.node.name: "${env:OTEL_K8S_NODE_NAME}"
|
|
k8s.node.ip: "${env:OTEL_K8S_NODE_IP}"
|
|
k8s.pod.name: "${env:OTEL_K8S_POD_NAME}"
|
|
k8s.pod.ip: "${env:OTEL_K8S_POD_IP}"
|
|
host.name: "${env:OTEL_K8S_NODE_NAME}"
|
|
metrics:
|
|
readers:
|
|
- pull:
|
|
exporter:
|
|
prometheus:
|
|
host: ${env:MY_POD_IP}
|
|
port: 8888
|
|
extensions:
|
|
- health_check
|
|
pipelines:
|
|
logs:
|
|
exporters:
|
|
- debug
|
|
processors:
|
|
- memory_limiter
|
|
- batch
|
|
receivers:
|
|
- otlp
|
|
metrics:
|
|
exporters:
|
|
- debug
|
|
processors:
|
|
- memory_limiter
|
|
- batch
|
|
receivers:
|
|
- otlp
|
|
# if internalTelemetryViaOTLP.metrics.enabled = true, prometheus receiver will be removed
|
|
- prometheus
|
|
traces:
|
|
exporters:
|
|
- debug
|
|
processors:
|
|
- memory_limiter
|
|
- batch
|
|
receivers:
|
|
- otlp
|
|
- jaeger
|
|
- zipkin
|
|
|
|
# Helm currently has an issue (https://github.com/helm/helm/pull/12879) when using null to remove
|
|
# default configuration from a subchart. The result is that you cannot remove default configuration
|
|
# from `config`, such as a specific receiver or a specific pipeline, when the chart is used as a
|
|
# subchart.
|
|
#
|
|
# Until the helm bug is fixed, this field is provided as an alternative when using this chart as a subchart.
|
|
# It is not recommended to use this field when installing the chart directly.
|
|
#
|
|
# When not empty, `alternateConfig` will be used to set the collector's configuration. It has NO default
|
|
# values and IS NOT MERGED with config. Any configuration provided via `config` will be ignored when
|
|
# `alternateConfig` is set. You MUST provide your own collector configuration.
|
|
#
|
|
# Reminder that the healthcheck extension (or something else that provides the same functionality) is required.
|
|
#
|
|
# Components configured by presets will be injected in the same way they are for `config`.
|
|
alternateConfig: {}
|
|
|
|
image:
|
|
# If you want to use the core image `otel/opentelemetry-collector`, you also need to change `command.name` value to `otelcol`.
|
|
repository: ""
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: ""
|
|
# When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
|
|
digest: ""
|
|
imagePullSecrets: []
|
|
|
|
# OpenTelemetry Collector executable
|
|
command:
|
|
name: ""
|
|
extraArgs: []
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# 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: ""
|
|
# Automatically mount a ServiceAccount's API credentials?
|
|
automountServiceAccountToken: true
|
|
|
|
clusterRole:
|
|
# Specifies whether a clusterRole should be created
|
|
# Some presets also trigger the creation of a cluster role and cluster role binding.
|
|
# If using one of those presets, this field is no-op.
|
|
create: false
|
|
# Annotations to add to the clusterRole
|
|
# Can be used in combination with presets that create a cluster role.
|
|
annotations: {}
|
|
# The name of the clusterRole to use.
|
|
# If not set a name is generated using the fullname template
|
|
# Can be used in combination with presets that create a cluster role.
|
|
name: ""
|
|
# A set of rules as documented here : https://kubernetes.io/docs/reference/access-authn-authz/rbac/
|
|
# Can be used in combination with presets that create a cluster role to add additional rules.
|
|
rules: []
|
|
# - apiGroups:
|
|
# - ''
|
|
# resources:
|
|
# - 'pods'
|
|
# - 'nodes'
|
|
# verbs:
|
|
# - 'get'
|
|
# - 'list'
|
|
# - 'watch'
|
|
|
|
clusterRoleBinding:
|
|
# Annotations to add to the clusterRoleBinding
|
|
# Can be used in combination with presets that create a cluster role binding.
|
|
annotations: {}
|
|
# The name of the clusterRoleBinding to use.
|
|
# If not set a name is generated using the fullname template
|
|
# Can be used in combination with presets that create a cluster role binding.
|
|
name: ""
|
|
|
|
podSecurityContext: {}
|
|
securityContext: {}
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
topologySpreadConstraints: []
|
|
|
|
# Allows for pod scheduler prioritisation
|
|
priorityClassName: ""
|
|
|
|
# Allows for pod to use a specific runtime class, e.g. gvisor, kata-containers
|
|
# Also useful for the pod security admissions plugins that rely on runtimeClassName
|
|
runtimeClassName: ""
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
|
|
extraEnvs: []
|
|
extraEnvsFrom: []
|
|
# This also supports template content, which will eventually be converted to yaml.
|
|
extraVolumes: []
|
|
|
|
# This also supports template content, which will eventually be converted to yaml.
|
|
extraVolumeMounts: []
|
|
|
|
# This also supports template content, which will eventually be converted to yaml.
|
|
extraManifests: []
|
|
|
|
# Configuration for ports
|
|
# nodePort is also allowed
|
|
ports:
|
|
otlp:
|
|
enabled: true
|
|
containerPort: 4317
|
|
servicePort: 4317
|
|
hostPort: 4317
|
|
protocol: TCP
|
|
# nodePort: 30317
|
|
appProtocol: grpc
|
|
otlp-http:
|
|
enabled: true
|
|
containerPort: 4318
|
|
servicePort: 4318
|
|
hostPort: 4318
|
|
protocol: TCP
|
|
jaeger-compact:
|
|
enabled: true
|
|
containerPort: 6831
|
|
servicePort: 6831
|
|
hostPort: 6831
|
|
protocol: UDP
|
|
jaeger-thrift:
|
|
enabled: true
|
|
containerPort: 14268
|
|
servicePort: 14268
|
|
hostPort: 14268
|
|
protocol: TCP
|
|
jaeger-grpc:
|
|
enabled: true
|
|
containerPort: 14250
|
|
servicePort: 14250
|
|
hostPort: 14250
|
|
protocol: TCP
|
|
zipkin:
|
|
enabled: true
|
|
containerPort: 9411
|
|
servicePort: 9411
|
|
hostPort: 9411
|
|
protocol: TCP
|
|
metrics:
|
|
# The metrics port is disabled by default. However you need to enable the port
|
|
# in order to use the ServiceMonitor (serviceMonitor.enabled) or PodMonitor (podMonitor.enabled).
|
|
enabled: false
|
|
containerPort: 8888
|
|
servicePort: 8888
|
|
protocol: TCP
|
|
|
|
# When enabled, the chart will set the GOMEMLIMIT env var to 80% of the configured resources.limits.memory.
|
|
# If no resources.limits.memory are defined then enabling does nothing.
|
|
# It is HIGHLY recommend to enable this setting and set a value for resources.limits.memory.
|
|
useGOMEMLIMIT: true
|
|
|
|
# Container resize policy for in-place resource resize (Kubernetes >= 1.27).
|
|
# https://kubernetes.io/docs/concepts/workloads/autoscaling/#in-place-resizing
|
|
resizePolicy: []
|
|
# resizePolicy:
|
|
# - resourceName: cpu
|
|
# restartPolicy: NotRequired
|
|
# - resourceName: memory
|
|
# restartPolicy: RestartContainer
|
|
|
|
# Resource limits & requests.
|
|
# It is HIGHLY recommended to set resource limits.
|
|
resources: {}
|
|
# resources:
|
|
# limits:
|
|
# cpu: 250m
|
|
# memory: 512Mi
|
|
|
|
enableConfigChecksumAnnotation: true
|
|
podAnnotations: {}
|
|
|
|
podLabels: {}
|
|
|
|
# Common labels to add to all otel-collector resources. Evaluated as a template.
|
|
additionalLabels: {}
|
|
# app.kubernetes.io/part-of: my-app
|
|
|
|
# Host networking requested for this pod. Use the host's network namespace.
|
|
hostNetwork: false
|
|
|
|
# Enable sharing the host's PID namespace with the pod.
|
|
# WARNING: This grants visibility into all host processes and should only be enabled when required.
|
|
hostPID: false
|
|
|
|
# Adding entries to Pod /etc/hosts with HostAliases
|
|
# https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
|
|
hostAliases: []
|
|
# - ip: "1.2.3.4"
|
|
# hostnames:
|
|
# - "my.host.com"
|
|
|
|
# Pod DNS policy ClusterFirst, ClusterFirstWithHostNet, None, Default, None
|
|
dnsPolicy: ""
|
|
|
|
# Custom DNS config. Required when DNS policy is None.
|
|
dnsConfig: {}
|
|
|
|
# Custom kube scheduler name.
|
|
schedulerName: ""
|
|
|
|
# only used with deployment mode
|
|
replicaCount: 1
|
|
|
|
revisionHistoryLimit: 10
|
|
|
|
annotations: {}
|
|
|
|
# List of extra sidecars to add.
|
|
# This also supports template content, which will eventually be converted to yaml.
|
|
extraContainers: []
|
|
# extraContainers:
|
|
# - name: test
|
|
# command:
|
|
# - cp
|
|
# args:
|
|
# - /bin/sleep
|
|
# - /test/sleep
|
|
# image: busybox:latest
|
|
# volumeMounts:
|
|
# - name: test
|
|
# mountPath: /test
|
|
|
|
# List of init container specs, e.g. for copying a binary to be executed as a lifecycle hook.
|
|
# This also supports template content, which will eventually be converted to yaml.
|
|
# Another usage of init containers is e.g. initializing filesystem permissions to the OTLP Collector user `10001` in case you are using persistence and the volume is producing a permission denied error for the OTLP Collector container.
|
|
initContainers: []
|
|
# initContainers:
|
|
# - name: test
|
|
# image: busybox:latest
|
|
# command:
|
|
# - cp
|
|
# args:
|
|
# - /bin/sleep
|
|
# - /test/sleep
|
|
# volumeMounts:
|
|
# - name: test
|
|
# mountPath: /test
|
|
# - name: init-fs
|
|
# image: busybox:latest
|
|
# command:
|
|
# - sh
|
|
# - '-c'
|
|
# - 'chown -R 10001: /var/lib/storage/otc' # use the path given as per `extensions.file_storage.directory` & `extraVolumeMounts[x].mountPath`
|
|
# volumeMounts:
|
|
# - name: opentelemetry-collector-data # use the name of the volume used for persistence
|
|
# mountPath: /var/lib/storage/otc # use the path given as per `extensions.file_storage.directory` & `extraVolumeMounts[x].mountPath`
|
|
|
|
# Pod lifecycle policies.
|
|
lifecycleHooks: {}
|
|
# lifecycleHooks:
|
|
# preStop:
|
|
# exec:
|
|
# command:
|
|
# - /test/sleep
|
|
# - "5"
|
|
|
|
# liveness probe configuration
|
|
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
##
|
|
livenessProbe:
|
|
# Number of seconds after the container has started before startup, liveness or readiness probes are initiated.
|
|
# initialDelaySeconds: 1
|
|
# How often in seconds to perform the probe.
|
|
# periodSeconds: 10
|
|
# Number of seconds after which the probe times out.
|
|
# timeoutSeconds: 1
|
|
# Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
# failureThreshold: 1
|
|
# Duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
# terminationGracePeriodSeconds: 10
|
|
httpGet:
|
|
port: 13133
|
|
path: /
|
|
|
|
# readiness probe configuration
|
|
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
##
|
|
readinessProbe:
|
|
# Number of seconds after the container has started before startup, liveness or readiness probes are initiated.
|
|
# initialDelaySeconds: 1
|
|
# How often (in seconds) to perform the probe.
|
|
# periodSeconds: 10
|
|
# Number of seconds after which the probe times out.
|
|
# timeoutSeconds: 1
|
|
# Minimum consecutive successes for the probe to be considered successful after having failed.
|
|
# successThreshold: 1
|
|
# Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
# failureThreshold: 1
|
|
httpGet:
|
|
port: 13133
|
|
path: /
|
|
|
|
# startup probe configuration
|
|
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
##
|
|
startupProbe: {}
|
|
# Number of seconds after the container has started before startup probes are initiated.
|
|
# initialDelaySeconds: 1
|
|
# How often in seconds to perform the probe.
|
|
# periodSeconds: 10
|
|
# Number of seconds after which the probe times out.
|
|
# timeoutSeconds: 1
|
|
# Minimum consecutive failures for the probe to be considered failed after having succeeded.
|
|
# failureThreshold: 1
|
|
# Duration in seconds the pod needs to terminate gracefully upon probe failure.
|
|
# terminationGracePeriodSeconds: 10
|
|
# httpGet:
|
|
# port: 13133
|
|
# path: /
|
|
|
|
service:
|
|
# Enable the creation of a Service.
|
|
# By default, it's enabled on mode != daemonset.
|
|
# However, to enable it on mode = daemonset, its creation must be explicitly enabled
|
|
# enabled: true
|
|
|
|
type: ClusterIP
|
|
# Supported values: PreferClose (deprecated in K8s 1.33+), PreferSameZone, PreferSameNode
|
|
# trafficDistribution: PreferClose
|
|
# type: LoadBalancer
|
|
# loadBalancerIP: 1.2.3.4
|
|
# loadBalancerSourceRanges: []
|
|
|
|
# By default, Service of type 'LoadBalancer' will be created setting 'externalTrafficPolicy: Cluster'
|
|
# unless other value is explicitly set.
|
|
# Possible values are Cluster or Local (https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip)
|
|
# externalTrafficPolicy: Cluster
|
|
|
|
annotations: {}
|
|
|
|
# By default, Service will be created setting 'internalTrafficPolicy: Local' on mode = daemonset
|
|
# unless other value is explicitly set.
|
|
# Setting 'internalTrafficPolicy: Cluster' on a daemonset is not recommended
|
|
# internalTrafficPolicy: Cluster
|
|
|
|
ingress:
|
|
enabled: false
|
|
# annotations: {}
|
|
# ingressClassName: nginx
|
|
# hosts:
|
|
# - host: collector.example.com
|
|
# paths:
|
|
# - path: /
|
|
# pathType: Prefix
|
|
# port: 4318
|
|
# tls:
|
|
# - secretName: collector-tls
|
|
# hosts:
|
|
# - collector.example.com
|
|
|
|
# Additional ingresses - only created if ingress.enabled is true
|
|
# Useful for when differently annotated ingress services are required
|
|
# Each additional ingress needs key "name" set to something unique
|
|
additionalIngresses: []
|
|
# - name: cloudwatch
|
|
# ingressClassName: nginx
|
|
# annotations: {}
|
|
# hosts:
|
|
# - host: collector.example.com
|
|
# paths:
|
|
# - path: /
|
|
# pathType: Prefix
|
|
# port: 4318
|
|
# tls:
|
|
# - secretName: collector-tls
|
|
# hosts:
|
|
# - collector.example.com
|
|
|
|
podMonitor:
|
|
# The pod monitor by default scrapes the metrics port.
|
|
# The metrics port needs to be enabled as well.
|
|
enabled: false
|
|
metricsEndpoints:
|
|
- port: metrics
|
|
# interval: 15s
|
|
|
|
# additional labels for the PodMonitor
|
|
extraLabels: {}
|
|
# release: kube-prometheus-stack
|
|
|
|
serviceMonitor:
|
|
# The service monitor by default scrapes the metrics port.
|
|
# The metrics port needs to be enabled as well.
|
|
enabled: false
|
|
metricsEndpoints:
|
|
- port: metrics
|
|
# interval: 15s
|
|
|
|
# additional labels for the ServiceMonitor
|
|
extraLabels: {}
|
|
# release: kube-prometheus-stack
|
|
# Used to set relabeling and metricRelabeling configs on the ServiceMonitor
|
|
# https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
|
relabelings: []
|
|
metricRelabelings: []
|
|
# Sets a sample limit on the ServiceMonitor
|
|
sampleLimit: 0
|
|
|
|
# PodDisruptionBudget is used only if mode is "deployment" or "statefulset"
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
# minAvailable: 2
|
|
# maxUnavailable: 1
|
|
|
|
# autoscaling is used only if mode is "deployment" or "statefulset"
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 10
|
|
behavior: {}
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
# Supply an array of custom metrics to be used for autoscaling. It includes externalMetrics, objectMetrics, and podsMetrics.
|
|
additionalMetrics: []
|
|
|
|
rollout:
|
|
rollingUpdate: {}
|
|
# When 'mode: daemonset', maxSurge cannot be used when hostPort is set for any of the ports
|
|
# maxSurge: 25%
|
|
# maxUnavailable: 0
|
|
strategy: RollingUpdate
|
|
|
|
prometheusRule:
|
|
enabled: false
|
|
groups: []
|
|
# Create default rules for monitoring the collector
|
|
defaultRules:
|
|
enabled: false
|
|
## Additional labels for PrometheusRule alerts
|
|
additionalRuleLabels: {}
|
|
## Additional annotations for PrometheusRule alerts
|
|
additionalRuleAnnotations: {}
|
|
|
|
# additional labels for the PrometheusRule
|
|
extraLabels: {}
|
|
|
|
statefulset:
|
|
# volumeClaimTemplates for a statefulset
|
|
volumeClaimTemplates: []
|
|
podManagementPolicy: "Parallel"
|
|
# Controls if and how PVCs created by the StatefulSet are deleted. Available in Kubernetes 1.23+.
|
|
persistentVolumeClaimRetentionPolicy:
|
|
enabled: false
|
|
whenDeleted: Retain
|
|
whenScaled: Retain
|
|
|
|
networkPolicy:
|
|
enabled: false
|
|
|
|
# Annotations to add to the NetworkPolicy
|
|
annotations: {}
|
|
|
|
# Configure the 'from' clause of the NetworkPolicy.
|
|
# By default this will restrict traffic to ports enabled for the Collector. If
|
|
# you wish to further restrict traffic to other hosts or specific namespaces,
|
|
# see the standard NetworkPolicy 'spec.ingress.from' definition for more info:
|
|
# https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/
|
|
allowIngressFrom: []
|
|
# # Allow traffic from any pod in any namespace, but not external hosts
|
|
# - namespaceSelector: {}
|
|
# # Allow external access from a specific cidr block
|
|
# - ipBlock:
|
|
# cidr: 192.168.1.64/32
|
|
# # Allow access from pods in specific namespaces
|
|
# - namespaceSelector:
|
|
# matchExpressions:
|
|
# - key: kubernetes.io/metadata.name
|
|
# operator: In
|
|
# values:
|
|
# - "cats"
|
|
# - "dogs"
|
|
|
|
# Add additional ingress rules to specific ports
|
|
# Useful to allow external hosts/services to access specific ports
|
|
# An example is allowing an external prometheus server to scrape metrics
|
|
#
|
|
# See the standard NetworkPolicy 'spec.ingress' definition for more info:
|
|
# https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/
|
|
extraIngressRules: []
|
|
# - ports:
|
|
# - port: metrics
|
|
# protocol: TCP
|
|
# from:
|
|
# - ipBlock:
|
|
# cidr: 192.168.1.64/32
|
|
|
|
# Restrict egress traffic from the OpenTelemetry collector pod
|
|
# See the standard NetworkPolicy 'spec.egress' definition for more info:
|
|
# https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/
|
|
egressRules: []
|
|
# - to:
|
|
# - namespaceSelector: {}
|
|
# - ipBlock:
|
|
# cidr: 192.168.10.10/24
|
|
# ports:
|
|
# - port: 1234
|
|
# protocol: TCP
|
|
|
|
# Allow containers to share processes across pod namespace
|
|
shareProcessNamespace: false
|