mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 22:01:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| <!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
 | |
| 
 | |
| <!-- BEGIN STRIP_FOR_RELEASE -->
 | |
| 
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| 
 | |
| <h2>PLEASE NOTE: This document applies to the HEAD of the source tree</h2>
 | |
| 
 | |
| If you are using a released version of Kubernetes, you should
 | |
| refer to the docs that go with that version.
 | |
| 
 | |
| <!-- TAG RELEASE_LINK, added by the munger automatically -->
 | |
| <strong>
 | |
| The latest release of this document can be found
 | |
| [here](http://releases.k8s.io/release-1.2/docs/user-guide/kubectl/kubectl_drain.md).
 | |
| 
 | |
| Documentation for other releases can be found at
 | |
| [releases.k8s.io](http://releases.k8s.io).
 | |
| </strong>
 | |
| --
 | |
| 
 | |
| <!-- END STRIP_FOR_RELEASE -->
 | |
| 
 | |
| <!-- END MUNGE: UNVERSIONED_WARNING -->
 | |
| 
 | |
| ## kubectl drain
 | |
| 
 | |
| Drain node in preparation for maintenance
 | |
| 
 | |
| ### Synopsis
 | |
| 
 | |
| 
 | |
| Drain node in preparation for maintenance.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| When you are ready to put the node back into service, use kubectl uncordon, which
 | |
| will make the node schedulable again.
 | |
| 
 | |
| 
 | |
| ```
 | |
| kubectl drain NODE
 | |
| ```
 | |
| 
 | |
| ### Examples
 | |
| 
 | |
| ```
 | |
| # 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
 | |
| 
 | |
| ```
 | |
| 
 | |
| ### Options
 | |
| 
 | |
| ```
 | |
|       --force[=false]: Continue even if there are pods not managed by a ReplicationController, Job, or DaemonSet.
 | |
|       --grace-period=-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.
 | |
|       --ignore-daemonsets[=false]: Ignore DaemonSet-managed pods.
 | |
| ```
 | |
| 
 | |
| ### Options inherited from parent commands
 | |
| 
 | |
| ```
 | |
|       --alsologtostderr[=false]: log to standard error as well as files
 | |
|       --api-version="": The API version to use when talking to the server
 | |
|       --certificate-authority="": Path to a cert. file for the certificate authority.
 | |
|       --client-certificate="": Path to a client certificate file for TLS.
 | |
|       --client-key="": Path to a client key file for TLS.
 | |
|       --cluster="": The name of the kubeconfig cluster to use
 | |
|       --context="": The name of the kubeconfig context to use
 | |
|       --insecure-skip-tls-verify[=false]: If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.
 | |
|       --kubeconfig="": Path to the kubeconfig file to use for CLI requests.
 | |
|       --log-backtrace-at=:0: when logging hits line file:N, emit a stack trace
 | |
|       --log-dir="": If non-empty, write log files in this directory
 | |
|       --log-flush-frequency=5s: Maximum number of seconds between log flushes
 | |
|       --logtostderr[=true]: log to standard error instead of files
 | |
|       --match-server-version[=false]: Require server version to match client version
 | |
|       --namespace="": If present, the namespace scope for this CLI request.
 | |
|       --password="": Password for basic authentication to the API server.
 | |
|   -s, --server="": The address and port of the Kubernetes API server
 | |
|       --stderrthreshold=2: logs at or above this threshold go to stderr
 | |
|       --token="": Bearer token for authentication to the API server.
 | |
|       --user="": The name of the kubeconfig user to use
 | |
|       --username="": Username for basic authentication to the API server.
 | |
|       --v=0: log level for V logs
 | |
|       --vmodule=: comma-separated list of pattern=N settings for file-filtered logging
 | |
| ```
 | |
| 
 | |
| ### SEE ALSO
 | |
| 
 | |
| * [kubectl](kubectl.md)	 - kubectl controls the Kubernetes cluster manager
 | |
| 
 | |
| ###### Auto generated by spf13/cobra on 2-Feb-2016
 | |
| 
 | |
| <!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
 | |
| []()
 | |
| <!-- END MUNGE: GENERATED_ANALYTICS -->
 |