Skip to Content
Cloud Native DevOps with Kubernetes
book

Cloud Native DevOps with Kubernetes

by John Arundel, Justin Domingus
March 2019
Intermediate to advanced
346 pages
8h 17m
English
O'Reilly Media, Inc.
Content preview from Cloud Native DevOps with Kubernetes

Chapter 5. Managing Resources

Nothing is enough to the man for whom enough is too little.

Epicurus

In this chapter we’ll look at how to make the most of your cluster: how to manage and optimize resource usage, how to manage the life cycle of containers, and how to partition the cluster using namespaces. We’ll also outline some techniques and best practices for keeping down the cost of your cluster, while getting the most for your money.

You’ll learn how to use resource requests, limits, and defaults, and how to optimize them with the Vertical Pod Autoscaler; how to use readiness probes, liveness probes, and Pod disruption budgets to manage containers; how to optimize cloud storage; and how and when to use preemptible or reserved instances to control costs.

Understanding Resources

Suppose you have a Kubernetes cluster of a given capacity, with a reasonable number of nodes of the right kind of size. How do you get the most bang for your buck out of it? That is, how do you get the best possible utilization of the available cluster resources for your workload, while still ensuring that you have enough headroom to deal with demand spikes, node failures, and bad deployments?

To answer this, put yourself in the place of the Kubernetes scheduler and try to see things from its point of view. The scheduler’s job is to decide where to run a given Pod. Are there any nodes with enough free resources to run the Pod?

This question is impossible to answer unless the scheduler knows how much ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Cloud Native DevOps with Kubernetes, 2nd Edition

Cloud Native DevOps with Kubernetes, 2nd Edition

Justin Domingus, John Arundel
Kubernetes Microservices

Kubernetes Microservices

Richard Chesterwood
Managing Cloud Native Data on Kubernetes

Managing Cloud Native Data on Kubernetes

Jeff Carpenter, Patrick McFadin
Kubernetes Fundamentals

Kubernetes Fundamentals

Sébastien Goasguen

Publisher Resources

ISBN: 9781492040750Errata PageSupplemental Content