Chapter 3. Advanced Resource Management
Managing available resources is a critical aspect of effectively running Kubernetes workloads in production. Without the proper sizing of workloads and management of CPU, memory, disk, graphics processing units (GPUs), pods, containers, and other resources, it is impossible for engineers and operations teams to control the service-level agreement (SLA) of applications and services between a client and provider. This SLA is the defining contract that determines the level of availability and performance that the client can expect from the system and is often backed by financial penalties.
We’ll discuss a variety of tools and techniques available to the Kubernetes engineer for controlling the allocation of these resources. In this chapter, we begin with a discussion of proper scheduling of pod resources, where we cover topics like priority scheduling, quality of service, and the impact resource limits can have on scheduling pods. Next, we provide an overview of capacity planning and management approaches for ensuring the scalability of your Kubernetes platform. We then conclude this chapter with a discussion of admission controllers and how they can be used to enforce additional constraints on resources.
Pod Resources and Scheduling
Proper scheduling of workload is critical to maintaining the availability and performance of your applications. Without effective scheduling, you can end up with an overloaded worker node with insufficient memory ...
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.
Read now
Unlock full access