เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจธเฉˆเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฌเจฃเจพเจ‰เจฃเจพ

เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจธเฉˆเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฌเจฃเจพเจ‰เจฃเจพ

เจ•เฉเจฌเฉ‡-เจธเจผเจกเจฟเจŠเจฒเจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเจพ เจ‡เฉฑเจ• เจ…เจจเจฟเฉฑเจ–เฉœเจตเจพเจ‚ เจนเจฟเฉฑเจธเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจจเจฟเจฐเจงเจพเจฐเจค เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉŒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจคเจนเจฟ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค เจ…เจ•เจธเจฐ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจธเฉ‹เจšเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจชเฉŒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจคเจนเจฟ เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเจฟเจซเฉŒเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจฆเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเจพ เจธเฉˆเฉฑเจŸ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฐเฉ‹เจœเจผเจพเจจเจพ เจฆเฉ‡ เจ•เฉฐเจฎเจพเจ‚ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฆเฉ‹เจ‚ เจธเจพเจกเฉ‡ เจฒเจˆ เจชเฉŒเจกเจพเจ‚ เจฆเฉ€ เจตเฉฐเจก เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจตเจงเฉ€เจ† เจฌเจฃเจพเจ‰เจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ‡ เจฆเฉ‹ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจ:

  1. เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจธเฉˆเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจฌเจฃเจพเจ“
  2. เจ†เจชเจฃเจพ เจ–เฉเจฆ เจฆเจพ เจธเจผเจกเจฟเจŠเจฒเจฐ เจฒเจฟเจ–เฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ API เจธเจฐเจตเจฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจฟเจ–เจพเจ“

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจธเจพเจกเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• 'เจคเฉ‡ เจนเจพเจฐเจฅเจธ เจฆเฉ€ เจ…เจธเจฎเจพเจจ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจชเจนเจฟเจฒเฉ‡ เจฌเจฟเฉฐเจฆเฉ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจพเจ‚เจ—เจพ.

เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจœเจพเจฃ-เจชเจ›เจพเจฃ

เจ‡เจน เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจชเฉŒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจนเจฟ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ‡เจน เจธเจฟเจฐเจซ เจจเฉ‹เจก เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ เจœเจฟเจธ 'เจคเฉ‡ เจชเฉŒเจก เจฒเจ—เจพเจ‰เจฃเจพ เจนเฉˆเฅค เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเจพ เจจเจคเฉ€เจœเจพ เจจเฉ‹เจก เจฆเจพ เจจเจพเจฎ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจ…เจจเฉเจธเฉ‚เจšเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ API เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจ‡เจธเจฆเจพ เจ•เฉฐเจฎ เจ–เจคเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจชเจนเจฟเจฒเจพเจ‚, เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจจเฉ‹เจกเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ 'เจคเฉ‡ เจชเฉ‹เจก เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจต-เจ…เจจเฉเจฎเจพเจจ เจฆเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจคเจนเจฟ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เฉฑเจ—เฉ‡, เจ‡เจธ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจจเฉ‹เจก เจจเฉ‚เฉฐ เจคเจฐเจœเฉ€เจนเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ•เฉเจ เจ…เฉฐเจ• เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ…เฉฐเจ•เจพเจ‚ เจตเจพเจฒเจพ เจจเฉ‹เจก เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจœเฉ‡ เจ‰เฉฑเจฅเฉ‡ เจจเฉ‹เจกเจธ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเจพ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจ•เฉ‹เจฐ เจ‡เฉฑเจ•เฉ‹ เจนเฉˆ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจšเฉเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจชเฉ‚เจฐเจต-เจ…เจจเฉเจฎเจพเจจ (เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ—) เจ…เจคเฉ‡ เจคเจฐเจœเฉ€เจนเจพเจ‚ (เจธเจ•เฉ‹เจฐเจฟเฉฐเจ—) เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจ…เจคเฉ‡ เจตเจฐเจฃเจจ เจตเจฟเฉฑเจš เจชเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจธเจฐเฉ€เจฐ เจฆเจพ เจตเจฐเจฃเจจ

