Reimplement PR #4339
This commit is contained in:
@@ -183,9 +183,7 @@ At some point, the pods terminate, and the cluster look like this:
|
|||||||
|
|
||||||
At this point, if an impatient cluster administrator tries to drain `node-2` or
|
At this point, if an impatient cluster administrator tries to drain `node-2` or
|
||||||
`node-3`, the drain command will block, because there are only 2 available
|
`node-3`, the drain command will block, because there are only 2 available
|
||||||
pods for the deployment, and its PDB requires at least 2. After some time
|
pods for the deployment, and its PDB requires at least 2. After some time passes, `pod-d` becomes available.
|
||||||
|
|
||||||
asses, `pod-d` becomes available.
|
|
||||||
|
|
||||||
The cluster state now looks like this:
|
The cluster state now looks like this:
|
||||||
|
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ For example, if you have a StatefulSet with three replicas and have
|
|||||||
set a `PodDisruptionBudget` for that set specifying `minAvailable:
|
set a `PodDisruptionBudget` for that set specifying `minAvailable:
|
||||||
2`. `kubectl drain` will only evict a pod from the StatefulSet if all
|
2`. `kubectl drain` will only evict a pod from the StatefulSet if all
|
||||||
three pods are ready, and if you issue multiple drain commands in
|
three pods are ready, and if you issue multiple drain commands in
|
||||||
parallel, Kubernetes will respect the PodDisruptionBudget an ensure
|
parallel, Kubernetes will respect the PodDisruptionBudget and ensure
|
||||||
that only one pod is unavailable at any given time. Any drains that
|
that only one pod is unavailable at any given time. Any drains that
|
||||||
would cause the number of ready replicas to fall below the specified
|
would cause the number of ready replicas to fall below the specified
|
||||||
budget are blocked.
|
budget are blocked.
|
||||||
@@ -91,7 +91,7 @@ budget are blocked.
|
|||||||
## The Eviction API
|
## The Eviction API
|
||||||
|
|
||||||
If you prefer not to use [kubectl drain](/docs/user-guide/kubectl/{{page.version}}/#drain) (such as
|
If you prefer not to use [kubectl drain](/docs/user-guide/kubectl/{{page.version}}/#drain) (such as
|
||||||
to avoid calling to an external command, or to get finer control over over the pod
|
to avoid calling to an external command, or to get finer control over the pod
|
||||||
eviction process), you can also programmatically cause evictions using the eviction API.
|
eviction process), you can also programmatically cause evictions using the eviction API.
|
||||||
|
|
||||||
You should first be familiar with using [Kubernetes language clients](/docs/tasks/administer-cluster/access-cluster-api/#programmatic-access-to-the-api).
|
You should first be familiar with using [Kubernetes language clients](/docs/tasks/administer-cluster/access-cluster-api/#programmatic-access-to-the-api).
|
||||||
|
|||||||
Reference in New Issue
Block a user