mirror of https://github.com/k3s-io/k3s
169 lines
4.0 KiB
Groff
169 lines
4.0 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 markings. 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=""
|
|
DEPRECATED: The API version to use when talking to the server
|
|
|
|
.PP
|
|
\fB\-\-as\fP=""
|
|
Username to impersonate for the operation.
|
|
|
|
.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!
|