Kubernetes: แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก แƒแƒกแƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ?

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

Kubernetes: แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก แƒแƒกแƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ?

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

  • CPU - แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒจแƒ˜
  • แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ - แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒจแƒ˜

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

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

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

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

  • แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜แƒก แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜ โ€” แƒแƒฆแƒฌแƒ”แƒ แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒแƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก/แƒžแƒแƒ“แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ” ns-แƒจแƒ˜ แƒ“แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ–แƒ”/แƒžแƒแƒ“แƒ–แƒ” แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒกแƒแƒฌแƒ”แƒ แƒแƒ“, แƒแƒกแƒ”แƒ•แƒ” แƒแƒจแƒ™แƒแƒ แƒแƒ“ แƒชแƒฎแƒ˜แƒ›แƒแƒ•แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก/แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ (แƒแƒœ แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—), แƒ›แƒแƒ—แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ— แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒจแƒ˜ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒจแƒ˜
  • แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒ™แƒ•แƒแƒขแƒ”แƒ‘แƒ˜ โ€” แƒแƒฆแƒฌแƒ”แƒ แƒ”แƒ— แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ns-แƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ (แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒแƒ แƒ”แƒ›แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”)

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ“แƒ’แƒ”แƒœแƒ”แƒœ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒก:

  • แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”:

    containers:
    - name: app-nginx
      image: nginx
      resources:
        requests:
          memory: 1Gi
        limits:
          cpu: 200m

    แƒ˜แƒ›แƒแƒ—. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, nginx-แƒ˜แƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“, แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› 1 แƒ’ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ“แƒ 0.2 CPU แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”, แƒฎแƒแƒšแƒ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒฃแƒ› แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒแƒ˜แƒฎแƒ›แƒแƒ แƒแƒก 0.2 CPU แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”.

  • แƒ›แƒ—แƒ”แƒš แƒ“แƒแƒœแƒ”แƒ–แƒ” ns:

    apiVersion: v1
    kind: ResourceQuota
    metadata:
      name: nxs-test
    spec:
      hard:
        requests.cpu: 300m
        requests.memory: 1Gi
        limits.cpu: 700m
        limits.memory: 2Gi

    แƒ˜แƒ›แƒแƒ—. แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฏแƒแƒ›แƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ• ns-แƒจแƒ˜ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒแƒฆแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒแƒ“แƒ”แƒก 300 แƒ›-แƒก CPU-แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ 1G-แƒก OP-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜แƒก แƒฏแƒแƒ›แƒ˜ แƒแƒ แƒ˜แƒก 700m CPU-แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ 2G OP-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

  • แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ns-แƒจแƒ˜:

    apiVersion: v1
    kind: LimitRange
    metadata:
      name: nxs-limit-per-container
    spec:
     limits:
       - type: Container
         defaultRequest:
           cpu: 100m
           memory: 1Gi
         default:
           cpu: 1
           memory: 2Gi
         min:
           cpu: 50m
           memory: 500Mi
         max:
           cpu: 2
           memory: 4Gi

    แƒ˜แƒ›แƒแƒ—. แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ• แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ“แƒแƒงแƒ”แƒœแƒ“แƒ”แƒ‘แƒ 100 แƒ› CPU-แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ 1G OP-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ - 1 CPU แƒ“แƒ 2G. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒแƒกแƒ”แƒ•แƒ” แƒ“แƒแƒฌแƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก/แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” CPU (50m < x <2) แƒ“แƒ แƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ (500M < x < 4G).

  • แƒžแƒแƒ“ แƒ“แƒแƒœแƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜ ns:

    apiVersion: v1
    kind: LimitRange
    metadata:
     name: nxs-limit-pod
    spec:
     limits:
     - type: Pod
       max:
         cpu: 4
         memory: 1Gi

    แƒ˜แƒ›แƒแƒ—. แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ ns-แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ 4 vCPU แƒ“แƒ 1G.

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

แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜

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

  1. แƒคแƒ˜แƒšแƒขแƒ แƒแƒชแƒ˜แƒ
  2. แƒ แƒแƒœแƒŸแƒ˜แƒ แƒ”แƒ‘แƒ

