mirror of https://github.com/hashicorp/consul
78 lines
2.8 KiB
Markdown
78 lines
2.8 KiB
Markdown
---
|
|
layout: commands
|
|
page_title: 'Commands: Force Leave'
|
|
description: >-
|
|
The `force-leave` command forces a member of a Consul cluster to enter the
|
|
left state. If the member is still actually alive, it will eventually rejoin
|
|
the cluster. The true purpose of this method is to force remove failed nodes.
|
|
---
|
|
|
|
# Consul Force Leave
|
|
|
|
Command: `consul force-leave`
|
|
|
|
Corresponding HTTP API Endpoint: [\[PUT\] /v1/agent/force-leave/:node](/api-docs/agent#force-leave-and-shutdown)
|
|
|
|
The `force-leave` command forces a member of a Consul cluster to enter the
|
|
"left" state. The purpose of this method is to force-remove a node that has failed or
|
|
was shutdown without a [graceful leave](/commands/leave).
|
|
|
|
Consul periodically tries to reconnect to "failed" nodes in case failure was due
|
|
to a network partition. After some configured amount of time (by default 72 hours),
|
|
Consul will reap "failed" nodes and stop trying to reconnect. The `force-leave`
|
|
command can be used to transition the "failed" nodes to a "left" state more
|
|
quickly, as reported by [`consul members`](/commands/members).
|
|
|
|
This can be particularly useful for a node that was running as a server,
|
|
as it will eventually be removed from the Raft configuration by the leader.
|
|
|
|
~> Note that for `force-leave` to take full effect the target node's agent must have
|
|
shutdown permanently. If the agent is alive and reachable then it will not be removed
|
|
from the datacenter's member list nor from the raft configuration. Additionally,
|
|
if the agent returns after transitioning to the "left" state, but before it is reaped
|
|
from the member list, then it will rejoin the cluster.
|
|
|
|
The table below shows this command's [required ACLs](/api#authentication). Configuration of
|
|
[blocking queries](/api-docs/features/blocking) and [agent caching](/api-docs/features/caching)
|
|
are not supported from commands, but may be from the corresponding HTTP endpoint.
|
|
|
|
| ACL Required |
|
|
| ---------------- |
|
|
| `operator:write` |
|
|
|
|
## Usage
|
|
|
|
Usage: `consul force-leave [options] node`
|
|
|
|
#### API Options
|
|
|
|
@include 'http_api_options_client.mdx'
|
|
|
|
## Examples
|
|
|
|
Remove a node named `ec2-001-staging` from the local agent's datacenter:
|
|
|
|
```
|
|
consul force-leave ec2-001-staging
|
|
```
|
|
|
|
When run on a server that is part of a
|
|
[WAN gossip pool](https://learn.hashicorp.com/consul/security-networking/datacenters),
|
|
`force-leave` can remove failed servers in other datacenters from the WAN pool.
|
|
|
|
The identifying node-name in a WAN pool is `[node-name].[datacenter]`.
|
|
Therefore, to remove a failed server node named `server1` from
|
|
datacenter `us-east1`, run:
|
|
|
|
```
|
|
consul force-leave server1.us-east1
|
|
```
|
|
|
|
#### Command Options
|
|
|
|
- `-prune` - Removes failed or left agent from the list of
|
|
members entirely. Added in Consul 1.6.2.
|
|
|
|
- `-wan` - Exclusively leave the agent from the WAN gossip pool. Added in Consul
|
|
1.11.0.
|