Consul
Consul Operator Autopilot
Command: consul operator autopilot
The Autopilot operator command is used to interact with Consul's Autopilot subsystem. The command can be used to view or modify the current Autopilot configuration. See the Autopilot Guide for more information about Autopilot.
Usage: consul operator autopilot <subcommand> [options]
The Autopilot operator command is used to interact with Consul's Autopilot
subsystem. The command can be used to view or modify the current configuration.
Subcommands:
get-config Display the current Autopilot configuration
set-config Modify the current Autopilot configuration
get-config
Corresponding HTTP API Endpoint: [GET] /v1/operator/autopilot/configuration
This command displays the current autopilot configuration.
The table below shows this command's required ACLs. Configuration of blocking queries and agent caching are not supported from commands, but may be from the corresponding HTTP endpoint.
ACL Required |
---|
operator:read |
Usage: consul operator autopilot get-config [options]
API Options
-ca-file=<value>
- Path to a CA file to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CACERT
environment variable.-ca-path=<value>
- Path to a directory of CA certificates to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CAPATH
environment variable.-client-cert=<value>
- Path to a client cert file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_CERT
environment variable.-client-key=<value>
- Path to a client key file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_KEY
environment variable.-http-addr=<addr>
- Address of the Consul agent with the port. This can be an IP address or DNS address, but it must include the port. This can also be specified via theCONSUL_HTTP_ADDR
environment variable. In Consul 0.8 and later, the default value is http://127.0.0.1:8500, and https can optionally be used instead. The scheme can also be set to HTTPS by setting the environment variableCONSUL_HTTP_SSL=true
. This may be a unix domain socket usingunix:///path/to/socket
if the agent is configured to listen that way.-tls-server-name=<value>
- The server name to use as the SNI host when connecting via TLS. This can also be specified via theCONSUL_TLS_SERVER_NAME
environment variable.-token=<value>
- ACL token to use in the request. This can also be specified via theCONSUL_HTTP_TOKEN
environment variable. If unspecified, the query will default to the token of the Consul agent at the HTTP address.-token-file=<value>
- File containing the ACL token to use in the request instead of one specified via the-token
argument orCONSUL_HTTP_TOKEN
environment variable. This can also be specified via theCONSUL_HTTP_TOKEN_FILE
environment variable.
-datacenter=<name>
- Name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent at the HTTP address.-stale
- Permit any Consul server (non-leader) to respond to this request. This allows for lower latency and higher throughput, but can result in stale data. This option has no effect on non-read operations. The default value is false.
Command Output
$ consul operator autopilot get-config
CleanupDeadServers = true
LastContactThreshold = 200ms
MaxTrailingLogs = 250
ServerStabilizationTime = 10s
RedundancyZoneTag = ""
DisableUpgradeMigration = false
UpgradeMigrationTag = ""
set-config
Corresponding HTTP API Endpoint: [PUT] /v1/operator/autopilot/configuration
Modifies the current Autopilot configuration.
The table below shows this command's required ACLs. Configuration of blocking queries and agent caching are not supported from commands, but may be from the corresponding HTTP endpoint.
ACL Required |
---|
operator:write |
Usage: consul operator autopilot set-config [options]
API Options
-ca-file=<value>
- Path to a CA file to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CACERT
environment variable.-ca-path=<value>
- Path to a directory of CA certificates to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CAPATH
environment variable.-client-cert=<value>
- Path to a client cert file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_CERT
environment variable.-client-key=<value>
- Path to a client key file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_KEY
environment variable.-http-addr=<addr>
- Address of the Consul agent with the port. This can be an IP address or DNS address, but it must include the port. This can also be specified via theCONSUL_HTTP_ADDR
environment variable. In Consul 0.8 and later, the default value is http://127.0.0.1:8500, and https can optionally be used instead. The scheme can also be set to HTTPS by setting the environment variableCONSUL_HTTP_SSL=true
. This may be a unix domain socket usingunix:///path/to/socket
if the agent is configured to listen that way.-tls-server-name=<value>
- The server name to use as the SNI host when connecting via TLS. This can also be specified via theCONSUL_TLS_SERVER_NAME
environment variable.-token=<value>
- ACL token to use in the request. This can also be specified via theCONSUL_HTTP_TOKEN
environment variable. If unspecified, the query will default to the token of the Consul agent at the HTTP address.-token-file=<value>
- File containing the ACL token to use in the request instead of one specified via the-token
argument orCONSUL_HTTP_TOKEN
environment variable. This can also be specified via theCONSUL_HTTP_TOKEN_FILE
environment variable.
-datacenter=<name>
- Name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent at the HTTP address.-stale
- Permit any Consul server (non-leader) to respond to this request. This allows for lower latency and higher throughput, but can result in stale data. This option has no effect on non-read operations. The default value is false.
Command Options
-cleanup-dead-servers
- Specifies whether to enable automatic removal of dead servers upon the successful joining of new servers to the cluster. Must be one of[true|false]
.-last-contact-threshold
- Controls the maximum amount of time a server can go without contact from the leader before being considered unhealthy. Must be a duration value such as200ms
.-max-trailing-logs
- Controls the maximum number of log entries that a server can trail the leader by before being considered unhealthy.-min-quorum
- Sets the minimum number of servers required in a cluster before autopilot is allowed to prune dead servers.-server-stabilization-time
- Controls the minimum amount of time a server must be stable in the 'healthy' state before being added to the cluster. Only takes effect if all servers are running Raft protocol version 3 or higher. Must be a duration value such as10s
.-disable-upgrade-migration
Enterprise - Controls whether Consul will avoid promoting new servers until it can perform a migration. Must be one of[true|false]
.-redundancy-zone-tag
Enterprise - Controls the-node-meta
key name used for separating servers into different redundancy zones.-upgrade-version-tag
Enterprise - Controls the-node-meta
tag to use for version info when performing upgrade migrations. If left blank, the Consul version will be used.
Command Output
$ consul operator autopilot set-config -min-quorum=3
Configuration updated!
The return code will indicate success or failure.
state
Corresponding HTTP API Endpoint: [GET] /v1/operator/autopilot/state
This command displays the current autopilot state.
The table below shows this command's required ACLs. Configuration of blocking queries and agent caching are not supported from commands, but may be from the corresponding HTTP endpoint.
ACL Required |
---|
operator:read |
Usage: consul operator autopilot state [options]
API Options
-ca-file=<value>
- Path to a CA file to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CACERT
environment variable.-ca-path=<value>
- Path to a directory of CA certificates to use for TLS when communicating with Consul. This can also be specified via theCONSUL_CAPATH
environment variable.-client-cert=<value>
- Path to a client cert file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_CERT
environment variable.-client-key=<value>
- Path to a client key file to use for TLS whenverify_incoming
is enabled. This can also be specified via theCONSUL_CLIENT_KEY
environment variable.-http-addr=<addr>
- Address of the Consul agent with the port. This can be an IP address or DNS address, but it must include the port. This can also be specified via theCONSUL_HTTP_ADDR
environment variable. In Consul 0.8 and later, the default value is http://127.0.0.1:8500, and https can optionally be used instead. The scheme can also be set to HTTPS by setting the environment variableCONSUL_HTTP_SSL=true
. This may be a unix domain socket usingunix:///path/to/socket
if the agent is configured to listen that way.-tls-server-name=<value>
- The server name to use as the SNI host when connecting via TLS. This can also be specified via theCONSUL_TLS_SERVER_NAME
environment variable.-token=<value>
- ACL token to use in the request. This can also be specified via theCONSUL_HTTP_TOKEN
environment variable. If unspecified, the query will default to the token of the Consul agent at the HTTP address.-token-file=<value>
- File containing the ACL token to use in the request instead of one specified via the-token
argument orCONSUL_HTTP_TOKEN
environment variable. This can also be specified via theCONSUL_HTTP_TOKEN_FILE
environment variable.
-datacenter=<name>
- Name of the datacenter to query. If unspecified, the query will default to the datacenter of the Consul agent at the HTTP address.-stale
- Permit any Consul server (non-leader) to respond to this request. This allows for lower latency and higher throughput, but can result in stale data. This option has no effect on non-read operations. The default value is false.
Command Options
-format
- Specifies the output format. Must be one of[pretty|json]
and it defaults topretty
.
Command Output
$ consul operator autopilot state
Healthy: true
Failure Tolerance: 1
Optimistic Failure Tolerance: 0
Leader: 79324811-9588-4311-b208-f272e38aaabf
Voters:
79324811-9588-4311-b208-f272e38aaabf
ef8aee9a-f9d6-4ec4-b383-aac956bdb80f
ae84aefb-a303-4734-8739-5c102d4ee2d9
Servers:
79324811-9588-4311-b208-f272e38aaabf
Name: node1
Address: 198.18.0.1:8300
Version: 1.9.0
Status: leader
Node Type: voter
Node Status: alive
Healthy: true
Last Contact: 0s
Last Term: 3
Last Index: 42
Meta
"foo": "bar"
ae84aefb-a303-4734-8739-5c102d4ee2d9
Name: node3
Address: 198.18.0.3:8300
Version: 1.9.0
Status: voter
Node Type: voter
Node Status: alive
Healthy: true
Last Contact: 2ms
Last Term: 3
Last Index: 39
Meta
"baz": "foo"
ef8aee9a-f9d6-4ec4-b383-aac956bdb80f
Name: node2
Address: 198.18.0.2:8300
Version: 1.9.0
Status: voter
Node Type: voter
Node Status: alive
Healthy: true
Last Contact: 1ms
Last Term: 3
Last Index: 41
Meta
"bar": "baz"