แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—

Kube-scheduler แƒแƒ แƒ˜แƒก Kubernetes-แƒ˜แƒก แƒ’แƒแƒœแƒฃแƒงแƒแƒคแƒ”แƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒแƒ–แƒ” แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“. แƒฎแƒจแƒ˜แƒ แƒแƒ“, Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒก แƒคแƒ˜แƒฅแƒ แƒ˜ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฎแƒ“แƒ”แƒ‘แƒ pod-แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒ’แƒ”แƒ’แƒ›แƒแƒ“, แƒ แƒแƒ“แƒ’แƒแƒœ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler-แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒงแƒแƒ•แƒ”แƒšแƒ“แƒฆแƒ˜แƒฃแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒฌแƒ˜แƒแƒฆแƒ˜แƒกแƒ”แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ แƒ“แƒ แƒแƒ› แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ˜ แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก:

  1. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜ แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—
  2. แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ“แƒ แƒแƒกแƒฌแƒแƒ•แƒšแƒ”แƒ— แƒ›แƒแƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ API แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ—แƒแƒœ

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ›แƒ” แƒแƒฆแƒ•แƒฌแƒ”แƒ  แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒžแƒฃแƒœแƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒแƒก แƒฉแƒ•แƒ”แƒœแƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ” แƒ™แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“.

แƒ›แƒแƒ™แƒšแƒ” แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก kube-scheduler

แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒฃแƒœแƒ“แƒ แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒแƒก แƒ˜แƒก แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› kube-scheduler แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒแƒ–แƒ” - แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ› แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒ“แƒแƒช แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒ‘แƒ แƒžแƒแƒ“แƒ˜. แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, kube-scheduler-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ˜แƒ’แƒ˜ แƒฃแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก API แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ— แƒ“แƒ แƒแƒฅ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ.

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, kube-scheduler แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช pod แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒ’แƒ”แƒ’แƒ›แƒแƒก แƒžแƒ แƒ”แƒ“แƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒแƒ› แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜แƒ แƒ™แƒ•แƒแƒœแƒซแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ. แƒ—แƒฃ แƒแƒ แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒแƒฅแƒ•แƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒฅแƒฃแƒšแƒ, แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜. แƒžแƒ แƒ”แƒ“แƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜แƒก (แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก) แƒ“แƒ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก (แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก) แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒ˜ แƒ“แƒ แƒแƒฆแƒฌแƒ”แƒ แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜ แƒกแƒฎแƒ”แƒฃแƒšแƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ

แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Nixys-แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒจแƒ”แƒ’แƒ•แƒฎแƒ•แƒ“แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒฎแƒšแƒแƒฎแƒแƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœแƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ (~ 100 CronJob แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜). แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒกแƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒฌแƒฃแƒ—แƒจแƒ˜ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ cron แƒแƒ›แƒแƒชแƒแƒœแƒ, แƒ แƒแƒช แƒฅแƒ›แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก CPU-แƒ–แƒ”. cron แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ แƒกแƒแƒ›แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒ— (แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ–แƒ” 24 vCPU).

แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒ—แƒฅแƒ›แƒ, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ“แƒ แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ CronJob-แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ. แƒกแƒแƒจแƒฃแƒแƒšแƒแƒ“, kube-scheduler-แƒ˜แƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒก 3-4 แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒแƒก, แƒ แƒแƒช แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก ~20-30% แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก CPU-แƒ–แƒ”:

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—

แƒ—แƒแƒ•แƒแƒ“ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ–แƒแƒ’แƒฏแƒ”แƒ  cron task pod-แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ แƒจแƒ”แƒฉแƒ”แƒ แƒ“แƒ แƒกแƒแƒ›แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ–แƒ”. แƒแƒœแƒฃ, แƒ“แƒ แƒแƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜, แƒแƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒšแƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฎแƒแƒšแƒ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœ แƒแƒ  แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ“แƒ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒก 6-8 แƒแƒกแƒšแƒ˜, แƒ แƒแƒช แƒฅแƒ›แƒœแƒ˜แƒ“แƒ CPU-แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก ~ 40-60%-แƒก:

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ“แƒ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒ— แƒ“แƒ แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ™แƒแƒ แƒ”แƒšแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ˜แƒงแƒ แƒ™แƒแƒ“แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ—แƒแƒœ.