แƒ˜แƒ›แƒแƒ—. แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒ แƒฉแƒ”แƒ•แƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒžแƒ แƒ”แƒ“แƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜ (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก, แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก, แƒแƒฅแƒ•แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ™แƒ•แƒแƒœแƒซแƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜ แƒžแƒแƒ“แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ - PodFitsResources), แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ”แƒ‘แƒ˜ แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก, แƒ แƒแƒช แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜ แƒแƒฅแƒ•แƒก แƒ™แƒ•แƒแƒœแƒซแƒก, แƒ›แƒ˜แƒ— แƒ›แƒ”แƒขแƒ˜ แƒฅแƒฃแƒšแƒ แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ แƒ›แƒแƒก - LeastResourceAllocation/LeastRequestedPriority/BalancedResourceAllocation) แƒ“แƒ แƒžแƒแƒ“แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒฅแƒฃแƒšแƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” (แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒก แƒแƒ› แƒžแƒ˜แƒ แƒแƒ‘แƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒ แƒฉแƒ”แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜).

แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒ”แƒกแƒ›แƒแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒ“แƒแƒ›แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜, แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ etcd-แƒจแƒ˜ - แƒ”.แƒ˜. แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒ“แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜/แƒšแƒ˜แƒ›แƒ˜แƒขแƒฃแƒ แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ› แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒ•แƒšแƒ˜แƒ“แƒแƒœ kubectl describe node $NODE, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

# kubectl describe nodes nxs-k8s-s1
..
Non-terminated Pods:         (9 in total)
  Namespace                  Name                                         CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                  ----                                         ------------  ----------  ---------------  -------------  ---
  ingress-nginx              nginx-ingress-controller-754b85bf44-qkt2t    0 (0%)        0 (0%)      0 (0%)           0 (0%)         233d
  kube-system                kube-flannel-26bl4                           150m (0%)     300m (1%)   64M (0%)         500M (1%)      233d
  kube-system                kube-proxy-exporter-cb629                    0 (0%)        0 (0%)      0 (0%)           0 (0%)         233d
  kube-system                kube-proxy-x9fsc                             0 (0%)        0 (0%)      0 (0%)           0 (0%)         233d
  kube-system                nginx-proxy-k8s-worker-s1                    25m (0%)      300m (1%)   32M (0%)         512M (1%)      233d
  nxs-monitoring             alertmanager-main-1                          100m (0%)     100m (0%)   425Mi (1%)       25Mi (0%)      233d
  nxs-logging                filebeat-lmsmp                               100m (0%)     0 (0%)      100Mi (0%)       200Mi (0%)     233d
  nxs-monitoring             node-exporter-v4gdq                          112m (0%)     122m (0%)   200Mi (0%)       220Mi (0%)     233d
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests           Limits
  --------           --------           ------
  cpu                487m (3%)          822m (5%)
  memory             15856217600 (2%)  749976320 (3%)
  ephemeral-storage  0 (0%)             0 (0%)

แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ“แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒ“แƒ˜ แƒ˜แƒ—แƒฎแƒแƒ•แƒก. แƒ“แƒ แƒแƒ˜, แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช cronjob-cron-events-1573793820-xt6q9 pod แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ (แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒ”-10 แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒจแƒ˜ -v=10):

แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜

