mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	We do this because they will be recreated immediately by the DaemonSet Controller. In addition, we also require a specific flag (--ignore-daemonsets) when there are DaemonSet pods on the node.
		
			
				
	
	
		
			165 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH "KUBERNETES" "1" " kubernetes User Manuals" "Eric Paris" "Jan 2015"  ""
 | 
						|
 | 
						|
 | 
						|
.SH NAME
 | 
						|
.PP
 | 
						|
kubectl drain \- Drain node in preparation for maintenance
 | 
						|
 | 
						|
 | 
						|
.SH SYNOPSIS
 | 
						|
.PP
 | 
						|
\fBkubectl drain\fP [OPTIONS]
 | 
						|
 | 
						|
 | 
						|
.SH DESCRIPTION
 | 
						|
.PP
 | 
						|
Drain node in preparation for maintenance.
 | 
						|
 | 
						|
.PP
 | 
						|
The given node will be marked unschedulable to prevent new pods from arriving.
 | 
						|
Then drain deletes all pods except mirror pods (which cannot be deleted through
 | 
						|
the API server).  If there are DaemonSet\-managed pods, drain will not proceed
 | 
						|
without \-\-ignore\-daemonsets, and regardless it will not delete any
 | 
						|
DaemonSet\-managed pods, because those pods would be immediately replaced by the
 | 
						|
DaemonSet controller, which ignores unschedulable marknigs.  If there are any
 | 
						|
pods that are neither mirror pods nor managed\-\-by ReplicationController,
 | 
						|
DaemonSet or Job\-\-, then drain will not delete any pods unless you use \-\-force.
 | 
						|
 | 
						|
.PP
 | 
						|
When you are ready to put the node back into service, use kubectl uncordon, which
 | 
						|
will make the node schedulable again.
 | 
						|
 | 
						|
 | 
						|
.SH OPTIONS
 | 
						|
.PP
 | 
						|
\fB\-\-force\fP=false
 | 
						|
    Continue even if there are pods not managed by a ReplicationController, Job, or DaemonSet.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-grace\-period\fP=\-1
 | 
						|
    Period of time in seconds given to each pod to terminate gracefully. If negative, the default value specified in the pod will be used.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-ignore\-daemonsets\fP=false
 | 
						|
    Ignore DaemonSet\-managed pods.
 | 
						|
 | 
						|
 | 
						|
.SH OPTIONS INHERITED FROM PARENT COMMANDS
 | 
						|
.PP
 | 
						|
\fB\-\-alsologtostderr\fP=false
 | 
						|
    log to standard error as well as files
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-api\-version\fP=""
 | 
						|
    The API version to use when talking to the server
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-certificate\-authority\fP=""
 | 
						|
    Path to a cert. file for the certificate authority.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-client\-certificate\fP=""
 | 
						|
    Path to a client certificate file for TLS.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-client\-key\fP=""
 | 
						|
    Path to a client key file for TLS.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-cluster\fP=""
 | 
						|
    The name of the kubeconfig cluster to use
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-context\fP=""
 | 
						|
    The name of the kubeconfig context to use
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-insecure\-skip\-tls\-verify\fP=false
 | 
						|
    If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-kubeconfig\fP=""
 | 
						|
    Path to the kubeconfig file to use for CLI requests.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-log\-backtrace\-at\fP=:0
 | 
						|
    when logging hits line file:N, emit a stack trace
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-log\-dir\fP=""
 | 
						|
    If non\-empty, write log files in this directory
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-log\-flush\-frequency\fP=5s
 | 
						|
    Maximum number of seconds between log flushes
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-logtostderr\fP=true
 | 
						|
    log to standard error instead of files
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-match\-server\-version\fP=false
 | 
						|
    Require server version to match client version
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-namespace\fP=""
 | 
						|
    If present, the namespace scope for this CLI request.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-password\fP=""
 | 
						|
    Password for basic authentication to the API server.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-s\fP, \fB\-\-server\fP=""
 | 
						|
    The address and port of the Kubernetes API server
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-stderrthreshold\fP=2
 | 
						|
    logs at or above this threshold go to stderr
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-token\fP=""
 | 
						|
    Bearer token for authentication to the API server.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-user\fP=""
 | 
						|
    The name of the kubeconfig user to use
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-username\fP=""
 | 
						|
    Username for basic authentication to the API server.
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-v\fP=0
 | 
						|
    log level for V logs
 | 
						|
 | 
						|
.PP
 | 
						|
\fB\-\-vmodule\fP=
 | 
						|
    comma\-separated list of pattern=N settings for file\-filtered logging
 | 
						|
 | 
						|
 | 
						|
.SH EXAMPLE
 | 
						|
.PP
 | 
						|
.RS
 | 
						|
 | 
						|
.nf
 | 
						|
# Drain node "foo", even if there are pods not managed by a ReplicationController, Job, or DaemonSet on it.
 | 
						|
$ kubectl drain foo \-\-force
 | 
						|
 | 
						|
# As above, but abort if there are pods not managed by a ReplicationController, Job, or DaemonSet, and use a grace period of 15 minutes.
 | 
						|
$ kubectl drain foo \-\-grace\-period=900
 | 
						|
 | 
						|
 | 
						|
.fi
 | 
						|
.RE
 | 
						|
 | 
						|
 | 
						|
.SH SEE ALSO
 | 
						|
.PP
 | 
						|
\fBkubectl(1)\fP,
 | 
						|
 | 
						|
 | 
						|
.SH HISTORY
 | 
						|
.PP
 | 
						|
January 2015, Originally compiled by Eric Paris (eparis at redhat dot com) based on the kubernetes source material, but hopefully they have been automatically generated since!
 |