mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 17:35:43 +03:00
* Move commands from docs to its own root-level directory * temporarily use modified dev-portal branch with nomad ia changes * explicitly clone nomad ia exp branch * retrigger build, fixed dev-portal broken build * architecture, concepts and get started individual pages * fix get started section destinations * reference section * update repo comment in website-build.sh to show branch * docs nav file update capitalization * update capitalization to force deploy * remove nomad-vs-kubernetes dir; move content to what is nomad pg * job section * Nomad operations category, deploy section * operations category, govern section * operations - manage * operations/scale; concepts scheduling fix * networking * monitor * secure section * remote auth-methods folder and move up pages to sso; linkcheck * Fix install2deploy redirects * fix architecture redirects * Job section: Add missing section index pages * Add section index pages so breadcrumbs build correctly * concepts/index fix front matter indentation * move task driver plugin config to new deploy section * Finish adding full URL to tutorials links in nav * change SSO to Authentication in nav and file system * Docs NomadIA: Move tutorials into NomadIA branch (#26132) * Move governance and policy from tutorials to docs * Move tutorials content to job-declare section * run jobs section * stateful workloads * advanced job scheduling * deploy section * manage section * monitor section * secure/acl and secure/authorization * fix example that contains an unseal key in real format * remove images from sso-vault * secure/traffic * secure/workload-identities * vault-acl change unseal key and root token in command output sample * remove lines from sample output * fix front matter * move nomad pack tutorials to tools * search/replace /nomad/tutorials links * update acl overview with content from deleted architecture/acl * fix spelling mistake * linkcheck - fix broken links * fix link to Nomad variables tutorial * fix link to Prometheus tutorial * move who uses Nomad to use cases page; move spec/config shortcuts add dividers * Move Consul out of Integrations; move namespaces to govern * move integrations/vault to secure/vault; delete integrations * move ref arch to docs; rename Deploy Nomad back to Install Nomad * address feedback * linkcheck fixes * Fixed raw_exec redirect * add info from /nomad/tutorials/manage-jobs/jobs * update page content with newer tutorial * link updates for architecture sub-folders * Add redirects for removed section index pages. Fix links. * fix broken links from linkcheck * Revert to use dev-portal main branch instead of nomadIA branch * build workaround: add intro-nav-data.json with single entry * fix content-check error * add intro directory to get around Vercel build error * workound for emtpry directory * remove mdx from /intro/ to fix content-check and git snafu * Add intro index.mdx so Vercel build should work --------- Co-authored-by: Tu Nguyen <im2nguyen@gmail.com>
90 lines
3.5 KiB
Plaintext
90 lines
3.5 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: migrate block in the job specification
|
|
description: |-
|
|
Define the group's allocation migration strategy in the `migrate` block of the Nomad job specification. The migration strategy is used to control the job's behavior when it is being migrated off
|
|
of a draining node.
|
|
---
|
|
|
|
# `migrate` block in the job specification
|
|
|
|
<Placement
|
|
groups={[
|
|
['job', 'migrate'],
|
|
['job', 'group', 'migrate'],
|
|
]}
|
|
/>
|
|
|
|
The `migrate` block specifies the group's strategy for migrating allocations from
|
|
[draining][drain] nodes. If omitted, a default migration strategy is applied.
|
|
If specified at the job level, the configuration will apply to all groups
|
|
within the job. Only service jobs with a count greater than 1 support migrate
|
|
blocks.
|
|
|
|
Migrating happens when a Nomad node is drained. When a node is lost, Nomad
|
|
[replaces][] the allocations instead and ignores the `migrate` block. When the
|
|
agent fails to set up the allocation or the tasks of an allocation more than
|
|
their [`restart`][] block allows, Nomad [reschedules][] the allocations instead
|
|
and ignores the `migrate` block.
|
|
|
|
|
|
```hcl
|
|
job "docs" {
|
|
migrate {
|
|
max_parallel = 1
|
|
health_check = "checks"
|
|
min_healthy_time = "10s"
|
|
healthy_deadline = "5m"
|
|
}
|
|
}
|
|
```
|
|
|
|
When one or more nodes are draining, only `max_parallel` allocations will be
|
|
stopped at a time. Node draining will not continue until replacement
|
|
allocations have been healthy for their `min_healthy_time` or
|
|
`healthy_deadline` is reached.
|
|
|
|
Note that a node's drain [deadline][deadline] will override the `migrate`
|
|
block for allocations on that node. The `migrate` block is for job authors to
|
|
define how their services should be migrated, while the node drain deadline is
|
|
for system operators to put hard limits on how long a drain may take.
|
|
|
|
See the [Workload Migration Guide](/nomad/docs/manage/migrate-workloads) for details
|
|
on node draining.
|
|
|
|
## Parameters
|
|
|
|
- `max_parallel` `(int: 1)` - Specifies the number of allocations that can be
|
|
migrated at the same time. This number must be less than the total
|
|
[`count`][count] for the group as `count - max_parallel` will be left running
|
|
during migrations.
|
|
|
|
- `health_check` `(string: "checks")` - Specifies the mechanism in which
|
|
allocations health is determined. The potential values are:
|
|
|
|
- "checks" - Specifies that the allocation should be considered healthy when
|
|
all of its tasks are running and their associated [checks][checks] are
|
|
healthy, and unhealthy if any of the tasks fail or not all checks become
|
|
healthy. This is a superset of "task_states" mode.
|
|
|
|
- "task_states" - Specifies that the allocation should be considered healthy when
|
|
all its tasks are running and unhealthy if tasks fail.
|
|
|
|
- `min_healthy_time` `(string: "10s")` - Specifies the minimum time the
|
|
allocation must be in the healthy state before it is marked as healthy and
|
|
unblocks further allocations from being migrated. This is specified using a
|
|
label suffix like "30s" or "15m".
|
|
|
|
- `healthy_deadline` `(string: "5m")` - Specifies the deadline in which the
|
|
allocation must be marked as healthy after which the allocation is
|
|
automatically transitioned to unhealthy. This is specified using a label
|
|
suffix like "2m" or "1h".
|
|
|
|
[checks]: /nomad/docs/job-specification/service#check
|
|
[count]: /nomad/docs/job-specification/group#count
|
|
[drain]: /nomad/commands/node/drain
|
|
[deadline]: /nomad/commands/node/drain#deadline
|
|
[replaces]: /nomad/docs/job-specification/disconnect#replace
|
|
[`restart`]: /nomad/docs/job-specification/restart
|
|
[reschedules]: /nomad/docs/job-specification/reschedule
|