I1115 07:57:21.637791       1 scheduling_queue.go:908] About to try and schedule pod nxs-stage/cronjob-cron-events-1573793820-xt6q9                                                                                                                                           
I1115 07:57:21.637804       1 scheduler.go:453] Attempting to schedule pod: nxs-stage/cronjob-cron-events-1573793820-xt6q9                                                                                                                                                    
I1115 07:57:21.638285       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s5 is allowed, Node is running only 16 out of 110 Pods.                                                                               
I1115 07:57:21.638300       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s6 is allowed, Node is running only 20 out of 110 Pods.                                                                               
I1115 07:57:21.638322       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s3 is allowed, Node is running only 20 out of 110 Pods.                                                                               
I1115 07:57:21.638322       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s4 is allowed, Node is running only 17 out of 110 Pods.                                                                               
I1115 07:57:21.638334       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, Node is running only 16 out of 110 Pods.                                                                              
I1115 07:57:21.638365       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s12 is allowed, Node is running only 9 out of 110 Pods.                                                                               
I1115 07:57:21.638334       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s11 is allowed, Node is running only 11 out of 110 Pods.                                                                              
I1115 07:57:21.638385       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s1 is allowed, Node is running only 19 out of 110 Pods.                                                                               
I1115 07:57:21.638402       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s2 is allowed, Node is running only 21 out of 110 Pods.                                                                               
I1115 07:57:21.638383       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, Node is running only 16 out of 110 Pods.                                                                               
I1115 07:57:21.638335       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, Node is running only 18 out of 110 Pods.                                                                               
I1115 07:57:21.638408       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s13 is allowed, Node is running only 8 out of 110 Pods.                                                                               
I1115 07:57:21.638478       1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, existing pods anti-affinity terms satisfied.                                                                         
I1115 07:57:21.638505       1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, existing pods anti-affinity terms satisfied.                                                                          
I1115 07:57:21.638577       1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, existing pods anti-affinity terms satisfied.                                                                          
I1115 07:57:21.638583       1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s7 is allowed, Node is running only 25 out of 110 Pods.                                                                               
I1115 07:57:21.638932       1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 9        
I1115 07:57:21.638946       1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 8           
I1115 07:57:21.638961       1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: BalancedResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 9        
I1115 07:57:21.638971       1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7        
I1115 07:57:21.638975       1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: LeastResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 8           
I1115 07:57:21.638990       1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7           
I1115 07:57:21.639022       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: TaintTolerationPriority, Score: (10)                                                                                                        
I1115 07:57:21.639030       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: TaintTolerationPriority, Score: (10)                                                                                                         
I1115 07:57:21.639034       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: TaintTolerationPriority, Score: (10)                                                                                                         
I1115 07:57:21.639041       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: NodeAffinityPriority, Score: (0)                                                                                                            
I1115 07:57:21.639053       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: NodeAffinityPriority, Score: (0)                                                                                                             
I1115 07:57:21.639059       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: NodeAffinityPriority, Score: (0)                                                                                                             
I1115 07:57:21.639061       1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: InterPodAffinityPriority, Score: (0)                                                                                                                   
I1115 07:57:21.639063       1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)                                                                                                                   
I1115 07:57:21.639073       1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: InterPodAffinityPriority, Score: (0)                                                                                                                    
I1115 07:57:21.639077       1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)                                                                                                                    
I1115 07:57:21.639085       1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: InterPodAffinityPriority, Score: (0)                                                                                                                    
I1115 07:57:21.639088       1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)                                                                                                                    
I1115 07:57:21.639103       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)                                                                                                         
I1115 07:57:21.639109       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)                                                                                                          
I1115 07:57:21.639114       1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)                                                                                                          
I1115 07:57:21.639127       1 generic_scheduler.go:781] Host nxs-k8s-s10 => Score 100037                                                                                                                                                                            
I1115 07:57:21.639150       1 generic_scheduler.go:781] Host nxs-k8s-s8 => Score 100034                                                                                                                                                                             
I1115 07:57:21.639154       1 generic_scheduler.go:781] Host nxs-k8s-s9 => Score 100037                                                                                                                                                                             
I1115 07:57:21.639267       1 scheduler_binder.go:269] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10"                                                                                                               
I1115 07:57:21.639286       1 scheduler_binder.go:279] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10": all PVCs bound and nothing to do                                                                             
I1115 07:57:21.639333       1 factory.go:733] Attempting to bind cronjob-cron-events-1573793820-xt6q9 to nxs-k8s-s10

แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜ แƒคแƒ˜แƒšแƒขแƒ แƒแƒ•แƒก แƒ“แƒ แƒแƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒก 3 แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒกแƒ˜แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ (nxs-k8s-s8, nxs-k8s-s9, nxs-k8s-s10). แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒก แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก แƒฅแƒฃแƒšแƒ”แƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ–แƒ” (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก BalancedResourceAllocation, LeastResourceAllocation) แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ—แƒ แƒ“แƒแƒ“แƒ’แƒ˜แƒœแƒ“แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜. แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฏแƒแƒ›แƒจแƒ˜, แƒžแƒแƒ“แƒ˜ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” (แƒแƒฅ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒแƒ  แƒ™แƒ•แƒแƒœแƒซแƒก แƒแƒฅแƒ•แƒก 100037 แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒแƒกแƒ” แƒ แƒแƒ›, แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜แƒ - nxs-k8s-s10).

แƒ’แƒแƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒก: แƒ—แƒฃ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ k8-แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—) แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ”แƒฅแƒ•แƒ˜แƒ•แƒแƒšแƒ”แƒœแƒขแƒฃแƒ แƒ˜, แƒ—แƒ˜แƒ—แƒฅแƒแƒก แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ“แƒ”แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜. แƒ›แƒแƒจแƒแƒกแƒแƒ“แƒแƒ›แƒ”, แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ, แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒ—แƒแƒ“, แƒ’แƒแƒฅแƒ•แƒ— แƒ’แƒšแƒฃแƒขแƒฃแƒœแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒžแƒแƒ“แƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, wowza) แƒ“แƒ แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒแƒก แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ› แƒžแƒแƒ“แƒ›แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒญแƒแƒ›แƒ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› k8-แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒ“แƒ แƒ›แƒแƒก แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒฅแƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ แƒแƒœแƒŸแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก (แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ˜แƒกแƒแƒก), แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ•แƒแƒœแƒซแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒ  แƒแƒฅแƒ•แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒแƒช แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒแƒ แƒแƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก.

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

แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒžแƒแƒ“แƒก แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ 3 QoS แƒ™แƒšแƒแƒกแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜:

  1. แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ - แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒแƒ“แƒจแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ“แƒ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ“แƒ แƒ”แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก
  2. แƒแƒคแƒ”แƒ—แƒฅแƒ”แƒ‘แƒแƒ“แƒ˜ โ€” แƒžแƒแƒ“แƒจแƒ˜ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒก แƒแƒฅแƒ•แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ“แƒ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ— < แƒšแƒ˜แƒ›แƒ˜แƒขแƒ˜
  3. แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ - แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒญแƒฃแƒ แƒญแƒ”แƒšแƒจแƒ˜ แƒแƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒ—

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

  • แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜: -998
  • แฒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒซแƒแƒšแƒ: 1000
  • แƒแƒ“แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜: min(max(2, 1000 - (1000 * memoryRequestBytes) / machineMemoryCapacityBytes), 999)

แƒ˜แƒ›แƒแƒ—. แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒ—, แƒ™แƒฃแƒ‘แƒ”แƒšแƒ”แƒขแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒแƒกแƒแƒฎแƒšแƒ”แƒ‘แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒ— QoS แƒ™แƒšแƒแƒกแƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒ“แƒแƒœ.

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

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒ•แƒขแƒแƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ (HPA)

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ›แƒแƒชแƒแƒœแƒแƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ–แƒ แƒ“แƒ แƒ“แƒ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— (แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ - CPU/RAM แƒแƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ - rps), k8s แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ HPA (Horizontal Pod Autoscaler). แƒ แƒแƒ›แƒšแƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜แƒ:

  1. แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ (currentMetricValue)
  2. แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ (desiredMetricValue), แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
  3. แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ (currentReplicas)
  4. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒคแƒแƒ แƒ›แƒฃแƒšแƒ แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒš แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก (แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ)
    แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ = [แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ * (แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ / แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ)]

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒชแƒ แƒ™แƒแƒ”แƒคแƒ˜แƒชแƒ˜แƒ”แƒœแƒขแƒ˜ (currentMetricValue / แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜MetricValue) 1-แƒก แƒ›แƒ˜แƒฃแƒแƒฎแƒšแƒแƒ•แƒ“แƒ”แƒ‘แƒ (แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ“แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒฉแƒ•แƒ”แƒœ แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ—; แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒแƒ แƒ˜แƒก 0.1).

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก hpa แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช Deployment), แƒกแƒแƒ“แƒแƒช แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ CPU แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—:

  • แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜

    kind: Deployment
    apiVersion: apps/v1beta2
    metadata:
    name: app-test
    spec:
    selector:
    matchLabels:
    app: app-test
    replicas: 2
    template:
    metadata:
    labels:
    app: app-test
    spec:
    containers:
    - name: nginx
    image: registry.nixys.ru/generic-images/nginx
    imagePullPolicy: Always
    resources:
    requests:
    cpu: 60m
    ports:
    - name: http
    containerPort: 80
    - name: nginx-exporter
    image: nginx/nginx-prometheus-exporter
    resources:
    requests:
    cpu: 30m
    ports:
    - name: nginx-exporter
    containerPort: 9113
    args:
    - -nginx.scrape-uri
    - http://127.0.0.1:80/nginx-status

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

  • HPA แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜

    apiVersion: autoscaling/v2beta2
    kind: HorizontalPodAutoscaler
    metadata:
    name: app-test-hpa
    spec:
    maxReplicas: 10
    minReplicas: 2
    scaleTargetRef:
    apiVersion: extensions/v1beta1
    kind: Deployment
    name: app-test
    metrics:
    - type: Resource
    resource:
    name: cpu
    target:
    type: Utilization
    averageUtilization: 30

    แƒ˜แƒ›แƒแƒ—. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— hpa, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒก แƒ’แƒแƒฃแƒฌแƒ”แƒ•แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒก แƒ“แƒ แƒ“แƒแƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, Cpu แƒ˜แƒœแƒ“แƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” (แƒ›แƒแƒ•แƒ”แƒšแƒ˜แƒ—, แƒ แƒแƒ› แƒžแƒแƒ“แƒ˜ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ˜แƒฎแƒ›แƒแƒ แƒแƒก แƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜ CPU-แƒ˜แƒก 30%-แƒก), แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜ 2-10.

    แƒแƒฎแƒšแƒ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— hpa แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒก, แƒ—แƒฃ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ™แƒ”แƒ แƒแƒ–แƒ” แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒแƒ•แƒ—:

     # kubectl top pod
    NAME                                                   CPU(cores)   MEMORY(bytes)
    app-test-78559f8f44-pgs58            101m         243Mi
    app-test-78559f8f44-cj4jz            4m           240Mi

