Advanced Configuration

Configure annotations, node selectors, tolerations, volume mounts, and other advanced Kubernetes settings.

This page covers advanced Helm values for fine-tuning Kubernetes pod configuration.

Annotations

Variable: annotations

Description: The annotations value enables you to add custom annotations to the pods or other Kubernetes objects created by the Helm chart. Annotations can provide metadata that can be used by various tools and processes within the Kubernetes ecosystem.

Example:

--set annotations.example\.com/annotation="my-value"

You can run this command to confirm the annotations:

kubectl describe pods -l app.kubernetes.io/name=edgedelta -n edgedelta

Node Selector

Variable: nodeSelector

Description: This is a way to specify on which nodes a pod should be scheduled, based on labels on nodes. With nodeSelector: {}, no node selector is set, so the pod can be scheduled on any available node that matches other criteria.

Tolerations

Variable: tolerations

Description: Tolerations allow a pod to be scheduled on nodes with matching taints. It’s a way to ensure that pods are scheduled on appropriate nodes. The default chart setting tolerations: {}, indicates that there are no specific tolerations set, meaning the pods might not be able to be scheduled on tainted nodes unless tolerations are defined. For example, if certain nodes are dedicated for certain purposes or have specific hardware, administrators may apply taints to them, and only pods with the appropriate tolerations will be scheduled there.

Volume Mounts

Variable: volumeMounts

Description: Specify where to mount the volumes listed in the volumes parameter into containers.

Example: .spec.containers[*].volumeMounts: - mountPath: /cache name: cache-volume

Volumes

Variable: volumes

Description: Specify the volumes to make available to a pod. This includes the volume type such as ConfigMap or emptyDir.

Example: `.spec.volumes:

  • name: cache-volume emptyDir: sizeLimit: 500Mi`