Nomad
Command: operator scheduler set-config
The scheduler operator set-config command is used to modify the scheduler configuration.
Usage
nomad operator scheduler set-config [options]
If ACLs are enabled, this command requires a token with the operator:write
capability.
General Options
-address=<addr>: The address of the Nomad server. Overrides theNOMAD_ADDRenvironment variable if set. Defaults tohttp://127.0.0.1:4646.-region=<region>: The region of the Nomad server to forward commands to. Overrides theNOMAD_REGIONenvironment variable if set. Defaults to the Agent's local region.-no-color: Disables colored command output. Alternatively,NOMAD_CLI_NO_COLORmay be set. This option takes precedence over-force-color.-force-color: Forces colored command output. This can be used in cases where the usual terminal detection fails. Alternatively,NOMAD_CLI_FORCE_COLORmay be set. This option has no effect if-no-coloris also used.-ca-cert=<path>: Path to a PEM encoded CA cert file to use to verify the Nomad server SSL certificate. Overrides theNOMAD_CACERTenvironment variable if set.-ca-path=<path>: Path to a directory of PEM encoded CA cert files to verify the Nomad server SSL certificate. If both-ca-certand-ca-pathare specified,-ca-certis used. Overrides theNOMAD_CAPATHenvironment variable if set.-client-cert=<path>: Path to a PEM encoded client certificate for TLS authentication to the Nomad server. Must also specify-client-key. Overrides theNOMAD_CLIENT_CERTenvironment variable if set.-client-key=<path>: Path to an unencrypted PEM encoded private key matching the client certificate from-client-cert. Overrides theNOMAD_CLIENT_KEYenvironment variable if set.-tls-server-name=<value>: The server name to use as the SNI host when connecting via TLS. Overrides theNOMAD_TLS_SERVER_NAMEenvironment variable if set.-tls-skip-verify: Do not verify TLS certificate. This is highly not recommended. Verification will also be skipped ifNOMAD_SKIP_VERIFYis set.-token: The SecretID of an ACL token to use to authenticate API requests with. Overrides theNOMAD_TOKENenvironment variable if set.
Set Config Options
-check-index- If set, the scheduler config is only updated if the passed modify index matches the current server side version. If a non-zero value is passed, it ensures that the scheduler config is being updated from a known state.-scheduler-algorithm- Specifies whether scheduler binpacks or spreads allocations on available nodes. Must be one of["binpack"|"spread"].-memory-oversubscription- When true, tasks may exceed their reserved memory limit, if the client has excess memory capacity. Tasks must specifymemory_maxto take advantage of memory oversubscription. Must be one of[true|false].-reject-job-registration- When true, the server will return permission denied errors for job registration, job dispatch, and job scale APIs, unless the ACL token for the request is a management token. If ACLs are disabled, no user will be able to register jobs. This allows operators to shed load from automated processes during incident response. Must be one of[true|false].-pause-eval-broker- When set to true, the eval broker which usually runs on the leader will be disabled. This will prevent the scheduler workers from receiving new work. Must be one of[true|false].-preempt-batch-scheduler- Specifies whether preemption for batch jobs is enabled. Note that if this is set to true, then batch jobs can preempt any other jobs. Must be one of[true|false].-preempt-service-scheduler- Specifies whether preemption for service jobs is enabled. Note that if this is set to true, then service jobs can preempt any other jobs. Must be one of[true|false].-preempt-sysbatch-scheduler- Specifies whether preemption for system batch jobs is enabled. Note that if this is set to true, then system batch jobs can preempt any other jobs. Must be one of[true|false].-preempt-system-scheduler- Specifies whether preemption for system jobs is enabled. Note that if this is set to true, then system jobs can preempt any other jobs. Must be one of[true|false].
Examples
Modify the scheduler algorithm to spread:
$ nomad operator scheduler set-config -scheduler-algorithm=spread
Scheduler configuration updated!
Modify the scheduler algorithm to spread using the check index flag:
$ nomad operator scheduler set-config -scheduler-algorithm=spread -check-index=5
Scheduler configuration updated!