Overview
Beyond basic configuration, charts support advanced customization for production workloads including resource management, storage, security, and scheduling.Custom Volumes and Mounts
Basic Volume Configuration
Charts support arbitrary volumes and volumeMounts through values:Common Volume Types
- ConfigMap
- Secret
- EmptyDir
- PersistentVolumeClaim
- HostPath
Real-World Examples
Resource Management
Resource Requests and Limits
- Development
- Production
- Memory-Intensive
- CPU-Intensive
- Minimal resource usage
- Lower requests for bin packing
- Suitable for dev/test environments
Best Practices
Always Set Requests
Always Set Requests
Why: Kubernetes needs requests for scheduling decisions.
Requests ≤ Limits
Requests ≤ Limits
Why: Requests are guaranteed, limits are maximum.
Monitor and Adjust
Monitor and Adjust
Start conservative and adjust based on metrics:
Different Resources per Component
Different Resources per Component
For multi-component charts like Dify:
Pod Security Context
Pod-Level Security
runAsNonRoot: Prevents running as rootrunAsUser: Specific UID for the processfsGroup: GID for volume ownershipseccompProfile: Security compute mode profile
Container-Level Security
allowPrivilegeEscalation: Prevents gaining additional privilegesreadOnlyRootFilesystem: Immutable root filesystemcapabilities: Fine-grained permissions
Security Profiles
- Baseline
- Restricted
- Privileged
Node Scheduling
Node Selector
Schedule pods on specific nodes by label:kubernetes.io/hostname: Specific nodekubernetes.io/os: Operating systemnode.kubernetes.io/instance-type: Cloud instance type- Custom labels you’ve added to nodes
Tolerations
Allow pods to schedule on tainted nodes:dedicated=<value>:NoSchedule: Dedicated nodesgpu=true:NoSchedule: GPU nodesnode.kubernetes.io/not-ready: Unready nodes
Affinity Rules
- Node Affinity
- Pod Affinity
- Pod Anti-Affinity
- Combined
High Availability Pattern
Pod Annotations and Labels
Pod Annotations
- Service mesh configuration (Linkerd, Istio)
- Monitoring (Prometheus)
- Secret injection (Vault)
- Custom automation
Pod Labels
Some charts support additional pod labels:Complete Production Example
production-values.yaml
Next Steps
Values Configuration
Learn about values.yaml basics
Ingress Setup
Configure external access
Monitoring
Set up Prometheus monitoring
Chart Reference
Production deployment patterns