Validate Kubernetes Service Type Configuration
Check service.type, service.port, and related settings in Helm values.yaml. Validate against ClusterIP, NodePort, LoadBalancer, and ExternalName types.
Detailed Explanation
Service Type Configuration
The service section in Helm values controls how your application is exposed within or outside the Kubernetes cluster. Incorrect values here can leave your service unreachable or accidentally expose it to the internet.
Valid Service Types
# ClusterIP (default) - internal only
service:
type: ClusterIP
port: 80
# NodePort - exposes on each node's IP
service:
type: NodePort
port: 80
nodePort: 30080
# LoadBalancer - provisions external LB
service:
type: LoadBalancer
port: 80
# ExternalName - DNS alias
service:
type: ExternalName
externalName: api.external-service.com
What Gets Validated
- Type value: Must be exactly one of ClusterIP, NodePort, LoadBalancer, or ExternalName (case-sensitive)
- Port type:
service.portshould be a number - Consistency: If ingress is enabled, service type should typically be ClusterIP (the ingress controller handles external access)
Common Mistakes
| Mistake | Issue | Fix |
|---|---|---|
type: clusterIP |
Wrong casing | type: ClusterIP |
type: Headless |
Not a valid type | Use type: ClusterIP with clusterIP: None |
port: "80" |
String instead of number | port: 80 |
| LoadBalancer + Ingress | Redundant | Use ClusterIP with Ingress |
NodePort Range
When using NodePort, the nodePort value must be in the range 30000-32767 (configurable per cluster). The validator flags nodePort values outside this range.
Use Case
Reviewing service configuration before deploying to different environments where ClusterIP is needed for staging (behind an ingress) but LoadBalancer is needed for a bare-metal production cluster.
Try It — Helm Values Validator
Related Topics
Validate a Basic Web App values.yaml
Basic Configuration
Validate Helm Ingress Configuration
Ingress & Networking
Validate Kubernetes Resource Limits and Requests
Resource Management
Production Readiness Checklist for Helm Values
Advanced Patterns
Compare Default vs Override Values for Multi-Environment
Advanced Patterns