github.com/smintz/nomad@v0.8.3/website/source/docs/commands/node/drain.html.md.erb (about)

     1  ---
     2  layout: "docs"
     3  page_title: "Commands: node drain"
     4  sidebar_current: "docs-commands-node-drain"
     5  description: >
     6    The node drain command is used to configure a node's drain strategy.
     7  ---
     8  
     9  # Command: node drain
    10  
    11  The `node drain` command is used to toggle drain mode on a given node. Drain
    12  mode prevents any new tasks from being allocated to the node, and begins
    13  migrating all existing allocations away. Allocations will be migrated according
    14  to their [`migrate`][migrate] stanza until the drain's deadline is reached.
    15  
    16  By default the `node drain` command blocks until a node is done draining and
    17  all allocations have terminated. Canceling the `node drain` command *will not*
    18  cancel the drain. Drains may be canceled by using the `-disable` parameter
    19  below.
    20  
    21  When draining more than one node at a time, it is recommended you first disable
    22  [scheduling eligibility][eligibility] on all nodes that will be drained. For
    23  example if you are decommissioning an entire class of nodes, first run `node
    24  eligibility -disable` on all of their node IDs, and then run `node drain
    25  -enable`. This will ensure allocations drained from the first node are not
    26  placed on another node about to be drained.
    27  
    28  The [node status](/docs/commands/node/status.html) command compliments this
    29  nicely by providing the current drain status of a given node.
    30  
    31  See the [Decommissioning Nodes guide](/guides/node-draining.html) for detailed
    32  examples of node draining.
    33  
    34  ## Usage
    35  
    36  ```
    37  nomad node drain [options] <node>
    38  ```
    39  
    40  A `-self` flag can be used to drain the local node. If this is not supplied, a
    41  node ID or prefix must be provided. If there is an exact match, the drain mode
    42  will be adjusted for that node. Otherwise, a list of matching nodes and
    43  information will be displayed.
    44  
    45  It is also required to pass one of `-enable` or `-disable`, depending on which
    46  operation is desired.
    47  
    48  ## General Options
    49  
    50  <%= partial "docs/commands/_general_options" %>
    51  
    52  ## Drain Options
    53  
    54  * `-enable`: Enable node drain mode.
    55  * `-disable`: Disable node drain mode.
    56  * `-deadline`: Set the deadline by which all allocations must be moved off the
    57    node. Remaining allocations after the deadline are force removed from the
    58    node. Defaults to 1 hour.
    59  * `-detach`: Return immediately instead of entering monitor mode.
    60  * `-force`: Force remove allocations off the node immediately.
    61  * `-no-deadline`: No deadline allows the allocations to drain off the node
    62    without being force stopped after a certain deadline.
    63  * `-ignore-system`: Ignore system allows the drain to complete without stopping
    64    system job allocations. By default system jobs are stopped last.
    65  * `-keep-ineligible`: Keep ineligible will maintain the node's scheduling
    66    ineligibility even if the drain is being disabled. This is useful when an
    67    existing drain is being cancelled but additional scheduling on the node is not
    68    desired.
    69  * `-self`: Drain the local node.
    70  * `-yes`: Automatic yes to prompts.
    71  
    72  ## Examples
    73  
    74  Enable drain mode on node with ID prefix "4d2ba53b":
    75  
    76  ```
    77  $ nomad node drain -enable f4e8a9e5
    78  Are you sure you want to enable drain mode for node "f4e8a9e5-30d8-3536-1e6f-cda5c869c35e"? [y/N] y
    79  2018-03-30T23:13:16Z: Ctrl-C to stop monitoring: will not cancel the node drain
    80  2018-03-30T23:13:16Z: Node "f4e8a9e5-30d8-3536-1e6f-cda5c869c35e" drain strategy set
    81  2018-03-30T23:13:17Z: Alloc "1877230b-64d3-a7dd-9c31-dc5ad3c93e9a" marked for migration
    82  2018-03-30T23:13:17Z: Alloc "1877230b-64d3-a7dd-9c31-dc5ad3c93e9a" draining
    83  2018-03-30T23:13:17Z: Alloc "1877230b-64d3-a7dd-9c31-dc5ad3c93e9a" status running -> complete
    84  2018-03-30T23:13:29Z: Alloc "3fce5308-818c-369e-0bb7-f61f0a1be9ed" marked for migration
    85  2018-03-30T23:13:29Z: Alloc "3fce5308-818c-369e-0bb7-f61f0a1be9ed" draining
    86  2018-03-30T23:13:30Z: Alloc "3fce5308-818c-369e-0bb7-f61f0a1be9ed" status running -> complete
    87  2018-03-30T23:13:41Z: Alloc "9a98c5aa-a719-2f34-ecfc-0e6268b5d537" marked for migration
    88  2018-03-30T23:13:41Z: Alloc "9a98c5aa-a719-2f34-ecfc-0e6268b5d537" draining
    89  2018-03-30T23:13:41Z: Node "f4e8a9e5-30d8-3536-1e6f-cda5c869c35e" has marked all allocations for migration
    90  2018-03-30T23:13:42Z: Alloc "9a98c5aa-a719-2f34-ecfc-0e6268b5d537" status running -> complete
    91  2018-03-30T23:13:42Z: All allocations on node "f4e8a9e5-30d8-3536-1e6f-cda5c869c35e" have stopped.
    92  ```
    93  
    94  Enable drain mode on the local node:
    95  
    96  ```
    97  $ nomad node drain -enable -self
    98  ...
    99  ```
   100  
   101  Enable drain mode but do not stop system jobs:
   102  
   103  ```
   104  $ nomad node drain -enable -ignore-system 4d2ba53b
   105  ...
   106  ```
   107  
   108  Disable drain mode but keep the node ineligible for scheduling. Useful for
   109  inspecting the current state of a misbehaving node without Nomad trying to
   110  start or migrate allocations:
   111  
   112  ```
   113  $ nomad node drain -disable -keep-ineligible 4d2ba53b
   114  ...
   115  ```
   116  
   117  
   118  [eligibility]: /docs/commands/node/eligibility.html
   119  [migrate]: /docs/job-specification/migrate.html