Merge pull request #8398 from hashicorp/docs-autoscaler-touchups

docs: fix broken links and formatting of the autoscaler docs
This commit is contained in:
Luiz Aoqui 2020-07-08 18:57:57 -04:00 committed by GitHub
commit 08358841aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 42 additions and 41 deletions

View File

@ -32,13 +32,14 @@ the autoscaler for fetching scaling policies and scaling jobs:
namespace "default" {
policy = "scale"
}
```
Other APM and target plugins may require additional ACLs; see the plugin documentation for more information.
## Load Order and Merging
The Nomad Autoscaler agent supports multiple configuration files, which can be
provided using the [-config][autoscaler_cli_config] CLI flag. The flag can
provided using the [`-config`][autoscaler_cli_config] CLI flag. The flag can
accept either a file or folder. In the case of a folder, any `.hcl` and `.json`
files in the folder will be loaded and merged in lexicographical order. Directories
are not loaded recursively.
@ -49,7 +50,7 @@ For example:
$ nomad-autoscaler agent -config=autoscaler.conf -config=/etc/nomad-autoscaler -config=extra.json
```
This will load configuration from autoscaler.conf, from `.hcl` and `.json` files
This will load configuration from `autoscaler.conf`, from `.hcl` and `.json` files
under `/etc/nomad-autoscaler`, and finally from `extra.json`. As each file is
processed, its contents are merged into the existing configuration. When merging,
any non-empty values from the latest config file will append or replace
@ -62,7 +63,7 @@ The Nomad Autoscaler agent supports handling the `SIGHUP` signal for reloading w
restarting the agent. When sending a `SIGHUP` signal to the agent process, the agent will perform the
following actions.
- reload the contents of the scaling policy directory as defined by the [policy dir][autoscaler_cli_policy_dir]
- reload the contents of the scaling policy directory as defined by the [`-policy-dir`][autoscaler_cli_policy_dir]
parameter.
## General Parameters
@ -89,10 +90,10 @@ http {
### `http` Parameters
- `bind_address` `(string "127.0.0.1")` - The HTTP address that the server will
- `bind_address` `(string: "127.0.0.1")` - The HTTP address that the server will
bind to.
- `bind_port` `(int 8080)` - The port that the server will bind to.
- `bind_port` `(int: 8080)` - The port that the server will bind to.
## `nomad` Block
@ -107,36 +108,36 @@ nomad {
### `nomad` Parameters
- `address` `(string "http://127.0.0.1:4646")` - The address of the Nomad server
in the form of protocol://addr:port.
- `address` `(string: "http://127.0.0.1:4646")` - The address of the Nomad server
in the form of `protocol://addr:port`.
- `region` `(string "global")` - The region of the Nomad servers to connect with.
- `region` `(string: "global")` - The region of the Nomad servers to connect with.
- `namespace` `(string "")` - The target namespace for queries and actions bound
- `namespace` `(string: "")` - The target namespace for queries and actions bound
to a namespace.
- `token` `(string "")` - The SecretID of an ACL token to use to authenticate
- `token` `(string: "")` - The SecretID of an ACL token to use to authenticate
API requests with.
- `http_auth` `(string "")` - The authentication information to use when connecting
- `http_auth` `(string: "")` - The authentication information to use when connecting
to a Nomad API which is using HTTP authentication.
- `ca_cert` `(string "")` - Path to a PEM encoded CA cert file to use to verify
- `ca_cert` `(string: "")` - Path to a PEM encoded CA cert file to use to verify
the Nomad server SSL certificate.
- `ca_path` `(string "")` - Path to a directory of PEM encoded CA cert files to
- `ca_path` `(string: "")` - Path to a directory of PEM encoded CA cert files to
verify the Nomad server SSL certificate.
- `client_cert` `(string "")` - Path to a PEM encoded client certificate for TLS
- `client_cert` `(string: "")` - Path to a PEM encoded client certificate for TLS
authentication to the Nomad server.
- `client_key` `(string "")` - Path to an unencrypted PEM encoded private key
- `client_key` `(string: "")` - Path to an unencrypted PEM encoded private key
matching the client certificate.
- `tls_server_name` `(string "")` - The server name to use as the SNI host when
- `tls_server_name` `(string: "")` - The server name to use as the SNI host when
connecting via TLS.
- `skip_verify` `(bool false)` - Do not verify TLS certificates. This is strongly
- `skip_verify` `(bool: false)` - Do not verify TLS certificates. This is strongly
discouraged.
## `policy` Block
@ -152,13 +153,13 @@ policy {
### `policy` Parameters
- `dir` `(string "./plugins")` - The path to a directory used to load scaling
- `dir` `(string: "./plugins")` - The path to a directory used to load scaling
policies.
- `default_cooldown` `(string "5m")` - The default cooldown that will be applied
- `default_cooldown` `(string: "5m")` - The default cooldown that will be applied
to all scaling policies which do not specify a cooldown period.
- `default_evaluation_interval` `(string "10s")` - The default evaluation interval
- `default_evaluation_interval` `(string: "10s")` - The default evaluation interval
that will be applied to all scaling policies which do not specify an evaluation
interval.

View File

@ -25,10 +25,10 @@ passed in via CLI arguments. The `agent` command accepts the following arguments
config files to use for configuring the Nomad Autoscaler agent.
- `-log-level=<level>`: Specify the verbosity level of Nomad Autoscaler's logs.
Valid values include DEBUG, INFO, and WARN, in decreasing order of verbosity.
Valid values include `DEBUG`, `INFO`, and `WARN`, in decreasing order of verbosity.
The default is `INFO`.
- `-log-json`: Output logs in a JSON format. The default is false.
- `-log-json`: Output logs in a JSON format. The default is `false`.
- `-plugin-dir=<path>`: The plugin directory is used to discover Nomad Autoscaler
plugins. If not specified, the plugin directory defaults to be that of
@ -41,7 +41,7 @@ passed in via CLI arguments. The `agent` command accepts the following arguments
default is `8080`.
- `-nomad-address=<addr>`: The address of the Nomad server in the form of
protocol://addr:port. The default is `http://127.0.0.1:4646`.
`protocol://addr:port`. The default is `http://127.0.0.1:4646`.
- `-nomad-region=<region>`: The region of the Nomad servers to connect with.

View File

@ -25,19 +25,19 @@ to have sufficient work throughput to meet service-level agreements (SLA). In
Nomad, horizontal application autoscaling can be achieved by modifying the number
of allocations in a task group based on the value of a relevant metric, such as
CPU and memory utilization or number of open connections. This is enabled by configuring
[autoscaling policies][autoscaling_policy] on individual Nomad jobs using the [scaling block][scaling_block].
[autoscaling policies][autoscaling_policy] on individual Nomad jobs using the [`scaling` block][scaling_block].
## Horizontal Cluster Autoscaling
Horizontal cluster autoscaling is the process of adding or removing Nomad clients from a cluster to ensure there
is an appropriate amount of cluster resource for the scheduled applications.
This is achieved by interacting with remote providers to start or terminate new
Nomad clients based on metrics such as the remaining free schedulable CPU or memory.
Cluster scaling is enabled by configuring the [autoscaler agent][/docs/autoscaling/agent#dir]
Cluster scaling is enabled by configuring the [autoscaler agent](/docs/autoscaling/agent#dir)
with policies targeting the Nomad cluster.
[scaling_block]: /docs/job-specification/scaling
[autoscaling_policy]: /docs/autoscaling/policy
[autoscaler_github]: https://github.com/hashicorp/nomad-autoscaler
[autoscaler_releases]: https://releases.hashicorp.com/nomad-autoscaler/
[autoscaler_dockerhub]: https://hub.docker.com/repository/docker/hashicorp/nomad-autoscaler
[autoscaler_dockerhub]: https://hub.docker.com/r/hashicorp/nomad-autoscaler
[autoscaler_demo]: https://github.com/hashicorp/nomad-autoscaler/tree/master/demo

View File

@ -16,8 +16,8 @@ flexibility of plugins allows the Nomad Autoscaler to be extended to meet specif
business requirements or technology use cases.
The Nomad Autoscaler currently ships with a number of built-in plugins to ease
the learning curve. Details of these can be found below, under the specific
plugin type sections.
the learning curve. Details of these can be found in the side menu, under the
specific plugin type sections.
# General Options
@ -31,7 +31,7 @@ targets.
with that of the agent.
- `nomad_address` `(string: "")` - The address of the Nomad server in the form
of protocol://addr:port.
of `protocol://addr:port`.
- `nomad_region` `(string: "")` - The region of the Nomad servers to connect with.

View File

@ -10,8 +10,8 @@ description: Strategy plugins compare the current state of the system against th
Strategy plugins compare the current state of the system against the desired state
defined by the operator in the scaling policy and generate an action that will
bring the system closer to the desired state. In practical terms, strategies
receive the current count and a metric value for a task group and output what
the new task group count should be.
receive the current count and a metric value for a task group or from servers in a
cluster, and output what the new count should be.
## Target Value Strategy Plugin

View File

@ -44,10 +44,10 @@ check {
```
- `job` `(string: "") ` - The job identifier which contains the task group to
scale as defined within the job specification [job stanza][nomad_job_stanza].
scale as defined within the job specification [`job` stanza][nomad_job_stanza].
- `group` `(string: "")` - The name of the task group to scale as defined in the
job specification [group stanza][nomad_group_stanza].
job specification [`group` stanza][nomad_group_stanza].
## AWS AutoScaling Group Target
@ -147,7 +147,7 @@ check {
[nomad_node_class]: https://www.nomadproject.io/docs/configuration/client#node_class
[nomad_node_drain_deadline]: https://www.nomadproject.io/api-docs/nodes#deadline
[nomad_scaling_stanza]: /docs/job-specification/scaling
[nomad_group_stanza]: docs/job-specification/group#group-stanza
[nomad_group_stanza]: /docs/job-specification/group#group-stanza
[nomad_job_stanza]: /docs/job-specification/job#job-stanza
[aws_region]: https://aws.amazon.com/about-aws/global-infrastructure/regions_az/
[aws_autoscaling]: https://aws.amazon.com/autoscaling/

View File

@ -10,7 +10,7 @@ description: >
# Nomad Autoscaler Scaling Policies
Nomad Autoscaler scaling policies can be configured via the
[task group scaling stanza][jobspec_scaling_stanza] or by configuration
[task group `scaling` stanza][jobspec_scaling_stanza] or by configuration
files stored on disk.
## Top Level Options
@ -28,17 +28,17 @@ files stored on disk.
- `cooldown` - A time interval after a scaling action during which no additional
scaling will be performed on the resource. It should be provided as a duration
(e.g.: "5s", "1m"). If omitted the configuration value
(e.g.: `"5s"`, `"1m"`). If omitted the configuration value
[policy_default_cooldown][policy_default_cooldown_agent] from the agent will
be used.
- `evaluation_interval` - Defines how often the policy is evaluated by the
Autoscaler. It should be provided as a duration (e.g.: "5s", "1m"). If
Autoscaler. It should be provided as a duration (e.g.: `"5s"`, `"1m"`). If
omitted the configuration value [default_evaluation_interval][eval_interval_agent]
from the agent will be used.
- `target` - Defines where the autoscaling target is running. Detailed information
on the configuration options can be found on the [target plugin][target_plugin_docs]
on the configuration options can be found on the [Target Plugins][target_plugin_docs]
page.
- `check` - Specifies one or more checks to be executed when determining if a
@ -51,17 +51,17 @@ files stored on disk.
- `query` - The query to run against the specified APM. Currently this query
should return a single value. Detailed information on the configuration options
can be found on the [apm plugin][apm_plugin_docs] page.
can be found on the [APM Plugins][apm_plugin_docs] page.
- `strategy` - The strategy to use, and it's configuration when calculating the
desired state based on the current count and the metric returned by the APM.
Detailed information on the configuration options can be found on the
[strategy plugin][strategy_plugin_docs] page.
[Strategy Plugins][strategy_plugin_docs] page.
### Example
A full example of a policy document that can be written into the Nomad task group
scaling stanza or via a file within the policy dir can be seen below.
`scaling` stanza or via a file within the `policy_dir` can be seen below.
```hcl
min = 2