Setting Default CPU/Memory Requests For A Namespace

Today, I ran into the problem of trying to enforce a minimum amount of resources requested for a Kubernetes namespace.

We have a namespace that developers deploy all of our microservices. Not all of the deployments have a minimum CPU/memory set.

One way you can do this is to use a LimitRange.

It looks like this:

apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
  namespace: <your namespace here>
spec:
  limits:
  - default:
      memory: 512Mi
    defaultRequest:
      memory: 256Mi
    type: Container

If you’re an operator of a Kubernetes cluster, consider using LimitRanges to reduce the effects of noisy neighbors on your cluster.


Join the 80/20 DevOps Newsletter

If you're an engineering leader or developer, you should subscribe to my 80/20 DevOps Newsletter. Give me 1 minute of your day, and I'll teach you essential DevOps skills. I cover topics like Kubernetes, AWS, Infrastructure as Code, and more.

Not sure yet? Check out the archive.

Unsubscribe at any time.