재스케줄링 구성하기
재스케줄링 구성하기 (Configure reschedule)
작업은 때때로 작업을 실행하는 노드의 네트워크, CPU 또는 메모리 문제로 실패할 수 있어요. 이런 상황에서 노마드는 작업을 다른 노드에서 재스케줄링할 수 있어요. reschedule 스탠자는 실패한 작업을 클러스터의 다른 노드에 배치하려는 방식을 노마드가 구성하는 데 사용할 수 있어요. 재스케줄 시도에는 각 시도 사이에 지연이 있으며, 구성 가능한 delay_function에 따라 재스케줄 시도마다 지연이 증가하도록 구성할 수 있어요. 자세한 내용은 reschedule 스탠자 문서를 참고해 주세요.
service 작업은 기본적으로 무제한 재스케줄 시도를 갖도록 구성돼요. 운영자 개입 없이 실패한 작업이 다른 노드에서 자동으로 재시도되도록 reschedule 스탠자를 사용해야 해요.
다음 CLI 예시는 노마드가 재스케줄링하는 작업의 작업 및 할당 상태를 보여줘요. CLI는 재스케줄 시도 수에 제한이 있으면 이전 시도 수를 보여줘요. CLI는 또한 다음 재스케줄이 언제 시도될지도 보여줘요.
$ nomad job status demo
ID = demo
Name = demo
Submit Date = 2018-04-12T15:48:37-05:00
Type = service
Priority = 50
Datacenters = dc1
Status = pending
Periodic = false
Parameterized = false
Summary
Task Group Queued Starting Running Failed Complete Lost
demo 0 0 0 2 0 0
Future Rescheduling Attempts
Task Group Eval ID Eval Time
demo ee3de93f 5s from now
Allocations
ID Node ID Task Group Version Desired Status Created Modified
39d7823d f2c2eaa6 demo 0 run failed 5s ago 5s ago
fafb011b f2c2eaa6 demo 0 run failed 11s ago 10s ago
$ nomad alloc status 3d0b
ID = 3d0bbdb1
Eval ID = 79b846a9
Name = demo.demo[0]
Node ID = 8a184f31
Job ID = demo
Job Version = 0
Client Status = failed
Client Description = <none>
Desired Status = run
Desired Description = <none>
Created = 15s ago
Modified = 15s ago
Reschedule Attempts = 3/5
Reschedule Eligibility = 25s from now
Task "demo" is "dead"
Task Resources
CPU Memory Disk Addresses
100 MHz 300 MiB 300 MiB p1: 127.0.0.1:27646
Task Events:
Started At = 2018-04-12T20:44:25Z
Finished At = 2018-04-12T20:44:25Z
Total Restarts = 0
Last Restart = N/A
Recent Events:
Time Type Description
2018-04-12T15:44:25-05:00 Not Restarting Policy allows no restarts
2018-04-12T15:44:25-05:00 Terminated Exit Code: 127
2018-04-12T15:44:25-05:00 Started Task started by client
2018-04-12T15:44:25-05:00 Task Setup Building Task Directory
2018-04-12T15:44:25-05:00 Received Task received by client
출처: 문서