Advanced Configuration
2 minute read
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`