Identifying use cases for Pod placement
Pod placement controls are tools that Kubernetes gives us to decide which node to schedule a Pod on, or when to completely prevent Pod scheduling due to a lack of the nodes we want. This can be used in several different patterns, but we'll review a few major ones. To start with, Kubernetes itself implements Pod placement controls completely by default – let's see how.
Kubernetes node health placement controls
Kubernetes uses a few default placement controls to specify which nodes are unhealthy in some way. These are generally defined using taints and tolerations, which we will review in detail later in this chapter.
Some default taints (which we'll discuss in the next section) that Kubernetes uses are as follows:
memory-pressure
disk-pressure
unreachable
not-ready
out-of-disk
network-unavailable
unschedulable
uninitialized
(only for cloud-provider-created nodes)
These conditions...