แƒกแƒแƒ”แƒ แƒ—แƒ แƒฏแƒแƒ›แƒจแƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜:

  • แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ (desiredMetricValue) - hpa แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ’แƒ•แƒแƒฅแƒ•แƒก 30%
  • แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ (currentMetricValue) - แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ -แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜ แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก %-แƒจแƒ˜, แƒ”.แƒ˜. แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒ—แƒแƒ“ แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒก:
    1. แƒ˜แƒฆแƒ”แƒ‘แƒก pod แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ˜แƒก แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ›แƒ”แƒขแƒ แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ, แƒ”.แƒ˜. 101แƒ› แƒ“แƒ 4แƒ›
    2. แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก, แƒ”.แƒ˜. (101 แƒ› + 4 แƒ›) / 2 = 53 แƒ›
    3. แƒ˜แƒฆแƒ”แƒ‘แƒก แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ) 60 แƒ› + 30 แƒ› = 90 แƒ›
    4. แƒ˜แƒ—แƒ•แƒšแƒ˜แƒก CPU แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒžแƒแƒ“แƒ—แƒแƒœ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒจแƒ˜, แƒ”.แƒ˜. 53 แƒ› / 90 แƒ› * 100% = 59%

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ˜แƒ›แƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“, แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ—แƒฃ แƒแƒ แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ; แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ—แƒ•แƒแƒšแƒแƒ— แƒ™แƒแƒ”แƒคแƒ˜แƒชแƒ˜แƒ”แƒœแƒขแƒ˜:

ratio = 59% / 30% = 1.96

แƒ˜แƒ›แƒแƒ—. แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒแƒก ~ 2-แƒฏแƒ”แƒ  แƒ“แƒ แƒจแƒ”แƒแƒ“แƒ’แƒ˜แƒœแƒแƒก [2 * 1.96] = 4.

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

แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒ•แƒขแƒแƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ (Cluster Autoscaler)

แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒแƒฌแƒ”แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ” แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ–แƒ”แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ”แƒ˜แƒขแƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ hpa แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, hpa แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ˜แƒก แƒฌแƒงแƒ•แƒ”แƒขแƒก, แƒ แƒแƒ› แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒแƒก 2-แƒฏแƒ”แƒ , แƒ›แƒแƒ’แƒ แƒแƒ› แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก แƒแƒ  แƒแƒฅแƒ•แƒ— แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ แƒแƒ› แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ (แƒแƒœแƒฃ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒ•แƒ”แƒ  แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒžแƒแƒ“แƒจแƒ˜) แƒ“แƒ แƒ”แƒก แƒžแƒแƒ“แƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ›แƒแƒ›แƒšแƒแƒ“แƒ˜แƒœแƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜.

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒก แƒแƒฅแƒ•แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ IaaS/PaaS (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, GKE/GCE, AKS, EKS แƒ“แƒ แƒ.แƒจ.), แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒแƒ•แƒขแƒแƒกแƒ™แƒแƒšแƒ”แƒ แƒ˜. แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ“แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ“แƒแƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒแƒ— แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ (แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก API-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒ— แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก/แƒฌแƒแƒจแƒšแƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—), แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒกแƒ แƒ“แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒจแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒแƒ. แƒ•แƒ”แƒ  แƒ“แƒแƒ˜แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒ (แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒจแƒ˜แƒ).

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

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

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

  1. แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ–แƒฃแƒกแƒขแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก k8s แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—
  2. แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒก โ€žแƒžแƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกโ€œ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ
  3. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก (HPA) แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  4. แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒแƒ•แƒขแƒแƒกแƒ™แƒแƒšแƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (Cluster Autoscaling).

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

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

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