A practical FinOps playbook for Kubernetes with namespace cost visibility, rightsizing, and policy controls that reduce waste without hurting performance.
Get the latest tutorials, guides, and insights on AI, DevOps, Cloud, and Infrastructure delivered directly to your inbox.
Kubernetes cost issues are usually organizational before they are technical. Clusters hide spend behind shared infrastructure, and teams lose visibility into which workloads drive cost. FinOps for Kubernetes starts by making ownership and usage explicit.
Every workload should have labels for team, environment, and service.
metadata:
labels:
team: payments
env: production
service: checkout-api
Cost tools can map these labels to chargeback or showback reports.
Over-provisioned requests create idle spend. Under-provisioned limits cause throttling and incidents.
Before:
resources:
requests:
cpu: "1000m"
memory: "2Gi"
After (based on p95 usage):
resources:
requests:
cpu: "250m"
memory: "512Mi"
limits:
cpu: "500m"
memory: "1Gi"
Multiply this across 100 pods and savings become material.
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: enforce-resource-requests
spec:
rules:
- name: validate-cpu-request
match:
any:
- resources:
kinds: ["Deployment"]
validate:
message: "CPU request must be <= 1000m"
pattern:
spec:
template:
spec:
containers:
- resources:
requests:
cpu: "<=1000m"
Track:
Assign owners and expiration dates for non-production resources.
Kubernetes cost optimization succeeds when platform and product teams share the same visibility and accountability model.
Explore more articles in this category
Cloud Networking Segmentation Patterns. Practical guidance for reliable, scalable platform operations.
Multi-Cluster Traffic Routing Strategies. Practical guidance for reliable, scalable platform operations.
Cloud Disaster Recovery Runbook Design. Practical guidance for reliable, scalable platform operations.