Image Configuration
All charts use a standardized image configuration structure.Container image repository. Specifies where to pull the Docker image from.Example:
nginx, ghcr.io/prymitive/karma, prom/memcached-exporterImage tag to use. If not specified, defaults to the chart’s
appVersion.Example: "1.16.0", "v0.85", "latest"Using an empty string allows the image tag to automatically track the chart’s
appVersion, making upgrades easier.Image pull policy for the container.Options:
IfNotPresent: Pull only if the image isn’t already presentAlways: Always pull the latest versionNever: Never pull, use local image only
List of secret names to use for pulling private images.Example:
Example Image Configuration
Replica and Scaling Configuration
Number of pod replicas to run. Only applies when autoscaling is disabled.Example:
1, 3, 5Enable horizontal pod autoscaling.
Minimum number of replicas for autoscaling.
Maximum number of replicas for autoscaling.
Target CPU utilization percentage for autoscaling.
Target memory utilization percentage for autoscaling (optional).
Example Autoscaling Configuration
Service Configuration
Kubernetes Service type.Options:
ClusterIP: Internal cluster IP (default)NodePort: Expose on each node’s IP at a static portLoadBalancer: External load balancer (cloud provider)ExternalName: Map to an external DNS name
Service port to expose.Example:
80, 8080, 3000Annotations to add to the Service resource.Example:
Additional labels to add to the Service.
Container port that the application listens on.Example:
80, 8080, 3000, 5001Example Service Configuration
Ingress Configuration
Enable Ingress resource creation.
IngressClass name to use (Kubernetes 1.18+).Example:
nginx, traefik, albAnnotations for the Ingress resource.Example:
List of hosts and paths for the Ingress.Structure:
TLS configuration for the Ingress.Example:
Example Ingress Configuration
HTTPRoute Configuration (Gateway API)
Many charts support the Gateway API HTTPRoute as an alternative to Ingress.Enable Gateway API HTTPRoute creation.
Name of the Gateway to attach to.
Namespace of the Gateway.
Reuse hostnames from the Ingress configuration.
Hostnames for the HTTPRoute (used when
reuseIngressConfiguration is false).Additional HTTPRoute rules.Example:
Example HTTPRoute Configuration
Resource Limits and Requests
CPU and memory resource requests and limits.Example:
Resource Configuration Best Practices
Scheduling Configuration
Node labels for pod assignment.Example:
Tolerations for pod assignment.Example:
Affinity rules for pod assignment.Example:
Example Scheduling Configuration
ServiceAccount Configuration
Specifies whether a ServiceAccount should be created.
Annotations to add to the ServiceAccount.Example:
The name of the ServiceAccount to use. If not set and
create is true, a name is generated using the fullname template.Example ServiceAccount Configuration
Security Context
Security context for the pod.Example:
Security context for the container.Example:
Example Security Configuration
Pod Annotations and Labels
Annotations to add to pods.Example:
Additional labels to add to pods.Example:
Environment Variables
Environment variables to add to the container.Example:
Volumes and Volume Mounts
Additional volumes to add to the pod.Example:
Additional volume mounts to add to the container.Example:
Example Volume Configuration
Prometheus Monitoring
ServiceMonitor
Create a ServiceMonitor resource for Prometheus Operator.
Namespace to deploy the ServiceMonitor (defaults to release namespace).
Scrape interval for metrics.
Additional labels for the ServiceMonitor.Example:
PrometheusRule
Create PrometheusRule resources for alerting.
Namespace to deploy the PrometheusRule (defaults to release namespace).
Additional labels for the PrometheusRule.Example:
Prometheus alerting rules.Example:
Example Prometheus Configuration
Name Overrides
Override the chart name used in resource names.
Use sparingly. This affects the
nginx.name helper template.Override the full resource name.
Next Steps
- See Chart Reference Overview for template patterns
- Review Chart Development for creating charts
- Check individual chart documentation for chart-specific parameters