kube-scheduler logging แƒ“แƒแƒœแƒ˜แƒก 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

แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒฉแƒแƒœแƒก, แƒ แƒแƒ› แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ›แƒ แƒ™แƒ•แƒแƒœแƒซแƒ›แƒ แƒกแƒฎแƒ•แƒแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฅแƒฃแƒšแƒ แƒ“แƒแƒแƒ’แƒ แƒแƒ•แƒ แƒ“แƒ แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒแƒ แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ›แƒแƒช แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒฅแƒฃแƒšแƒ แƒ“แƒแƒแƒ’แƒ แƒแƒ•แƒ”แƒก. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ“แƒแƒ•แƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒฆแƒ”แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒแƒจแƒ˜.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒแƒจแƒ™แƒแƒ แƒ แƒ˜แƒงแƒ - แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜, แƒ’แƒแƒ˜แƒ’แƒ”แƒ— แƒ แƒ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒ— แƒแƒ  แƒ“แƒแƒแƒ’แƒ แƒแƒ•แƒ แƒ™แƒ•แƒแƒœแƒซแƒ›แƒ แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ, แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ“แƒแƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒ”แƒ— แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler-แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒฅ แƒแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒจแƒ” แƒ•แƒ“แƒ’แƒแƒ•แƒแƒ แƒ—:

  1. แƒญแƒ แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒ“แƒแƒœแƒ”แƒ–แƒ” (10) แƒแƒ˜แƒกแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜. แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ–แƒ”แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒแƒ›แƒแƒœแƒแƒ แƒ˜แƒ“แƒจแƒ˜ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒแƒกแƒแƒฎแƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ  แƒ“แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒกแƒ™แƒ•แƒœแƒแƒ—, แƒ แƒแƒ› แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ โ€žแƒ™แƒฃแƒšแƒ˜แƒกแƒ”แƒ‘แƒจแƒ˜โ€œ แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ›แƒ แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒ แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒฆแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜ Kubernetes-แƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ˜ Github-แƒ–แƒ”. แƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ› แƒšแƒแƒ’แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ Kubernetes v1.15,1.16, 1.17 แƒ“แƒ XNUMX แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒก.
  2. แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒ–แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ—แƒฃ แƒ แƒแƒ›แƒ”แƒš แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก kube-scheduler แƒแƒ›แƒŸแƒแƒ›แƒแƒ“. แƒ“แƒ˜แƒแƒฎ, แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ”แƒก แƒกแƒ˜แƒ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒแƒ  แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒฌแƒแƒœแƒ แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒฃแƒš แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒแƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒฌแƒแƒœแƒ”แƒ‘แƒ˜ แƒแƒœ แƒ“แƒแƒแƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒแƒ— แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler-แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒฅ แƒฌแƒงแƒแƒ แƒ แƒ™แƒแƒ“แƒ”แƒ‘แƒ˜.

แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ, แƒ แƒแƒ› แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒซแƒ”แƒšแƒ˜แƒ— แƒฉแƒแƒฌแƒ”แƒ แƒ, แƒ แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ›แƒ แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒ แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜ ImageLocalityPriority แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒœแƒ˜แƒญแƒ”แƒ‘แƒก แƒฅแƒฃแƒšแƒ”แƒ‘แƒก แƒ™แƒ•แƒแƒœแƒซแƒก, แƒ—แƒฃ แƒ›แƒแƒก แƒฃแƒ™แƒ•แƒ” แƒแƒฅแƒ•แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒ แƒกแƒฃแƒ แƒแƒ—แƒ˜. แƒแƒœแƒฃ, แƒ˜แƒ› แƒ“แƒ แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ, cron แƒแƒ›แƒแƒชแƒแƒœแƒแƒ› แƒ›แƒแƒแƒฎแƒ”แƒ แƒฎแƒ แƒแƒ  แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ›แƒแƒ—แƒ–แƒ” แƒแƒฎแƒแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒ“แƒแƒœ แƒ“แƒ, แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒแƒ แƒ›แƒ แƒ™แƒ•แƒแƒœแƒซแƒ›แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฅแƒฃแƒšแƒ แƒ›แƒ”แƒกแƒแƒ›แƒ”แƒกแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—. .

แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”, แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก ImageLocalityPriority แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ•แƒแƒ แƒแƒฃแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒ”แƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ— แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ™แƒ•แƒแƒœแƒซแƒจแƒ˜, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ. . แƒ–แƒฃแƒกแƒขแƒแƒ“ ImageLocalityPriority แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“ แƒจแƒ”แƒ˜แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒแƒ“แƒ, แƒฃแƒคแƒ แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒ แƒแƒ›แƒ”แƒกแƒ—แƒแƒœ แƒ˜แƒงแƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ›แƒแƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ— แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler-แƒ˜แƒก แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒจแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ pod-แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒ˜ แƒ›แƒแƒ แƒ—แƒ•แƒ.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ, แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ, แƒแƒœแƒฃ Kubernetes-แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜ (แƒแƒฅ แƒ•แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒ— แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler) แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ แƒฉแƒ”แƒก แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜. แƒแƒ  แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ”แƒ แƒ— แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก แƒ’แƒแƒ“แƒแƒ’แƒ•แƒ”แƒญแƒ แƒ แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ”แƒจแƒ˜ แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ”แƒ“แƒ˜แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ˜แƒก แƒแƒ  แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒแƒ›แƒ“แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒชแƒฎแƒแƒ“แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒจแƒ˜ - แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒแƒœ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ. Cron แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ—แƒแƒœแƒแƒ‘แƒ แƒแƒ“ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ แƒกแƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”. แƒแƒ› แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒแƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ kube-scheduler แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“ แƒแƒ–แƒ แƒ˜ แƒแƒ  แƒแƒฅแƒ•แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒก.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒแƒฅ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ”แƒฉแƒ•แƒ”แƒœแƒ, แƒ แƒแƒ› Deployment แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ™แƒ แƒ˜แƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒแƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ kube-scheduler, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ’แƒแƒ›แƒแƒ’แƒ•แƒ”แƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒœแƒ แƒแƒฎแƒแƒšแƒ˜ kube-scheduler, แƒ แƒแƒ’แƒแƒ แƒช Static Pod, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ“แƒ”แƒ‘แƒแƒ“แƒ. แƒ™แƒฃแƒ‘แƒ”แƒšแƒ”แƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ . แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒแƒฎแƒแƒšแƒ˜ kube-แƒ’แƒแƒœแƒ›แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

  1. แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒ แƒแƒ’แƒแƒ แƒช Static Pod แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ”
  2. แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒžแƒแƒ“แƒ˜แƒฃแƒ›แƒ˜ kube-scheduler-แƒ˜แƒ— แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜แƒ
  3. แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒกแƒแƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ (LeastRequestedPriority)

แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜

แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒฃแƒœแƒ“แƒ แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒแƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก Kubernetes 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

แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

  1. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ pod แƒ“แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ kube-scheduler-cron
  2. แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 10151 แƒ“แƒ 10159 แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒคแƒชแƒ˜แƒ แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ hostNetwork: true แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler (10251 แƒ“แƒ 10259)
  3. --config แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ–แƒฃแƒกแƒขแƒ”แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜
  4. แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก (scheduler-custom.conf) แƒ“แƒ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก (scheduler-custom-policy-config.json) แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒขแƒแƒŸแƒ˜ แƒฐแƒแƒกแƒขแƒ˜แƒ“แƒแƒœ

แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ’แƒ•แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒก kube-scheduler-แƒก แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒ แƒแƒšแƒ˜:

kubectl edit clusterrole system:kube-scheduler

...
   resourceNames:
    - kube-scheduler
    - kube-scheduler-cron
...

แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒแƒ— แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ”แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜:

  • แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ (scheduler-custom.conf)
    แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ --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"

แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

  1. แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— schedulerName แƒฉแƒ•แƒ”แƒœแƒ˜ kube-scheduler-cron แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ–แƒ”.
  2. แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒจแƒ˜ lockObjectName แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ leaderElect แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ true-แƒ–แƒ” (แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ”แƒ แƒ—แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ˜แƒ’แƒ˜ false-แƒ–แƒ”).
  3. แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒ–แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒจแƒ˜ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒ— algorithmSource.

