KUBERNETES(1) kubernetes KUBERNETES(1) (NAME) kubectl-drain - (SYNOPSIS) kubectl drain [OPTIONS] (DESCRIPTION) . (unschedulable) . API (eviction) [https://kubernetes.io/docs/concepts/workloads/pods/disruptions] 'drain' . DELETE . 'drain' (mirror pods API ) . daemon set drain --ignore-daemonsets daemon set daemon set . replication controller replica set daemon set stateful set job drain --force . --force . 'drain' (graceful termination) . . kubectl uncordon . : https://kubernetes.io/images/docs/kubectl_drain.svg (OPTIONS) --chunk-size=500 (chunk) . 0 . --delete-emptydir-data=false emptyDir ( ). --disable-eviction=false drain delete (eviction) . PodDisruptionBudgets . --dry-run="none" "none" "server" "client" . client . server . --force=false . --grace-period=-1 . . --ignore-daemonsets=false DaemonSet. --pod-selector="" -l, --selector="" ( ) '=' '==' '!=' 'in' 'notin' ( -l key1=value1,key2=value2,key3 in (value3)). . --skip-wait-for-delete-timeout=0 DeletionTimestamp N . 0 . --timeout=0s (OPTIONS INHERITED FROM PARENT COMMANDS) --as="" (impersonate) . (service account) (namespace) . --as-group=[] . --as-uid="" UID . --as-user-extra=[] . --cache-dir="/home/username/.kube/cache" --certificate-authority="" (certificate authority) --client-certificate="" TLS --client-key="" TLS --cluster="" kubeconfig --context="" kubeconfig --disable-compression=false true --insecure-skip-tls-verify=false true . HTTPS --kubeconfig="" kubeconfig CLI. --kuberc="" kuberc . export KUBECTL_KUBERC=false KUBERC=off . --match-server-version=false -n, --namespace="" (namespace) CLI --password="" (basic authentication) API --profile="none" . (none|cpu|heap|goroutine|threadcreate|block|mutex|trace) --profile-output="profile.pprof" --request-timeout="0" . ( 1s 2m 3h). ( ). -s, --server="" Kubernetes API --tls-server-name="" . hostname --token="" Bearer API --user="" kubeconfig --username="" API --version=false --version --version=raw --version=vX.Y.Z... --warnings-as-errors=false (EXAMPLE) # Drain node "foo", even if there are pods not managed by a replication controller, replica set, job, daemon set, or stateful set on it kubectl drain foo --force # As above, but abort if there are pods not managed by a replication controller, replica set, job, daemon set, or stateful set, and use a grace period of 15 minutes kubectl drain foo --grace-period=900 (SEE ALSO) kubectl(1), (HISTORY) Eric Paris (eparis at redhat dot com) kubernetes ! Eric Paris Jan 2015 KUBERNETES(1)