Nixys 'เจคเฉ‡ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– Kubernetes เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจฆเฉ‡ เจฐเฉฑเจ–-เจฐเจ–เจพเจ… เจนเฉ‹เจฃ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, เจธเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจชเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจคเจนเจฟ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ†, เจœเจฆเฉ‹เจ‚ เจธเจพเจกเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‚เฉฐ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจ•เจพเจฐเจœเจพเจ‚ (~ 100 เจ•เจฐเฉ‹เจจเจœเฉŒเจฌ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚) เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€เฅค เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจตเจฐเจฃเจจ เจจเฉ‚เฉฐ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเจฟเฉฐเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจฐ เจ‡เฉฑเจ• เจ•เฉเจฐเฉ‹เจจ เจŸเจพเจธเจ• เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, CPU เจ‰เฉฑเจคเฉ‡ เจ•เฉเจ เจฒเฉ‹เจก เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ•เฉเจฐเฉ‹เจจ เจŸเจพเจธเจ• เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจฌเจฟเจฒเจ•เฉเจฒ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจพเจฒเฉ‡ เจคเจฟเฉฐเจจ เจจเฉ‹เจก เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ (เจนเจฐเฉ‡เจ• 'เจคเฉ‡ 24 vCPUs)เฅค

เจ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจนเฉ€, เจ‡เจน เจ•เจนเจฟเจฃเจพ เจ…เจธเฉฐเจญเจต เจนเฉˆ เจ•เจฟ เจ•เฉเจฐเฉ‹เจจเจœเฉŒเจฌ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เฉ‡เจ—เจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจฒเจ—เจพเจคเจพเจฐ เจฌเจฆเจฒ เจฐเจนเฉ€ เจนเฉˆเฅค เจ”เจธเจคเจจ, เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ‡ เจธเจพเจงเจพเจฐเจจ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉŒเจฐเจพเจจ, เจนเจฐเฉ‡เจ• เจจเฉ‹เจก 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

เจœเจฟเจธ เจคเฉ‹เจ‚ เจ‡เจน เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‡ เจฆเฉ‚เจœเจฟเจ†เจ‚ เจจเจพเจฒเฉ‹เจ‚ เจ˜เฉฑเจŸ เจ…เฉฐเจคเจฎ เจ…เฉฐเจ• เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡, เจ…เจคเฉ‡ เจ‡เจธเจฒเจˆ เจฏเฉ‹เจœเจจเจพเจฌเฉฐเจฆเฉ€ เจธเจฟเจฐเจซ เจฆเฉ‹ เจจเฉ‹เจกเจพเจ‚ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจœเฉ‹ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจ•เฉ‹เจฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจธเจจเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจฏเจ•เฉ€เจจ เจนเฉ‹ เจ—เจฟเจ† เจธเฉ€ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจชเฉŒเจกเจพเจ‚ เจฆเฉ€ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจนเฉ€ เจนเฉˆเฅค

เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจ…เจ—เจฒเจพ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจธเจพเจกเฉ‡ เจฒเจˆ เจธเจชเฉฑเจธเจผเจŸ เจธเฉ€ - เจฒเฉŒเจ—เจธ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‹, เจธเจฎเจเฉ‹ เจ•เจฟ เจจเฉ‹เจก เจจเฉ‡ เจ•เจฟเจนเฉœเฉ€ เจคเจฐเจœเฉ€เจน เจจเจพเจฒ เจ…เฉฐเจ• เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจ เจ…เจคเฉ‡, เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจคเจพเจ‚ เจกเจฟเจซเฉŒเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจฆเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจ•เจฐเฉ‹เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เฉฑเจฅเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจฆเฉ‹ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฎเฉเจธเจผเจ•เจฒเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเฉˆ เจฐเจฟเจนเจพ เจนเฉˆ:

  1. เจ…เจงเจฟเจ•เจคเจฎ เจฒเฉŒเจ—เจฟเฉฐเจ— เจชเฉฑเจงเจฐ (10) 'เจคเฉ‡, เจธเจฟเจฐเจซ เจ•เฉเจ เจคเจฐเจœเฉ€เจนเจพเจ‚ เจฒเจˆ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจ…เฉฐเจ• เจชเฉเจฐเจคเฉ€เจฌเจฟเฉฐเจฌเจฟเจค เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจฒเฉŒเจ—เจธ เจฆเฉ‡ เจ‰เจชเจฐเฉ‹เจ•เจค เจ…เฉฐเจธเจผเจพเจ‚ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€เจฌเจฟเฉฐเจฌเจฟเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจคเจฐเจœเฉ€เจนเจพเจ‚ เจฒเจˆ, เจจเฉ‹เจก เจ†เจฎ เจ…เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจ…เจจเฉเจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจ…เฉฐเจ• เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ€ เจฏเฉ‹เจœเจจเจพเจฌเฉฐเจฆเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฎ เจจเจคเฉ€เจœเจพ เจตเฉฑเจ–เจฐเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจ‡เจน เจธเจฟเฉฑเจŸเจพ เจ•เฉฑเจข เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เฉเจ เจคเจฐเจœเฉ€เจนเจพเจ‚ เจฒเจˆ, เจธเจ•เฉ‹เจฐเจฟเฉฐเจ— "เจชเจฐเจฆเฉ‡ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡" เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เจน เจธเจฎเจเจฃ เจฆเจพ เจ•เฉ‹เจˆ เจคเจฐเฉ€เจ•เจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธ เจคเจฐเจœเฉ€เจน เจฒเจˆ เจจเฉ‹เจก เจจเฉ‚เฉฐ เจ…เฉฐเจ• เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเฉ‡ เจนเจจเฅค เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจนเฉˆ เจฎเฉเฉฑเจฆเฉ‡ ั€ะตะฟะพะทะธั‚ะพั€ะธั Kubernetes ะฝะฐ Github. ะะฐ ะผะพะผะตะฝั‚ ะฝะฐะฟะธัะฐะฝะธั ัั‚ะฐั‚ัŒะธ ะฑั‹ะป ะฟะพะปัƒั‡ะตะฝ ะพั‚ะฒะตั‚ ะพั‚ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ, ั‡ั‚ะพ ะฟะพะดะดะตั€ะถะบะฐ ะปะพะณะธั€ะพะฒะฐะฝะธั ะฑัƒะดะตั‚ ะดะพะฑะฐะฒะปะตะฝะฐ ะฒ ะพะฑะฝะพะฒะปะตะฝะธัั… Kubernetes v1.15,1.16 ะธ 1.17.
  2. เจ‡เจน เจธเจฎเจเจฃ เจฆเจพ เจ•เฉ‹เจˆ เจ†เจธเจพเจจ เจคเจฐเฉ€เจ•เจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ•เฉเจฌเฉ‡-เจธเจกเจฟเจŠเจฒเจฐ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจชเจพเจฒเจฟเจธเฉ€เจ†เจ‚ เจฆเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจ–เจพเจธ เจธเฉˆเฉฑเจŸ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจนเจพเจ‚, เจตเจฟเฉฑเจš เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ‡เจน เจธเฉ‚เจšเฉ€ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจนเฉˆ, เจชเจฐ เจ‡เจธ เจตเจฟเฉฑเจš เจ‡เจน เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจนเจฐเฉ‡เจ• เจคเจฐเจœเฉ€เจน เจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจ•เจฟเจนเฉœเฉ‡ เจ–เจพเจธ เจตเจœเจผเจจ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจคเฉเจธเฉ€เจ‚ เจตเจœเจผเจจ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจพเจ‚ เจกเจฟเจซเจพเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจฆเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจตเจฟเฉฑเจš เจนเฉ€ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก.

เจ‡เจน เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ‡เจน เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹ เจ—เจ เจธเฉ€ เจ•เจฟ เจ‡เฉฑเจ• เจจเฉ‹เจก เจจเฉ‚เฉฐ ImageLocalityPriority เจจเฉ€เจคเฉ€ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจชเฉเจ†เจ‡เฉฐเจŸ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจนเฉ‹เจ, เจœเฉ‹ เจ‡เฉฑเจ• เจจเฉ‹เจก เจจเฉ‚เฉฐ เจชเฉเจ†เจ‡เฉฐเจŸ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เจธ เจ•เฉ‹เจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจœเจผเจฐเฉ‚เจฐเฉ€ เจšเจฟเฉฑเจคเจฐ เจนเฉˆเฅค เจญเจพเจต, เจœเจฆเฉ‹เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ•เฉเจฐเฉ‹เจจ เจŸเจพเจธเจ• เจฆเฉ‹ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจšเฉฑเจฒเจฃ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉ‹ เจ—เจฟเจ†, เจกเฉŒเจ•เจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจเจพ, เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‹ เจจเฉ‹เจกเจพเจ‚ เจจเฉ‡ เจคเฉ€เจœเฉ‡ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจ‡เฉฑเจ• เจ‰เฉฑเจš เจซเจพเจˆเจจเจฒ เจธเจ•เฉ‹เจฐ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพเฅค .

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจ‰เฉฑเจชเจฐ เจฒเจฟเจ–เจฟเจ† เจนเฉˆ, เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจธเจพเจจเฉ‚เฉฐ ImageLocalityPriority เจจเฉ€เจคเฉ€ เจฆเฉ‡ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจธเจพเจกเฉ€ เจงเจพเจฐเจจเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจคเฉ€เจœเฉ‡ เจจเฉ‹เจก 'เจคเฉ‡ เจธเฉเฉฑเจŸ เจฆเจฟเฉฑเจคเจพ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค . เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจธเจนเฉ€ เจฐเฉ‚เจช เจตเจฟเฉฑเจš ImageLocalityPriority เจจเฉ€เจคเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจธเฉ€ เจ•เจฟ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจฆเฉ‡เจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€; เจ…เจ•เจธเจฐ เจ‡เจน เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจšเฉ€เจœเจผ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉเฉฐเจฆเจพ เจธเฉ€เฅค เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจกเจฟเจซเฉŒเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ€เจ†เจ‚ เจคเจฐเจœเฉ€เจนเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจชเจพเจฒเจฟเจธเฉ€ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจกเฉ€เจฌเฉฑเจ— เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เฉ‡, เจธเจพเจจเฉ‚เฉฐ เจชเฉŒเจก เจธเจผเจกเจฟเจŠเจฒเจฟเฉฐเจ— เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจฒเจšเจ•เจฆเจพเจฐ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€เฅค

เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจ—เจ เจจ

เจ…เจธเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจ–เจพเจธ เจนเฉ‹เจตเฉ‡, เจฏเจพเจจเฉ€ เจ•เจฟ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ (เจ‡เฉฑเจฅเฉ‡ เจธเจพเจกเจพ เจฎเจคเจฒเจฌ เจกเจฟเจซเจพเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจนเฉˆ) เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพเฅค เจ…เจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฅเจพเจ‚ 'เจคเฉ‡ เจนเฉฑเจฒ เจ•เจฐเจ•เฉ‡ เจฆเฉ‚เจœเฉ€ เจฅเจพเจ‚ 'เจคเฉ‡ เจฌเจฃเจพเจ‰เจฃเจพ เจจเจนเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€เฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจฆเฉ‹ เจตเจฟเจ•เจฒเจชเจพเจ‚ 'เจคเฉ‡ เจ†เจ, เจœเฉ‹ เจฒเฉ‡เจ– เจฆเฉ€ เจœเจพเจฃ-เจชเจ›เจพเจฃ เจตเจฟเฉฑเจš เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ - เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจธเจผเจกเจฟเจŠเจฒเจฐ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจพเจ‚ เจ†เจชเจฃเจพ เจ–เฉเจฆ เจฆเจพ เจฒเจฟเจ–เจฃเจพเฅค เจ•เฉเจฐเฉ‹เจจ เจ•เจพเจฐเจœเจพเจ‚ เจจเฉ‚เฉฐ เจคเจนเจฟ เจ•เจฐเจจ เจฒเจˆ เจฎเฉเฉฑเจ– เจฒเฉ‹เฉœ เจคเจฟเฉฐเจจ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฎเจพเจจ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจตเฉฐเจกเจฃเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเฉ‹เฉœ เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉเจ†เจฐเจพ เจชเฉ‚เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจธเจพเจกเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจธเจผเจกเจฟเจŠเจฒเจฐ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฆเจพ เจ•เฉ‹เจˆ เจฎเจคเจฒเจฌ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฒเจˆ เจนเจฆเจพเจ‡เจคเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจธเจพเจจเฉ‚เฉฐ เจœเจพเจชเจฆเจพ เจธเฉ€ เจ•เจฟ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจ‡เจ•เจพเจˆ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจตเจฐเจ—เฉ€ เจจเจพเจœเจผเฉเจ• เจธเฉ‡เจตเจพ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจตเจฟเฉฑเจš เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจธเฉ€, เจ‡เจธเจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจŸเฉˆเจŸเจฟเจ• เจชเฉ‹เจก เจตเจœเฉ‹เจ‚ เจคเจพเจ‡เจจเจพเจค เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ, เจœเจฟเจธเจฆเฉ€ เจธเจฟเฉฑเจงเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€เฅค เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจฆเฉเจ†เจฐเจพ. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจจเจตเฉ‡เจ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฒเจˆ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจนเจจ:

  1. เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจธเจพเจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฎเจพเจธเจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจธเจŸเฉˆเจŸเจฟเจ• เจชเฉŒเจก เจตเจœเฉ‹เจ‚ เจคเจพเจ‡เจจเจพเจค เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ
  2. เจ•เจธเฉ‚เจฐ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจชเฉŒเจก เจ‰เจชเจฒเจฌเจง เจจเจพ เจนเฉ‹เจตเฉ‡
  3. เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจฎเฉเฉฑเจ– เจคเจฐเจœเฉ€เจน เจจเฉ‹เจก 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ (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

เจฎเฉเฉฑเจ– เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš:

  1. เจชเฉŒเจก เจ…เจคเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเจพ เจจเจพเจฎ kube-scheduler-cron เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ
  2. เจตเจฟเจ•เจฒเจช เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจชเฉ‹เจฐเจŸเจพเจ‚ 10151 เจ…เจคเฉ‡ 10159 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ hostNetwork: true เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจกเจฟเจซเจพเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ (10251 เจ…เจคเฉ‡ 10259) เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‰เจนเฉ€ เจชเฉ‹เจฐเจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค
  3. --config เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจ‡เจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจนเฉˆ เจœเจฟเจธ เจจเจพเจฒ เจธเฉ‡เจตเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจนเฉˆ
  4. เจนเฉ‹เจธเจŸ เจคเฉ‹เจ‚ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒ (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"

เจฎเฉเฉฑเจ– เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš:

  1. เจ…เจธเฉ€เจ‚ เจธเจพเจกเฉ€ เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ-เจ•เฉเจฐเฉ‹เจจ เจธเฉ‡เจตเจพ เจฆเฉ‡ เจจเจพเจฎ เจฒเจˆ เจธเจผเฉˆเจกเจฟเจŠเจฒเจฐ เจจเจพเจฎ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจนเฉˆเฅค
  2. เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจฟเฉฑเจš lockObjectName เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจฆเจพ เจจเจพเจฎ เจตเฉ€ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจ…เจคเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ leaderElect เจธเจนเฉ€ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ (เจœเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจฎเจพเจธเจŸเจฐ เจจเฉ‹เจก เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ—เจฒเจค 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹)เฅค
  3. เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจตเจฐเจฃเจจ เจฆเฉ‡ เจจเจพเจฒ เจซเจพเจˆเจฒ เจฆเจพ เจฎเจพเจฐเจ— เจจเจฟเจธเจผเจšเจฟเจค เจ•เฉ€เจคเจพ 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
}

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ•เจฟเจŠเจฌ-เจธเจกเจฟเจŠเจฒเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจจเฉ‹เจกเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉŒเจก เจจเฉ‚เฉฐ GeneralPredicates เจชเจพเจฒเจฟเจธเฉ€ (เจœเจฟเจธ เจตเจฟเฉฑเจš 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
...

เจธเจฟเฉฑเจŸเจพ

เจ†เจ–เจฐเจ•เจพเจฐ, เจธเจพเจจเฉ‚เฉฐ เจ…เจจเฉเจธเฉ‚เจšเจฟเจค เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจธเฉˆเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฎเจฟเจฒเจฟเจ†, เจœเจฟเจธ เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเจฟเฉฑเจงเฉ‡ เจ•เฉเจฌเฉ‡เจฒเฉ‡เจŸ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ•เฉเจฌเฉ‡-เจธเจกเจฟเจŠเจฒเจฐ เจฆเฉ€เจ†เจ‚ เจชเฉŒเจกเจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจจเฉ‡เจคเจพ เจฆเฉ€ เจšเฉ‹เจฃ เจธเจฅเจพเจชเจค เจ•เฉ€เจคเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจชเฉเจฐเจพเจฃเจพ เจจเฉ‡เจคเจพ เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจ…เจฃเจ‰เจชเจฒเจฌเจง เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ.

เจจเจฟเจฏเจฎเจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจกเจฟเจซเฉŒเจฒเจŸ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉเจ†เจฐเจพ เจคเจนเจฟ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจœเจพเจฐเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจ•เฉเจฐเฉ‹เจจ เจ•เจพเจฐเจœเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจตเฉ‡เจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ•เฉเจฐเฉ‹เจจ เจŸเจพเจธเจ• เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจฒเฉ‹เจก เจนเฉเจฃ เจธเจพเจฐเฉ‡ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจฐเจพเจฌเจฐ เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เจน เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ•เฉเจฐเฉ‹เจจ เจ•เจพเจฐเจœเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจฎเฉเฉฑเจ– เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‰เจธเฉ‡ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เจธ เจจเจพเจฒ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ˜เจพเจŸ เจ•เจพเจฐเจจ เจชเฉŒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจนเจฟเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจœเฉ‹เจ–เจฎ เจจเฉ‚เฉฐ เจ•เจพเจซเจผเฉ€ เจ˜เจŸเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจตเจพเจงเฉ‚ เจ•เจฟเจŠเจฌ-เจธเจผเจกเจฟเจŠเจฒเจฐ เจจเฉ‚เฉฐ เจชเฉ‡เจธเจผ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ•เฉเจฐเฉ‹เจจ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ€ เจ…เจธเจฎเจพเจจ เจธเจฎเจพเจ‚-เจธเจพเจฐเจฃเฉ€ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจนเฉเจฃ เจชเฉˆเจฆเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹เจˆเจ†เจ‚เฅค

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจนเฉ‹เจฐ เจฒเฉ‡เจ– เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