The chart now supports templating in .Values.config. If you are currently using any syntax in `.Values.yaml` it will now be rendered. To escape existing instances of, use . For example, becomes }} ```.
Resource limits have been reduced. Upgrades/installs of chart 0.29.0 will now use fewer resources. In order to set the resources back to what they were, you will need to override the resources section in the values.yaml.
Example:
resources:
limits:
cpu: 1
memory: 2Gi
Remove containerLogs in favor of presets.logsCollection
The ability to enable logs collection from the collector has been moved from containerLogs.enabled to presets.logsCollection.enabled. If you are currently using containerLogs.enabled, you should instead use the preset:
presets:
logsCollection:
enabled: true
If you are using containerLogs.enabled and also enabling collection of the collector logs you can use includeCollectorLogs
presets:
logsCollection:
enabled: true
includeCollectorLogs: true
You no longer need to update config.service.pipelines.logs to include the filelog receiver yourself as the preset will automatically update the logs pipeline to include the filelog receiver.
The filelog’s preset configuration can modified by config.receivers, but preset configuration cannot be removed. If you need to remove any filelog receiver configuration generated by the preset you should not use the preset. Instead, configure the filelog receiver manually in config.receivers and set any other necessary fields in the values.yaml to modify k8s as needed.
See the daemonset-collector-logs example to see an example of the preset in action.
Remove agentCollector and standaloneCollector settings
The agentCollector and standaloneCollector config sections have been removed. Upgrades/installs of chart 0.19.0 will fail if agentCollector or standaloneCollector are in the values.yaml. See the Migrate to mode steps for instructions on how to replace agentCollector and standaloneCollector with mode.
The ability to install both the agent and standalone collectors simultaneous with the chart has been removed. Installs/upgrades where both .Values.agentCollector.enabled and .Values.standloneCollector.enables are true will fail. agentCollector and standloneCollector have also be deprecated, but backward compatibility has been maintained.
Install a deployment version of the collector. This is done by setting .Values.mode to deployment
mode: deployment
Next, install an daemonset version of the collector that is configured to send traffic to the previously installed deployment. This is done by setting .Values.mode to daemonset and updating .Values.config so that data is exported to the deployment.
mode: daemonset
config:
exporters:
otlp:
endpoint: example-opentelemetry-collector:4317
tls:
insecure: true
service:
pipelines:
logs:
exporters:
- otlp
- logging
metrics:
exporters:
- otlp
- logging
traces:
exporters:
- otlp
- logging
See the daemonset-and-deployment example to see the rendered config.
mode:The agentCollector and standaloneCollector sections in values.yaml have been deprecated. Instead there is a new field, mode, that determines if the collector is being installed as a daemonset or deployment.
# Valid values are "daemonset" and "deployment".
# If set, agentCollector and standaloneCollector are ignored.
mode: <daemonset|deployment>
The following fields have also been added to the root-level to replace the depracated agentCollector and standaloneCollector settings.
containerLogs:
enabled: false
resources:
limits:
cpu: 1
memory: 2Gi
podAnnotations: {}
podLabels: {}
# Host networking requested for this pod. Use the host's network namespace.
hostNetwork: false
# only used with deployment mode
replicaCount: 1
annotations: {}
When using mode, these settings should be used instead of their counterparts in agentCollector and standaloneCollector.
Set mode to daemonset if agentCollector was being used. Move all agentCollector settings to the corresponding root-level setting. If agentCollector.configOverride was being used, merge the settings with .Values.config.
Example agentCollector values.yaml:
agentCollector:
resources:
limits:
cpu: 3
memory: 6Gi
configOverride:
receivers:
hostmetrics:
scrapers:
cpu:
disk:
filesystem:
service:
pipelines:
metrics:
receivers: [otlp, prometheus, hostmetrics]
Example mode values.yaml:
mode: daemonset
resources:
limits:
cpu: 3
memory: 6Gi
config:
receivers:
hostmetrics:
scrapers:
cpu:
disk:
filesystem:
service:
pipelines:
metrics:
receivers: [otlp, prometheus, hostmetrics]
Set mode to deployment if standaloneCollector was being used. Move all standaloneCollector settings to the corresponding root-level setting. If standaloneCollector.configOverride was being used, merge the settings with .Values.config.
Example standaloneCollector values.yaml:
standaloneCollector:
enabled: true
replicaCount: 2
configOverride:
receivers:
podman_stats:
endpoint: unix://run/podman/podman.sock
timeout: 10s
collection_interval: 10s
service:
pipelines:
metrics:
receivers: [otlp, prometheus, podman_stats]
Example mode values.yaml:
mode: deployment
replicaCount: 2
config:
receivers:
receivers:
podman_stats:
endpoint: unix://run/podman/podman.sock
timeout: 10s
collection_interval: 10s
service:
pipelines:
metrics:
receivers: [otlp, prometheus, podman_stats]
Default configuration in .Values.config can now be removed with null. When changing a pipeline, you must explicitly list all the components that are in the pipeline, including any default components.
Example: Disable metrics and logging pipelines and non-otlp receivers:
config:
receivers:
jaeger: null
prometheus: null
zipkin: null
service:
pipelines:
traces:
receivers:
- otlp
metrics: null
logs: null