เชเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เช เชเซเชฌเชฐเชจเซเชเซเชธเชจเซเช เชเช เช เชญเชฟเชจเซเชจ เชเชเช เชเซ, เชเซ เชจเชฟเชฐเซเชฆเชฟเชทเซเช เชจเซเชคเชฟเช เช เชจเซเชธเชพเชฐ เชธเชฎเชเซเชฐ เชจเซเชกเซเชธเชฎเชพเช เชชเซเชกเซเชธ เชถเซเชกเซเชฏเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชเซ. เชเชฃเซเชตเชพเชฐ, เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชจเซ เชเชพเชฎเชเซเชฐเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชเชชเชฃเซ เชชเซเชกเซเชธ เชถเซเชกเซเชฏเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชจเซเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชตเชฟเชถเซ เชตเชฟเชเชพเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชจเซเชคเชฟเชเชจเซ เชธเชฎเซเชน เชฎเซเชเชพเชญเชพเชเชจเชพ เชฐเซเชเชฟเชเชฆเชพ เชเชพเชฐเซเชฏเซ เชฎเชพเชเซ เชฏเซเชเซเชฏ เชเซ. เชเซ เชเซ, เชเชตเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช เชเซ เชเซเชฏเชพเชฐเซ เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชถเซเชเชเซ เชซเชพเชณเชตเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชซเชพเชเชจ-เชเซเชฏเซเชจ เชเชฐเชตเซ เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ, เช เชจเซ เช เชเชพเชฐเซเชฏเชจเซ เชชเซเชฐเซเชฃ เชเชฐเชตเชพเชจเซ เชฌเซ เชฐเซเชคเซ เชเซ:
- เชจเชฟเชฏเชฎเซเชจเชพ เชเชธเซเชเชฎ เชธเซเช เชธเชพเชฅเซ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฌเชจเชพเชตเซ
- เชคเชฎเชพเชฐเซเช เชชเซเชคเชพเชจเซเช เชถเซเชกเซเชฏเซเชฒเชฐ เชฒเชเซ เช เชจเซ เชคเซเชจเซ API เชธเชฐเซเชตเชฐ เชตเชฟเชจเชเชคเซเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชถเซเชเชตเซ
เช เชฒเซเชเชฎเชพเช, เชนเซเช เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเชเชจเชพ เชเช เชชเชฐ เชนเชฐเซเชฅเชจเชพ เช เชธเชฎเชพเชจ เชถเซเชกเซเชฏเซเชฒเชจเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซเชจเชพ เชชเซเชฐเชฅเชฎ เชฎเซเชฆเซเชฆเชพเชจเชพ เช เชฎเชฒเซเชเชฐเชฃเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซเชถ.
เชเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซเชจเซ เชธเชเชเซเชทเชฟเชชเซเชค เชชเชฐเชฟเชเชฏ
เชเชพเชธ เชเชฐเซเชจเซ เช เชนเชเซเชเชคเชจเซ เชจเซเชเชง เชฒเซเชตเซ เชฏเซเชเซเชฏ เชเซ เชเซ เชเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชชเซเชกเชจเซ เชธเซเชงเชพ เชถเซเชกเซเชฏเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชจเชฅเซ - เชคเซ เชซเชเซเชค เชคเซ เชจเซเชก เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชเซ เชเซ เชเซเชจเชพ เชชเชฐ เชชเซเชก เชฎเซเชเชตเซ. เชฌเซเชเชพ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเชพ เชเชพเชฐเซเชฏเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เช เชจเซเชกเชจเซเช เชจเชพเชฎ เชเซ, เชเซ เชคเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชตเชฟเชจเชเชคเซ เชฎเชพเชเซ API เชธเชฐเซเชตเชฐ เชชเชฐ เชชเชพเชเซเช เชเชชเซ เชเซ, เช เชจเซ เชคเซเชฏเชพเช เช เชคเซเชจเซเช เชเชพเชฐเซเชฏ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชเซ.
เชธเซเชชเซเชฐเชฅเชฎ, เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชจเซเชกเซเชธเชจเซ เชธเซเชเชฟเชจเซเช เชธเชเชเชฒเชจ เชเชฐเซ เชเซ เชเซเชจเชพ เชชเชฐ เชชเซเชกเชจเซ เช
เชจเซเชฎเชพเชจเชฟเชค เชจเซเชคเชฟเช เช
เชจเซเชธเชพเชฐ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชเชเชณ, เช เชธเซเชเชฟเชฎเชพเชเชฅเซ เชฆเชฐเซเช เชจเซเชก เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชจเซเชคเชฟเช เช
เชจเซเชธเชพเชฐ เชเซเชเซเชเชธ เชธเชเชเซเชฏเชพเชฎเชพเช เชชเซเชเชจเซเช เชฎเซเชณเชตเซ เชเซ. เชชเชฐเชฟเชฃเชพเชฎเซ, เชชเซเชเชจเซเชเชจเซ เชฎเชนเชคเซเชคเชฎ เชธเชเชเซเชฏเชพ เชธเชพเชฅเซ เชจเซเชก เชชเชธเชเชฆ เชฅเชฏเซเชฒ เชเซ. เชเซ เชคเซเชฏเชพเช เชธเชฎเชพเชจ เชฎเชนเชคเซเชคเชฎ เชธเซเชเซเชฐ เชงเชฐเชพเชตเชคเชพ เชจเซเชกเซเชธ เชนเซเชฏ, เชคเซ เชฐเซเชจเซเชกเชฎ เชเช เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชเชพเชนเซเช (เชซเชฟเชฒเซเชเชฐเชฟเชเช) เช
เชจเซ เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเช (เชธเซเชเซเชฐเชฟเชเช) เชจเซเชคเชฟเชเชจเซ เชธเซเชเชฟ เช
เชจเซ เชตเชฐเซเชฃเชจ เชเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ
เชธเชฎเชธเซเชฏเชพ เชถเชฐเซเชฐเชจเซเช เชตเชฐเซเชฃเชจ
Nixys เชเชพเชคเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชตเชฟเชตเชฟเชง Kubernetes เชเซเชฒเชธเซเชเชฐเซ เชเชพเชณเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเซเชตเชพ เชเชคเชพเช, เช เชฎเชจเซ เชธเซเชชเซเชฐเชฅเชฎ เชคเชพเชเซเชคเชฐเชฎเชพเช เช เชชเซเชกเซเชธ เชถเซเชกเซเชฏเซเชฒ เชเชฐเชตเชพเชจเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเซ เชชเชกเซเชฏเซ เชนเชคเซ, เชเซเชฏเชพเชฐเซ เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเชเซเชธเชฎเชพเชเชฅเซ เชเชเชจเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชธเชพเชฎเชฏเชฟเช เชเชพเชฐเซเชฏเซ (~100 CronJob เชเชจเซเชเชฟเชเซ) เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชนเชคเซ. เชธเชฎเชธเซเชฏเชพเชจเชพ เชตเชฐเซเชฃเชจเชจเซ เชถเชเซเชฏ เชคเซเชเชฒเซเช เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชเช เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธ เชฒเชเชถเซเช, เชเซเชจเซ เช เชเชฆเชฐ เชเช เชฎเชฟเชจเชฟเชเชฎเชพเช เชเช เชตเชเชค เชเซเชฐเซเชจ เชเชพเชฐเซเชฏ เชถเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ CPU เชชเชฐ เชฅเซเชกเซ เชญเชพเชฐ เชฌเชจเชพเชตเซ เชเซ. เชเซเชฐเซเชจ เชเชพเชธเซเชเชจเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เชเชเชฆเชฎ เชธเชฎเชพเชจ เชฒเชพเชเซเชทเชฃเชฟเชเชคเชพเชเชตเชพเชณเชพ เชคเซเชฐเชฃ เชจเซเชกเซเชธ เชซเชพเชณเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ (เชฆเชฐเซเช เชชเชฐ 24 vCPU).
เชคเซ เช เชธเชฎเชฏเซ, เชเซเชฐเซเชจเชเซเชฌเชจเซ เชเชเซเชเซเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเซเชเชฒเซ เชธเชฎเชฏ เชฒเชพเชเชถเซ เชคเซ เชเซเชเซเชเชธเชคเชพ เชธเชพเชฅเซ เชเชนเซเชตเซเช เช เชถเชเซเชฏ เชเซ, เชเชพเชฐเชฃ เชเซ เชเชจเชชเซเช เชกเซเชเชพเชจเซเช เชชเซเชฐเชฎเชพเชฃ เชธเชคเชค เชฌเชฆเชฒเชพเชคเซเช เชฐเชนเซ เชเซ. เชธเชฐเซเชฐเชพเชถ, เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชเชพเชฎเชเซเชฐเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชฆเชฐเซเช เชจเซเชก 3-4 เชเซเชฌ เชเชจเซเชธเซเชเชจเซเชธ เชเชฒเชพเชตเซ เชเซ, เชเซ เชฆเชฐเซเช เชจเซเชกเชจเชพ CPU เชชเชฐ ~20-30% เชฒเซเชก เชฌเชจเชพเชตเซ เชเซ:
เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เชเซเชเชฒเซเชเชตเชพเชฐ เชเซเชฐเซเชจ เชเชพเชธเซเช เชชเซเชกเซเชธ เชคเซเชฐเชฃ เชเชพเชเช เซเชฎเชพเชเชฅเซ เชเช เชชเชฐ เชธเซเชจเชฟเชถเซเชเชฟเชค เชฅเชตเชพเชจเซเช เชฌเชเชง เชเชฐเซ เชเซ. เชเชเชฒเซ เชเซ, เช เชฎเซเช เชธเชฎเชฏเซ, เชเช เชจเซเชก เชฎเชพเชเซ เชเช เชชเชฃ เชชเซเชกเชจเซเช เชเชฏเซเชเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชจ เชนเชคเซเช, เชเซเชฏเชพเชฐเซ เช เชจเซเชฏ เชฌเซ เชจเซเชกเซเชธ เชชเชฐ เชเชพเชฐเซเชฏเชจเซ 6-8 เชจเชเชฒเซ เชเชพเชฒเซ เชฐเชนเซ เชนเชคเซ, เชเซ CPU เชฒเซเชกเชจเชพ ~40-60% เชฌเชจเชพเชตเซ เชเซ:
เชธเชฎเชธเซเชฏเชพ เชเชเชฆเชฎ เช เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชเชตเชฐเซเชคเชจ เชธเชพเชฅเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฅเชพเชฏ เชเซ เช เชจเซ เชเซเชกเชจเชพ เชจเชตเชพ เชธเชเชธเซเชเชฐเชฃเชจเซ เชฐเซเชฒเชเชเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซ เชเซเชทเชฃ เชธเชพเชฅเซ เชชเซเชฐเชธเชเชเซเชชเชพเชค เชธเชนเชธเชเชฌเชเชงเชฟเชค เชฅเชพเชฏ เชเซ.
เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฒเซเชเชฟเชเช เชธเซเชคเชฐเชจเซ เชธเซเชคเชฐ 10 (-v=10) เชธเซเชงเซ เชตเชงเชพเชฐเซเชจเซ, เช เชฎเซ เชฎเซเชฒเซเชฏเชพเชเชเชจ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฆเชฐเซเช เชจเซเชกเชจเซ เชเซเชเชฒเชพ เชชเซเชเชจเซเช เชฎเซเชณเชตเซเชฏเชพ เชคเซ เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเชฏเซเช. เชธเชพเชฎเชพเชจเซเชฏ เชเชฏเซเชเชจ เชเชพเชฎเชเซเชฐเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชจเซเชเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชฒเซเชเชฎเชพเช เชเซเช เชถเชเชพเชฏ เชเซ:
resource_allocation.go:78] cronjob-1574828880-mn7m4 -> Node03: BalancedResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1387 millicores 4161694720 memory bytes, score 9
resource_allocation.go:78] cronjob-1574828880-mn7m4 -> Node02: BalancedResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1347 millicores 4444810240 memory bytes, score 9
resource_allocation.go:78] cronjob-1574828880-mn7m4 -> Node03: LeastResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1387 millicores 4161694720 memory bytes, score 9
resource_allocation.go:78] cronjob-1574828880-mn7m4 -> Node01: BalancedResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1687 millicores 4790840320 memory bytes, score 9
resource_allocation.go:78] cronjob-1574828880-mn7m4 -> Node02: LeastResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1347 millicores 4444810240 memory bytes, score 9
resource_allocation.go:78] cronjob-1574828880-mn7m4 -> Node01: LeastResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1687 millicores 4790840320 memory bytes, score 9
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node01: NodeAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node02: NodeAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node03: NodeAffinityPriority, Score: (0)
interpod_affinity.go:237] cronjob-1574828880-mn7m4 -> Node01: InterPodAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node01: TaintTolerationPriority, Score: (10)
interpod_affinity.go:237] cronjob-1574828880-mn7m4 -> Node02: InterPodAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node02: TaintTolerationPriority, Score: (10)
selector_spreading.go:146] cronjob-1574828880-mn7m4 -> Node01: SelectorSpreadPriority, Score: (10)
interpod_affinity.go:237] cronjob-1574828880-mn7m4 -> Node03: InterPodAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node03: TaintTolerationPriority, Score: (10)
selector_spreading.go:146] cronjob-1574828880-mn7m4 -> Node02: SelectorSpreadPriority, Score: (10)
selector_spreading.go:146] cronjob-1574828880-mn7m4 -> Node03: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node01: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node02: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574828880-mn7m4_project-stage -> Node03: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:781] Host Node01 => Score 100043
generic_scheduler.go:781] Host Node02 => Score 100043
generic_scheduler.go:781] Host Node03 => Score 100043
เชคเซ. เชฒเซเชเชฎเชพเชเชฅเซ เชฎเซเชณเชตเซเชฒเซ เชฎเชพเชนเชฟเชคเซเชจเซ เชเชงเชพเชฐเซ, เชฆเชฐเซเช เชจเซเชกเซเชธเซ เชธเชฎเชพเชจ เชธเชเชเซเชฏเชพเชฎเชพเช เช เชเชคเชฟเชฎ เชชเซเชเชจเซเช เชฎเซเชณเชตเซเชฏเชพ เชนเชคเชพ เช เชจเซ เชเชฏเซเชเชจ เชฎเชพเชเซ เชฐเซเชจเซเชกเชฎ เชเช เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. เชธเชฎเชธเซเชฏเชพเชฐเซเชช เชเชฏเซเชเชจ เชธเชฎเชฏเซ, เชฒเซเช เชเชจเชพ เชเซเชตเชพ เชฆเซเชเชพเชคเชพ เชนเชคเชพ:
resource_allocation.go:78] cronjob-1574211360-bzfkr -> Node02: BalancedResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1587 millicores 4581125120 memory bytes, score 9
resource_allocation.go:78] cronjob-1574211360-bzfkr -> Node03: BalancedResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1087 millicores 3532549120 memory bytes, score 9
resource_allocation.go:78] cronjob-1574211360-bzfkr -> Node02: LeastResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1587 millicores 4581125120 memory bytes, score 9
resource_allocation.go:78] cronjob-1574211360-bzfkr -> Node01: BalancedResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 987 millicores 3322833920 memory bytes, score 9
resource_allocation.go:78] cronjob-1574211360-bzfkr -> Node01: LeastResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 987 millicores 3322833920 memory bytes, score 9
resource_allocation.go:78] cronjob-1574211360-bzfkr -> Node03: LeastResourceAllocation, capacity 23900 millicores 67167186944 memory bytes, total request 1087 millicores 3532549120 memory bytes, score 9
interpod_affinity.go:237] cronjob-1574211360-bzfkr -> Node03: InterPodAffinityPriority, Score: (0)
interpod_affinity.go:237] cronjob-1574211360-bzfkr -> Node02: InterPodAffinityPriority, Score: (0)
interpod_affinity.go:237] cronjob-1574211360-bzfkr -> Node01: InterPodAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node03: TaintTolerationPriority, Score: (10)
selector_spreading.go:146] cronjob-1574211360-bzfkr -> Node03: SelectorSpreadPriority, Score: (10)
selector_spreading.go:146] cronjob-1574211360-bzfkr -> Node02: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node02: TaintTolerationPriority, Score: (10)
selector_spreading.go:146] cronjob-1574211360-bzfkr -> Node01: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node03: NodeAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node03: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node02: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node01: TaintTolerationPriority, Score: (10)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node02: NodeAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node01: NodeAffinityPriority, Score: (0)
generic_scheduler.go:726] cronjob-1574211360-bzfkr_project-stage -> Node01: SelectorSpreadPriority, Score: (10)
generic_scheduler.go:781] Host Node03 => Score 100041
generic_scheduler.go:781] Host Node02 => Score 100041
generic_scheduler.go:781] Host Node01 => Score 100038
เชเซเชฎเชพเชเชฅเซ เชคเซ เชเซเช เชถเชเชพเชฏ เชเซ เชเซ เชเช เชจเซเชกเซเชธเซ เช เชจเซเชฏ เชเชฐเชคเชพ เชเชเชพ เชซเชพเชเชจเชฒ เชชเซเชเชจเซเชเซเชธ เชฎเซเชณเชตเซเชฏเชพ เชนเชคเชพ, เช เชจเซ เชคเซเชฅเซ เชเชฏเซเชเชจ เชซเชเซเชค เชฌเซ เชจเซเชกเซเชธ เชฎเชพเชเซ เช เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช เชเซเชฃเซ เชฎเชนเชคเซเชคเชฎ เชธเซเชเซเชฐ เชฎเซเชณเชตเซเชฏเซ เชนเชคเซ. เชเชฎ, เช เชฎเชจเซ เชเซเชเซเชเชธเชชเชฃเซ เชเชพเชคเชฐเซ เชฅเช เชเซ เชธเชฎเชธเซเชฏเชพ เชถเซเชเชเซเชจเชพ เชธเชฎเชฏเชชเชคเซเชฐเชเชฎเชพเช เชเซเชเซเชเชธเชชเชฃเซ เชฐเชนเซเชฒเซ เชเซ.
เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชเชเชณเชจเซเช เช เชฒเซเชเซเชฐเชฟเชงเชฎ เช เชฎเชจเซ เชธเซเชชเชทเซเช เชนเชคเซเช - เชฒเซเชเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ, เชธเชฎเชเซ เชเซ เชจเซเชกเซ เชเช เชชเซเชฐเชพเชงเชพเชจเซเชฏเชคเชพเชฅเซ เชชเซเชเชจเซเช เชฌเชจเชพเชตเซเชฏเชพ เชจเชฅเซ เช เชจเซ, เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ, เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชจเซเชคเชฟเชเชจเซ เชธเชฎเชพเชฏเซเชเชฟเชค เชเชฐเซ. เชเซ เชเซ, เช เชนเซเช เชเชชเชฃเซ เชฌเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฎเซเชถเซเชเซเชฒเซเชเชจเซ เชธเชพเชฎเชจเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช:
- เชฎเชนเชคเซเชคเชฎ เชฒเซเชเซเชเช เชธเซเชคเชฐ (10) เชชเชฐ, เชฎเชพเชคเซเชฐ เชเซเชเชฒเซเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเช เชฎเชพเชเซ เชฎเซเชณเชตเซเชฒ เชชเซเชเชจเซเช เชชเซเชฐเชคเชฟเชฌเชฟเชเชฌเชฟเชค เชฅเชพเชฏ เชเซ. เชฒเซเชเชจเชพ เชเชชเชฐเซเชเซเชค เช
เชตเชคเชฐเชฃเชฎเชพเช, เชคเชฎเซ เชเซเช เชถเชเซ เชเซ เชเซ เชฒเซเชเชฎเชพเช เชชเซเชฐเชคเชฟเชฌเชฟเชเชฌเชฟเชค เชคเชฎเชพเชฎ เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเช เชฎเชพเชเซ, เชจเซเชกเซเชธ เชธเชพเชฎเชพเชจเซเชฏ เช
เชจเซ เชธเชฎเชธเซเชฏเชพ เชถเซเชกเซเชฏเซเชฒเชฟเชเชเชฎเชพเช เชธเชฎเชพเชจ เชธเชเชเซเชฏเชพเชฎเชพเช เชชเซเชเชจเซเช เชฎเซเชณเชตเซ เชเซ, เชชเชฐเชเชคเซ เชธเชฎเชธเซเชฏเชพเชจเชพ เชเชฏเซเชเชจเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เช
เชเชคเชฟเชฎ เชชเชฐเชฟเชฃเชพเชฎ เช
เชฒเช เชเซ. เชเชฎ, เช
เชฎเซ เชจเชฟเชทเซเชเชฐเซเชท เชชเชฐ เชเชตเซ เชถเชเซเช เชเซเช เชเซ เชเซเชเชฒเซเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเช เชฎเชพเชเซ, เชธเซเชเซเชฐเชฟเชเช "เชชเชกเชฆเชพ เชชเชพเชเชณ" เชฅเชพเชฏ เชเซ, เช
เชจเซ เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เช เชธเชฎเชเชตเชพเชจเซ เชเซเช เชฐเชธเซเชคเซ เชจเชฅเซ เชเซ เชเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชฎเชพเชเซ เชจเซเชกเชจเซ เชชเซเชเชจเซเช เชฎเชณเซเชฏเชพ เชจเชฅเซ. เช
เชฎเซ เช เชธเชฎเชธเซเชฏเชพเชจเซเช เชตเชฟเชเชคเชตเชพเชฐ เชตเชฐเซเชฃเชจ เชเชฐเซเชฏเซเช เชเซ
เชฎเซเชฆเซเชฆเซ Github เชชเชฐ Kubernetes เชญเชเชกเชพเชฐ. เชฒเชเชตเชพเชจเชพ เชธเชฎเชฏเซ, เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชคเชฐเชซเชฅเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชณเซเชฏเซ เชเซ เชเซเชฌเชฐเชจเซเชเซเชธ v1.15,1.16, 1.17 เช เชจเซ XNUMX เช เชชเชกเซเชเซเชธเชฎเชพเช เชฒเซเชเซเชเช เชธเชชเซเชฐเซเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. - เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชนเชพเชฒเชฎเชพเช เชเชฏเชพ เชเซเชเซเชเชธ เชจเซเชคเชฟเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ เชคเซ เชธเชฎเชเชตเชพเชจเซ เชเซเช เชธเชฐเชณ เชฐเชธเซเชคเซ เชจเชฅเซ. เชนเชพ, เชฎเชพเช
เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เช เชธเซเชเชฟ เชธเซเชเชฟเชฌเชฆเซเชง เชเซ, เชชเชฐเชเชคเซ เชคเซเชฎเชพเช เชฆเชฐเซเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชจเซเชคเชฟเช เชฎเชพเชเซ เชเชฏเชพ เชเซเชเซเชเชธ เชตเชเชจ เชธเซเชเชชเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ เชคเซ เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชถเชพเชฎเซเชฒ เชจเชฅเซ. เชคเชฎเซ เชตเชเชจ เชเซเช เชถเชเซ เชเซ เช เชฅเชตเชพ เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชชเซเชฒเชฟเชธเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซ เชถเชเซ เชเซเชธเซเชคเซเชฐเซเชค เชเซเชกเซเชธ .
เช เชจเซเชเชงเชตเซเช เชฏเซเชเซเชฏ เชเซ เชเซ เชเชเชตเชพเชฐ เช เชฎเซ เชฐเซเชเซเชฐเซเชก เชเชฐเซ เชถเชเซเชฏเชพ เชเซ เชจเซเชกเชจเซ ImageLocalityPriority เชจเซเชคเชฟ เช เชจเซเชธเชพเชฐ เชชเซเชเชจเซเช เชฎเชณเซเชฏเชพ เชจเชฅเซ, เชเซ เชจเซเชกเชจเซ เชชเซเชเชจเซเช เชเชชเซ เชเซ เชเซ เชคเซเชจเซ เชชเชพเชธเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเชฎเซเช เชนเซเชฏ โโเชคเซ. เชเชเชฒเซ เชเซ, เชเชชเซเชฒเซเชเซเชถเชจเชจเซเช เชจเชตเซเช เชตเชฐเซเชเชจ เชฐเซเชฒเชเชเช เชฅเชฏเซเช เชคเซ เชธเชฎเชฏเซ, เชเซเชฐเซเชจ เชเชพเชธเซเช เชฌเซ เชจเซเชกเซเชธ เชชเชฐ เชเชพเชฒเชตเชพ เชฎเชพเชเซ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชนเชคเซเช, เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซเชฎเชพเชเชฅเซ เชคเซเชฎเชจเซ เชเช เชจเชตเซ เชเชฎเซเช เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ, เช เชจเซ เชเชฎ เชฌเซ เชจเซเชกเซเชธเชจเซ เชคเซเชฐเซเชเชพเชจเซ เชคเซเชฒเชจเชพเชฎเชพเช เชเชเซเช เช เชเชคเชฟเชฎ เชธเซเชเซเชฐ เชฎเชณเซเชฏเซ เชนเชคเซ. .
เชเซเชฎ เชฎเซเช เชเชชเชฐ เชฒเชเซเชฏเซเช เชเซ เชคเซเชฎ, เชฒเซเชเชฎเชพเช เช เชฎเชจเซ ImageLocalityPriority เชจเซเชคเชฟเชจเชพ เชฎเซเชฒเซเชฏเชพเชเชเชจ เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชฆเซเชเชพเชคเซ เชจเชฅเซ, เชคเซเชฅเซ เช เชฎเชพเชฐเซ เชงเชพเชฐเชฃเชพเชจเซ เชเชเชพเชธเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชจเชตเชพ เชธเชเชธเซเชเชฐเชฃ เชธเชพเชฅเซเชจเซ เชเชฌเซเชจเซ เชคเซเชฐเซเชเชพ เชจเซเชก เชชเชฐ เชซเซเชเชเซ เชฆเซเชงเซ เชเซ, เชเซ เชชเชเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ. . เชคเซ เชเซเชเซเชเชธ เชฐเซเชคเซ ImageLocalityPriority เชจเซเชคเชฟเชจเซ เชเชพเชฐเชฃเซ เชนเชคเซเช เชเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชธเชฎเชธเซเชฏเชพ เชเซเชฌ เช เชญเชพเชเซเชฏเซ เช เชเซเชตเชพ เชฎเชณเซ เชนเชคเซ; เชตเชงเซ เชตเชเชค เชคเซ เชเชเชเช เช เชจเซเชฏ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒเซ เชนเชคเซ. เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเชเชจเซ เชธเซเชเชฟเชฎเชพเช เช เชฎเซ เชฆเชฐเซเช เชจเซเชคเชฟเชเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชกเชฟเชฌเช เชเชฐเซ เชถเชเซเชฏเชพ เชจ เชนเซเชตเชพเชจเซ เชเชพเชฐเชฃเซ, เช เชฎเชจเซ เชชเซเชก เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชจเซเชคเชฟเชเชจเชพ เชฒเชตเชเซเช เชธเชเชเชพเชฒเชจเชจเซ เชเชฐเซเชฐ เชนเชคเซ.
เชธเชฎเชธเซเชฏเชพเชจเซ เชฐเชเชจเชพ
เช เชฎเซ เชเชเซเชเซเช เชเซเช เชเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒ เชถเชเซเชฏ เชคเซเชเชฒเซ เชเซเชเซเชเชธ เชนเซเชตเซ เชเซเชเช, เชเชเชฒเซ เชเซ, เชเซเชฌเชฐเชจเซเชเซเชธเชจเซ เชฎเซเชเซเชฏ เชธเชเชธเซเชฅเชพเช (เช เชนเซเช เช เชฎเชพเชฐเซ เชฎเชคเชฒเชฌ เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ) เชฏเชฅเชพเชตเชค เชฐเชนเซเชตเซ เชเซเชเช. เช เชฎเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเช เชเชเซเชฏเชพเช เชนเชฒ เชเชฐเซเชจเซ เชฌเซเชเซ เชเชเซเชฏเชพเช เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเชคเชพ เชจ เชนเชคเชพ. เชเชฎ, เช เชฎเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซเชจเชพ เชฌเซ เชตเชฟเชเชฒเซเชชเซ เชชเชฐ เชเชตเซเชฏเชพ, เชเซเชจเซ เชเชพเชนเซเชฐเชพเชค เชฒเซเชเชจเซ เชชเซเชฐเชธเซเชคเชพเชตเชจเชพเชฎเชพเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ - เชเช เชตเชงเชพเชฐเชพเชจเซเช เชถเซเชกเซเชฏเซเชฒเชฐ เชฌเชจเชพเชตเชตเซเช เช เชฅเชตเชพ เชคเชฎเชพเชฐเซเช เชชเซเชคเชพเชจเซเช เชฒเชเชตเซเช. เชเซเชฐเซเชจ เชเชพเชฐเซเชฏเซเชจเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชฎเซเชเซเชฏ เชเชตเชถเซเชฏเชเชคเชพ เช เชเซ เชเซ เชญเชพเชฐเชจเซ เชคเซเชฐเชฃ เชเชพเชเช เซเชฎเชพเช เชธเชฎเชพเชจเชฐเซเชชเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเชตเซ. เช เชเชฐเซเชฐเชฟเชฏเชพเชค เชนเชพเชฒเชจเซ เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชจเซเชคเชฟเช เชฆเซเชตเชพเชฐเชพ เชธเชเชคเซเชทเซ เชถเชเชพเชฏ เชเซ, เชคเซเชฅเซ เช เชฎเชพเชฐเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเชพ เชชเซเชคเชพเชจเชพ เชถเซเชกเซเชฏเซเชฒเชฐ เชฒเชเชตเชพเชจเซ เชเซเช เช เชฐเซเชฅ เชจเชฅเซ.
เชตเชงเชพเชฐเชพเชจเชพ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฌเชจเชพเชตเชตเชพ เช
เชจเซ เชเชฎเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชธเซเชเชจเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ
- เชธเซเชตเชพเชจเซ เชคเชฎเชพเชฎ เชเซเชฒเชธเซเชเชฐ เชฎเชพเชธเซเชเชฐเซเชธ เชชเชฐ เชธเซเชเซเชเชฟเช เชชเซเชก เชคเชฐเซเชเซ เชเชฎเชพเชตเชตเซ เชเชตเชถเซเชฏเช เชเซ
- เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชธเชพเชฅเซ เชธเชเซเชฐเชฟเชฏ เชชเซเชก เช เชจเซเชชเชฒเชฌเซเชง เชนเซเชฏ เชคเซเชตเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชเชพเชฎเซ เชธเชนเชฟเชทเซเชฃเซเชคเชพ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ
- เชเชฏเซเชเชจ เชเชฐเชคเซ เชตเชเชคเซ เชฎเซเชเซเชฏ เช เชเซเชฐเชคเชพ เชจเซเชก เชชเชฐ เชเชชเชฒเชฌเซเชง เชธเชเชธเชพเชงเชจเซเชจเซ เชธเชเชเซเชฏเชพ เชนเซเชตเซ เชเซเชเช (LeastRequestedPriority)
เช เชฎเชฒเซเชเชฐเชฃ เชเชเซเชฒเซ
เชคเซ เชคเชฐเชค เช เชจเซเชเชงเชตเซเช เชฏเซเชเซเชฏ เชเซ เชเซ เช เชฎเซ เชเซเชฌเชฐเชจเซเชเซเชธ v1.14.7 เชฎเชพเช เชคเชฎเชพเชฎ เชเชพเชฐเซเชฏ เชนเชพเชฅ เชงเชฐเซเชถเซเช, เชเชพเชฐเชฃ เชเซ เช เชคเซ เชธเชเชธเซเชเชฐเชฃ เชเซ เชเซเชจเซ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเช เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. เชเชพเชฒเซ เชเชชเชฃเชพ เชจเชตเชพ เชเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฎเชพเชเซ เชฎเซเชจเชฟเชซเซเชธเซเชเซ เชฒเชเซเชจเซ เชถเชฐเซเชเชค เชเชฐเซเช. เชเชพเชฒเซ เชฎเซเชณเชญเซเชค เชฎเซเชจเชฟเชซเซเชธเซเช (/etc/kubernetes/manifests/kube-scheduler.yaml) เชจเซ เชเชงเชพเชฐ เชคเชฐเซเชเซ เชฒเชเช เช เชจเซ เชคเซเชจเซ เชจเซเชเซเชจเชพ เชซเซเชฐเซเชฎเชฎเชพเช เชฒเชพเชตเซเช:
kind: Pod
metadata:
labels:
component: scheduler
tier: control-plane
name: kube-scheduler-cron
namespace: kube-system
spec:
containers:
- command:
- /usr/local/bin/kube-scheduler
- --address=0.0.0.0
- --port=10151
- --secure-port=10159
- --config=/etc/kubernetes/scheduler-custom.conf
- --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
- --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
- --v=2
image: gcr.io/google-containers/kube-scheduler:v1.14.7
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
httpGet:
host: 127.0.0.1
path: /healthz
port: 10151
scheme: HTTP
initialDelaySeconds: 15
timeoutSeconds: 15
name: kube-scheduler-cron-container
resources:
requests:
cpu: '0.1'
volumeMounts:
- mountPath: /etc/kubernetes/scheduler.conf
name: kube-config
readOnly: true
- mountPath: /etc/localtime
name: localtime
readOnly: true
- mountPath: /etc/kubernetes/scheduler-custom.conf
name: scheduler-config
readOnly: true
- mountPath: /etc/kubernetes/scheduler-custom-policy-config.json
name: policy-config
readOnly: true
hostNetwork: true
priorityClassName: system-cluster-critical
volumes:
- hostPath:
path: /etc/kubernetes/scheduler.conf
type: FileOrCreate
name: kube-config
- hostPath:
path: /etc/localtime
name: localtime
- hostPath:
path: /etc/kubernetes/scheduler-custom.conf
type: FileOrCreate
name: scheduler-config
- hostPath:
path: /etc/kubernetes/scheduler-custom-policy-config.json
type: FileOrCreate
name: policy-config
เชฎเซเชเซเชฏ เชซเซเชฐเชซเชพเชฐเซ เชตเชฟเชถเซ เชธเชเชเซเชทเชฟเชชเซเชคเชฎเชพเช:
- เชชเซเชก เช เชจเซ เชเชจเซเชเซเชจเชฐเชจเซเช เชจเชพเชฎ เชฌเชฆเชฒเซเชจเซ kube-scheduler-cron เชเชฐเซเชฏเซเช
- เชชเซเชฐเซเช 10151 เช
เชจเซ 10159 เชจเซ เชเชชเชฏเซเช เชธเซเชชเชทเซเช เชเชฐเซเชฏเซ เชเชพเชฐเชฃ เชเซ เชตเชฟเชเชฒเซเชช เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ
hostNetwork: true
เช เชจเซ เช เชฎเซ เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ (10251 เช เชจเซ 10259) เชเซเชตเชพ เช เชชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ - --config เชชเชฐเชฟเชฎเชพเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซเชฏเซ เชเซ เชเซเชจเซ เชธเชพเชฅเซ เชธเซเชตเชพ เชถเชฐเซ เชฅเชตเซ เชเซเชเช
- เชนเซเชธเซเช เชคเชฐเชซเชฅเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ (scheduler-custom.conf) เช เชจเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒ (scheduler-custom-policy-config.json) เชจเซเช เชเซเช เชตเซเชฒเซเช เชฎเชพเชเชจเซเชเชฟเชเช
เชญเซเชฒเชถเซ เชจเชนเซเช เชเซ เช เชฎเชพเชฐเชพ เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชกเชฟเชซเซเชฒเซเชเชจเชพ เชธเชฎเชพเชจ เช เชงเชฟเชเชพเชฐเซเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชคเซเชจเซ เชเซเชฒเชธเซเชเชฐ เชญเซเชฎเชฟเชเชพ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซ:
kubectl edit clusterrole system:kube-scheduler
...
resourceNames:
- kube-scheduler
- kube-scheduler-cron
...
เชนเชตเซ เชเชพเชฒเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เช เชจเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒเชฎเชพเช เชถเซเช เชธเชฎเชพเชฏเซเชฒ เชนเซเชตเซเช เชเซเชเช เชคเซ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเช:
- เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ (scheduler-custom.conf)
เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ--write-config-to
เชฅเซเชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ . เช เชฎเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ /etc/kubernetes/scheduler-custom.conf เชฎเชพเช เชฎเซเชเซเชถเซเช เช เชจเซ เชคเซเชจเซ เชจเซเชเซเชจเชพ เชซเซเชฐเซเชฎเชฎเชพเช เชเชเชพเชกเซเชถเซเช:
apiVersion: kubescheduler.config.k8s.io/v1alpha1
kind: KubeSchedulerConfiguration
schedulerName: kube-scheduler-cron
bindTimeoutSeconds: 600
clientConnection:
acceptContentTypes: ""
burst: 100
contentType: application/vnd.kubernetes.protobuf
kubeconfig: /etc/kubernetes/scheduler.conf
qps: 50
disablePreemption: false
enableContentionProfiling: false
enableProfiling: false
failureDomains: kubernetes.io/hostname,failure-domain.beta.kubernetes.io/zone,failure-domain.beta.kubernetes.io/region
hardPodAffinitySymmetricWeight: 1
healthzBindAddress: 0.0.0.0:10151
leaderElection:
leaderElect: true
leaseDuration: 15s
lockObjectName: kube-scheduler-cron
lockObjectNamespace: kube-system
renewDeadline: 10s
resourceLock: endpoints
retryPeriod: 2s
metricsBindAddress: 0.0.0.0:10151
percentageOfNodesToScore: 0
algorithmSource:
policy:
file:
path: "/etc/kubernetes/scheduler-custom-policy-config.json"
เชฎเซเชเซเชฏ เชซเซเชฐเชซเชพเชฐเซ เชตเชฟเชถเซ เชธเชเชเซเชทเชฟเชชเซเชคเชฎเชพเช:
- เช เชฎเซ เช เชฎเชพเชฐเซ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ-เชเซเชฐเซเชจ เชธเซเชตเชพเชจเชพ เชจเชพเชฎ เชชเชฐ เชถเซเชกเซเชฏเซเชฒเชฐเชจเซเชฎ เชธเซเช เชเชฐเซเช เชเซเช.
- เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช
lockObjectName
เชคเชฎเชพเชฐเซ เช เชฎเชพเชฐเซ เชธเซเชตเชพเชจเซเช เชจเชพเชฎ เชชเชฃ เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เช เชจเซ เชเชพเชคเชฐเซ เชเชฐเซ เชเซ เชชเชฐเชฟเชฎเชพเชฃleaderElect
เชธเชพเชเซเช เชชเชฐ เชธเซเช เชเชฐเซ (เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชเช เชฎเซเชเซเชฏ เชจเซเชก เชนเซเชฏ, เชคเซ เชคเชฎเซ เชคเซเชจเซ เชเซเชเชพ เชชเชฐ เชธเซเช เชเชฐเซ เชถเชเซ เชเซ). - เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชจเซเชคเชฟเชเชจเชพ เชตเชฐเซเชฃเชจ เชธเชพเชฅเซ เชซเชพเชเชฒเชจเซ เชชเชพเชฅ เชธเซเชชเชทเซเช เชเชฐเซเชฏเซ
algorithmSource
.
เชคเซ เชฌเซเชเชพ เชฌเชฟเชเชฆเซ เชชเชฐ เชจเชเซเชเชฅเซ เชจเชเชฐ เชฐเชพเชเชตเชพ เชฏเซเชเซเชฏ เชเซ, เชเซเชฏเชพเช เชเชชเชฃเซ เชเซ เชฎเชพเชเซเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซเช เชเซเช leaderElection
. เชฆเซเชท เชธเชนเชฟเชทเซเชฃเซเชคเชพ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เช
เชฎเซ เชธเชเซเชทเชฎ เชเชฐเซเชฏเซเช เชเซ (leaderElect
) เช
เชฎเชพเชฐเชพ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเชพ เชชเซเชกเซเชธ เชตเชเซเชเซ เชฒเซเชกเชฐ (เชฎเชพเชธเซเชเชฐ) เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชเช เช เช
เชเชคเชฟเชฎ เชฌเชฟเชเชฆเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ (resourceLock
) เชจเชพเชฎ เชเชชเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช kube-scheduler-cron (lockObjectName
) เชเซเชฌเซ-เชธเชฟเชธเซเชเชฎ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช (lockObjectNamespace
). เชเซเชตเซ เชฐเซเชคเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชฎเซเชเซเชฏ เชเชเชเซเชจเซ เชเชเซเช เชเชชเชฒเชฌเซเชงเชคเชพเชจเซ เชเชพเชคเชฐเซ เชเชฐเซ เชเซ (เชเซเชฏเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐ เชธเชนเชฟเชค)
- เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒ (scheduler-custom-policy-config.json)
เชฎเซเช เช เชเชพเช เชฒเชเซเชฏเซเช เชคเซเชฎ, เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชเช เชเซเชเซเชเชธ เชจเซเชคเชฟเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ เชคเซเชจเชพ เชเซเชกเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเชจเซ เช เชเชชเชฃเซ เชถเซเชงเซ เชถเชเซเช เชเซเช. เชเชเชฒเซ เชเซ, เช เชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชจเซ เชเซเชฎ เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฎเชพเชเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชจเซเชคเชฟเช เชธเชพเชฅเซ เชซเชพเชเชฒ เชฎเซเชณเชตเซ เชถเชเชคเชพ เชจเชฅเซ. เชเชพเชฒเซ เชจเซเชเซ เชชเซเชฐเชฎเชพเชฃเซ /etc/kubernetes/scheduler-custom-policy-config.json เชซเชพเชเชฒเชฎเชพเช เช เชฎเชจเซ เชฐเซเชเชฟ เชเซ เชคเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชจเซเชคเชฟเชเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซเช:
{
"kind": "Policy",
"apiVersion": "v1",
"predicates": [
{
"name": "GeneralPredicates"
}
],
"priorities": [
{
"name": "ServiceSpreadingPriority",
"weight": 1
},
{
"name": "EqualPriority",
"weight": 1
},
{
"name": "LeastRequestedPriority",
"weight": 1
},
{
"name": "NodePreferAvoidPodsPriority",
"weight": 10000
},
{
"name": "NodeAffinityPriority",
"weight": 1
}
],
"hardPodAffinitySymmetricWeight" : 10,
"alwaysCheckAllPredicates" : false
}
เชเชฎ, เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชธเซเชชเซเชฐเชฅเชฎ เชจเซเชกเซเชธเชจเซ เชธเซเชเชฟเชจเซเช เชธเชเชเชฒเชจ เชเชฐเซ เชเซ เชเซเชฎเชพเช เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซเชกเชฟเชเซเชเซเชธ เชจเซเชคเชฟ (เชเซเชฎเชพเช PodFitsResources, PodFitsHostPorts, HostName เช
เชจเซ MatchNodeSelector เชจเซเชคเชฟเชเชจเซ เชธเชฎเซเชน เชถเชพเชฎเซเชฒ เชเซ) เช
เชจเซเชธเชพเชฐ เชชเซเชก เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ. เช
เชจเซ เชชเชเซ เชฆเชฐเซเช เชจเซเชกเชจเซเช เชฎเซเชฒเซเชฏเชพเชเชเชจ เช
เชเซเชฐเชคเชพ เชเชฐเซเชฎเชพเช เชจเซเชคเชฟเชเชจเชพ เชธเซเช เช
เชจเซเชธเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช
เชฎเชพเชฐเชพ เชเชพเชฐเซเชฏเชจเซ เชถเชฐเชคเซเชจเซ เชชเชฐเชฟเชชเซเชฐเซเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ, เช
เชฎเซ เชตเชฟเชเชพเชฐเซเชฏเซเช เชเซ เชเชตเซ เชจเซเชคเชฟเชเชจเซ เชธเชฎเซเชน เชถเซเชฐเซเชทเซเช เชเชเซเชฒ เชนเชถเซ. เชนเซเช เชคเชฎเชจเซ เชฏเชพเชฆ เชเชฐเชพเชตเซเช เชเซ เชคเซเชฎเชจเชพ เชตเชฟเชเชคเชตเชพเชฐ เชตเชฐเซเชฃเชจเซ เชธเชพเชฅเซ เชจเซเชคเชฟเชเชจเซ เชธเชฎเซเชน เชเชฎเชพเช เชเชชเชฒเชฌเซเชง เชเซ
เชเชพเชฒเซ เชจเชตเชพ kube-scheduler เชจเชพ เชฎเซเชจเชฟเชซเซเชธเซเชเชจเซ เชเซเชฒ เชเชฐเซเช, เชเซ เชเชชเชฃเซ เชชเซเชฐเชเชฐเชฃเชจเซ เชถเชฐเซเชเชคเชฎเชพเช เชฌเชจเชพเชตเซเชฒ เชเซ, kube-scheduler-custom.yaml เช เชจเซ เชคเซเชจเซ เชจเซเชเซเชจเชพ เชชเชพเชฅ /etc/kubernetes/manifests เชฎเชพเช เชคเซเชฐเชฃ เชฎเซเชเซเชฏ เชจเซเชก เชชเชฐ เชฎเซเชเซ. เชเซ เชฌเชงเซเช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเซเชฏ, เชคเซ เชเซเชฌเซเชฒเซเช เชฆเชฐเซเช เชจเซเชก เชชเชฐ เชชเซเชก เชฒเซเชจเซเช เชเชฐเชถเซ, เช เชจเซ เช เชฎเชพเชฐเชพ เชจเชตเชพ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเชพ เชฒเซเชเชฎเชพเช เช เชฎเซ เชฎเชพเชนเชฟเชคเซ เชเซเชเชถเซเช เชเซ เช เชฎเชพเชฐเซ เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชฒเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ:
Creating scheduler from configuration: {{ } [{GeneralPredicates <nil>}] [{ServiceSpreadingPriority 1 <nil>} {EqualPriority 1 <nil>} {LeastRequestedPriority 1 <nil>} {NodePreferAvoidPodsPriority 10000 <nil>} {NodeAffinityPriority 1 <nil>}] [] 10 false}
Registering predicate: GeneralPredicates
Predicate type GeneralPredicates already registered, reusing.
Registering priority: ServiceSpreadingPriority
Priority type ServiceSpreadingPriority already registered, reusing.
Registering priority: EqualPriority
Priority type EqualPriority already registered, reusing.
Registering priority: LeastRequestedPriority
Priority type LeastRequestedPriority already registered, reusing.
Registering priority: NodePreferAvoidPodsPriority
Priority type NodePreferAvoidPodsPriority already registered, reusing.
Registering priority: NodeAffinityPriority
Priority type NodeAffinityPriority already registered, reusing.
Creating scheduler with fit predicates 'map[GeneralPredicates:{}]' and priority functions 'map[EqualPriority:{} LeastRequestedPriority:{} NodeAffinityPriority:{} NodePreferAvoidPodsPriority:{} ServiceSpreadingPriority:{}]'
เชนเชตเซ เชเซ เชฌเชพเชเซ เชเซ เชคเซ เช เชฎเชพเชฐเชพ เชเซเชฐเซเชจเชเซเชฌเชจเชพ เชธเซเชชเซเชเชฎเชพเช เชธเซเชเชตเชตเชพเชจเซเช เชเซ เชเซ เชคเซเชจเชพ เชชเซเชกเซเชธ เชถเซเชกเซเชฏเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชคเชฎเชพเชฎ เชตเชฟเชจเชเชคเซเช เช เชฎเชพเชฐเชพ เชจเชตเชพ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเซ เชเซเชเช:
...
jobTemplate:
spec:
template:
spec:
schedulerName: kube-scheduler-cron
...
เชจเชฟเชทเซเชเชฐเซเชท
เชเชเชฐเซ, เช เชฎเชจเซ เชถเซเชกเซเชฏเซเชฒเชฟเชเช เชจเซเชคเชฟเชเชจเชพ เช เชจเชจเซเชฏ เชธเซเช เชธเชพเชฅเซ เชตเชงเชพเชฐเชพเชจเชพ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฎเชณเซเชฏเชพ, เชเซเชจเซเช เชเชพเชฎ เชธเซเชงเซเช เชเซเชฌเซเชฒเซเช เชฆเซเชตเชพเชฐเชพ เชฎเซเชจเชฟเชเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชเชชเชฐเชพเชเชค, เชเซเชจเชพ เชจเซเชคเชพ เชเซเช เชเชพเชฐเชฃเชธเชฐ เช เชจเซเชชเชฒเชฌเซเชง เชฅเชพเชฏ เชคเซ เช เชฎเซ เช เชฎเชพเชฐเชพ เชเซเชฌเซ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชถเซเชเชเซ เชตเชเซเชเซ เชจเชตเชพ เชจเซเชคเชพเชจเซ เชเซเชเชเชฃเซ เชเซเช เชตเซ เชเซ.
เชจเชฟเชฏเชฎเชฟเชค เชเชชเซเชฒเชฟเชเซเชถเชจเซ เช เชจเซ เชธเซเชตเชพเช เชกเชฟเชซเซเชฒเซเช เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐ เชฆเซเชตเชพเชฐเชพ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชเซ, เช เชจเซ เชคเชฎเชพเชฎ เชเซเชฐเซเชจ เชเชพเชฐเซเชฏเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชจเชตเชพเชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ. เชเซเชฐเซเชจ เชเชพเชฐเซเชฏเซ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซเชฒ เชฒเซเชก เชนเชตเซ เชคเชฎเชพเชฎ เชจเซเชกเซเชธเชฎเชพเช เชธเชฎเชพเชจเชฐเซเชชเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฎเซเชเชพ เชญเชพเชเชจเชพ เชเซเชฐเซเชจ เชเชพเชฐเซเชฏเซ เชชเซเชฐเซเชเซเชเซเชเชจเชพ เชฎเซเชเซเชฏ เชเชพเชฐเซเชฏเชเซเชฐเชฎเซ เชเซเชตเชพ เช เชจเซเชกเซเชธ เชชเชฐ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชคเชพ, เชเชจเชพเชฅเซ เชธเชเชธเชพเชงเชจเซเชจเซ เช เชเชคเชจเซ เชเชพเชฐเชฃเซ เชชเซเชกเซเชธ เชเชธเซเชกเชตเชพเชจเซเช เชเซเชเชฎ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชเชเซเชฏเซเช เชเซ. เชตเชงเชพเชฐเชพเชจเชพ เชเซเชฏเซเชฌ-เชถเซเชกเซเชฏเซเชฒเชฐเชจเซ เชฐเชเซเชเชค เชเชฐเซเชฏเชพ เชชเชเซ, เชเซเชฐเซเชจ เชเชพเชฐเซเชฏเซเชจเชพ เช เชธเชฎเชพเชจ เชธเชฎเชฏเชชเชคเซเชฐเช เชธเชพเชฅเซ เชธเชฎเชธเซเชฏเชพเช เชเชญเซ เชฅเช เชจเชฅเซ.
เช เชฎเชพเชฐเชพ เชฌเซเชฒเซเช เชชเชฐ เช เชจเซเชฏ เชฒเซเชเซ เชชเชฃ เชตเชพเชเชเซ:
เชเซเชฒเชฟเชเซ เชธเชพเชฅเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชเซเชฐเชพเชซเชฟเช เชฎเซเชจเซเชเชฎเซเชจเซเช เชเซเชฒเชฟเชเซ เชธเชพเชฅเซ เชจเซเชเชตเชฐเซเช เชจเซเชคเชฟ เชตเชฟเชเชฒเซเชชเซเชจเซ เชธเชฎเชเชตเซเช เชเซเชฏเชพเชฐเซ Linux conntrack เชนเชตเซ เชคเชฎเชพเชฐเซ เชฎเชฟเชคเซเชฐ เชจเชฅเซ iota เชเซเชฐเชพเชจเซเชธเชซเชฐเชจเชพ 4 เชเชฆเชพเชนเชฐเชฃเซ เชกเชพเชเชจเชเชพเชเชฎ เชตเชฟเชจเชพ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชจเซ เช เชชเชเซเชฐเซเชก เชเชฐเชตเซเช เชถเซเชจเซเชฏ เชกเชพเชเชจเชเชพเชเชฎ เชเชฎเชพเชตเช เช เชจเซ เชกเซเชเชพเชฌเซเชธเซเชธ เชเซเชฌเชฐเชจเซเชเซเชธ: เชธเชฟเชธเซเชเชฎ เชฐเชฟเชธเซเชฐเซเชธ เชฎเซเชจเซเชเชฎเซเชจเซเชเชจเซ เชเซเช เชตเชตเซเช เชถเชพ เชฎเชพเชเซ เชเชเชฒเซเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ?
เชธเซเชฐเซเชธ: www.habr.com