แƒฆแƒ˜แƒ แƒก แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ— แƒ›แƒ”แƒแƒ แƒ” แƒžแƒฃแƒœแƒฅแƒขแƒก, แƒกแƒแƒ“แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก leaderElection. แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒกแƒแƒงแƒแƒคแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ— (leaderElect) แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก (แƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒก) แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒกแƒฅแƒ”แƒ“แƒฃแƒšแƒ”แƒ แƒ˜แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก แƒ”แƒ แƒ—แƒ˜ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (resourceLock) แƒกแƒแƒฎแƒ”แƒšแƒแƒ“ kube-scheduler-cron (lockObjectName) kube แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ (lockObjectNamespace). แƒ แƒแƒ’แƒแƒ  แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก Kubernetes แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒš แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒแƒก (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก kube-scheduler), แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ›แƒฃแƒฎแƒšแƒ˜.

  • แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ (scheduler-custom-policy-config.json)
    แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ“แƒ แƒ” แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ˜แƒแƒ— แƒ แƒแƒ›แƒ”แƒš แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ˜แƒกแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒ—. แƒแƒœแƒฃ, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒ— แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒกแƒ”แƒ•แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜. แƒ›แƒแƒ“แƒ˜แƒ— แƒแƒฆแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก /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
}

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, kube-scheduler แƒฏแƒ”แƒ  แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒ“แƒแƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ pod-แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ GeneralPredicates แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— (แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก PodFitsResources, PodFitsHostPorts, HostName แƒ“แƒ MatchNodeSelector แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒก). แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒคแƒแƒกแƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ›แƒ˜แƒ•แƒ˜แƒฉแƒœแƒ˜แƒ”แƒ—, แƒ แƒแƒ› แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ. แƒจแƒ”แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ˜ แƒ›แƒแƒ—แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ˜แƒ— แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ•แƒแƒœแƒ˜แƒญแƒแƒ— แƒ›แƒแƒ— แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒฌแƒแƒœแƒ.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒฃแƒฌแƒแƒ“แƒแƒ— แƒแƒฎแƒแƒšแƒ˜ kube-scheduler-แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ—แƒแƒ•แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜, kube-scheduler-custom.yaml แƒ“แƒ แƒ›แƒแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒ–แƒแƒ–แƒ” /etc/kubernetes/manifests แƒกแƒแƒ› แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”. แƒ—แƒฃ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ, Kubelet แƒ’แƒแƒ›แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒžแƒแƒ“แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒฎแƒแƒšแƒ˜ kube-scheduler-แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒ•แƒœแƒแƒฎแƒแƒ•แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒฅแƒœแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜:

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:{}]'

แƒแƒฎแƒšแƒ แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฉแƒ•แƒ”แƒœแƒ˜ CronJob-แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒžแƒแƒ“แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ :

...
 jobTemplate:
    spec:
      template:
        spec:
          schedulerName: kube-scheduler-cron
...

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฏแƒแƒ›แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ“แƒ˜แƒกแƒžแƒ”แƒฉแƒ”แƒ แƒ˜, แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ™แƒฃแƒ‘แƒ”แƒšแƒ”แƒขแƒ˜ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒฃแƒ‘แƒ”-แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒ˜แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒซแƒ•แƒ”แƒšแƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ— แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ.

แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ•แƒ แƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ kube-scheduler-แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ cron แƒแƒ›แƒแƒชแƒแƒœแƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ แƒแƒฎแƒแƒšแƒ–แƒ”. cron แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒแƒฎแƒšแƒ แƒ—แƒแƒœแƒแƒ‘แƒ แƒแƒ“ แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒ™แƒ แƒแƒœแƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒแƒ›แƒแƒœ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒจแƒ”แƒแƒ›แƒชแƒ˜แƒ แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒแƒ“แƒ’แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒกแƒ™แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ kube-scheduler-แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒแƒ  แƒฌแƒแƒ แƒ›แƒแƒ˜แƒจแƒ•แƒ cron แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—.

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒกแƒฎแƒ•แƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