Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster, victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics, prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready) - ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays - doc/victoria-metrics-architecture.md, define-chart-resources updates - includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,806 @@
|
||||
# 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: ""
|
||||
|
||||
# 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
|
||||
Reference in New Issue
Block a user