αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžαŸ’αž„αŸƒαž‘αžΈ 27 αžαŸ‚αž˜αŸαžŸαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž“αŸ’αž“αž·αžŸαžΈαž‘ αž€αžΌαžŠαž€αž˜αŸ’αž˜αž†αŸ’αž“αžΆαŸ† 2019αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž•αŸ’αž“αŸ‚αž€ "DevOps" αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ "αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αŸ” αžœαžΆαž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎ K8s αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αžαŸ’αž–αžŸαŸ‹αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž“αž·αž„αž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αž–αžŸαŸ‹αž”αŸ†αž•αž»αžαŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžαžΆαž˜αž”αŸ’αžšαž–αŸƒαžŽαžΈαž™αžΎαž„αžšαžΈαž€αžšαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰ αžœαžΈαžŠαŸαž’αžΌαž“αŸƒαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ (ៀៀ αž“αžΆαž‘αžΈ αž•αŸ’αžαž›αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž’αžαŸ’αžαž”αž‘) αž“αž·αž„αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž„αŸ’αžαŸαž”αžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž’αžαŸ’αžαž”αž‘αŸ” αž‘αŸ…!

αž…αžΌαžšαž™αžΎαž„αžœαž·αž—αžΆαž‚αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸƒαž–αžΆαž€αŸ’αž™αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αžΈαž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αŸ”

Kubernetes

αž…αžΌαžšαž“αž·αž™αžΆαž™αžαžΆαž™αžΎαž„αž˜αžΆαž“ Docker containers αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΈ? αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž—αžΆαž–αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“ αž“αž·αž„αž—αžΆαž–αž―αž€αŸ„ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž›αŸ’αž’ CI/CD αŸ” αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αžšαžαž™αž“αŸ’αžβ€‹αž”αŸ’αžšαž—αŸαž‘β€‹αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

តើ Kubernetes αž•αŸ’αžαž›αŸ‹αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡?

  1. αž™αžΎαž„αžˆαž”αŸ‹αž‚αž·αžαž’αŸ†αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ "αž–αž–αž€" αž…αž„αŸ’αž€αŸ„αž˜αž’αž»αž„ αž¬αž•αž (αž€αŸ’αžšαž»αž˜αž“αŸƒαž’αž»αž„) αŸ”
  2. αž›αžΎαžŸβ€‹αž–αžΈβ€‹αž“αŸαŸ‡β€‹αž‘αŸ…β€‹αž‘αŸ€αž αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž‚αž·αžβ€‹αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž’αŸ’αžœαžΎβ€‹αž‡αžΆβ€‹αž”αž»αž‚αŸ’αž‚αž›β€‹αž“αŸ„αŸ‡β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž‘αŸ€αžαŸ”ΠΎαž€αŸ’αžšαž»αž˜αž’αŸ†αž‡αžΆαž„αŸ” αž”αŸ‚αž” αž”αž»αž–αŸ’αžœαž”αž‘αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž“αž·αž™αžΆαž™αžαžΆαž˜αžΆαž“αž‚αŸ†αžšαžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž…αŸ†αž“αž½αž“αž€αžšαžŽαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‚αŸ†αžšαžΌαž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž“αŸ„αŸ‡αžœαžαŸ’αžαž»αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ”
  3. αžŠαŸ„αž™αž˜αžΆαž“αž‡αŸ†αž“αž½αž™αž–αžΈ API αž”αŸ’αžšαž€αžΆαžŸ αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αž™αžΎαž„αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈ "αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸƒαž–αž·αž—αž–αž›αŸ„αž€" (αž“αŸ…αž€αŸ’αž“αž»αž„ YAML) αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™ Kubernetes αŸ” αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αžαŸ– αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžšαž”αžŸαŸ‹αžœαžΆαž€αŸαž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž•αž„αžŠαŸ‚αžšαŸ”

αž€αžΆαžšβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αžšαž„β€‹αž’αž“αž’αžΆαž“

αžŸαŸŠαžΈαž—αžΈαž™αžΌ

αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš nginx, php-fpm αž“αž·αž„ mysql αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž–αž·αžαž‡αžΆαž“αžΉαž„αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαŸ‚αž›αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž€αžΆαžšαž’αž“αž’αžΆαž“αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)
(αž›αŸαžαž“αŸ…αž›αžΎαžŸαŸ’αž›αžΆαž™αž‚αžΊ "αžŸαŸαž€" αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž’αžšαžΌαž”αžΈαž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž–αž›αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš)

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž“αŸαŸ‡ αžœαžΆαž‡αžΆαž‘αžΌαž‡αžΈαžαž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ…αž‡αžΆαž€αŸ’αžšαž»αž˜ (αž§αž‘αžΆαž αžšαžŽαŸ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš nginx αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ…αž‡αžΆαž€αŸ’αžšαž»αž˜αžαŸ‚αž˜αž½αž™ "nginx")αŸ” αžœαž·αž’αžΈαžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž“αŸαŸ‡αž‚αžΊαžŠαžΆαž€αŸ‹αž€αŸ’αžšαž»αž˜αž“αžΈαž˜αž½αž™αŸ—αž€αŸ’αž“αž»αž„αž’αž»αž„αž˜αž½αž™αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αž αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž…αžΆαŸ†αžαžΆαž’αž»αž„αž‡αžΆαž’αŸ’αžœαžΈ (αž“αŸ…αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž…)αŸ” αžšαžΌαž”αžšαžΆαž„β€‹αžšαž”αžŸαŸ‹β€‹αž–αž½αž€β€‹αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž‘αžΎαž„β€‹αžŠαŸ„αž™β€‹αžŸαžΆαžšβ€‹αžαŸ‚β€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αžŸαŸ†αžαžΆαž“αŸ‹β€‹αž”αžΈβ€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αžαžΊαžŽαŸ‚αž›β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž‡αžΆβ€‹αž™αžΌαžšβ€‹αž˜αž€β€‹αž αžΎαž™αŸ– αžŸαž˜αžαŸ’αžαž—αžΆαž–, αž…αž“αŸ’αž›αŸ„αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ ΠΈ αž€αŸ’αžšαž»αž˜. αž αžΎαž™αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αžŠαŸ„αž™αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αž (αžšαž½αž˜αž‘αžΆαŸ†αž„ "αžŸαŸ‚αž›" αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαžΌαž…αž‡αžΆ Docker)αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž“αŸαŸ‡ αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž€αŸ’αžšαž»αž˜αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž€αŸ’αžšαž»αž˜αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž˜αž»αžαž„αžΆαžšαžšαž”αžŸαŸ‹αž€αž»αž„αžαžΊαž“αŸαžš (Docker αŸ”αž›αŸ”) αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž€αŸ’αžšαž»αž˜ αžαžΆαž˜αžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αž”αžΆαž“ αž‚αžΊαž‡αžΆαž€αŸ’αžšαž»αž˜αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”

αžαŸ„αŸ‡αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš CPU αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)
(αžαŸ’αž‰αž»αŸ†αž“αž·αž™αžΆαž™αž‘αžΎαž„αžœαž·αž‰αžαžΆ αž›αŸαžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊαž‡αžΆαž€αž“αŸ’αžŸαŸ„αž˜αž’αžšαžΌαž”αžΈαž“αŸƒαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž’αž“αž’αžΆαž“)

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ CPU αžαŸ’αž›αž½αž“αžœαžΆαž˜αžΆαž“αž’αž“αž’αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ (αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαž“αŸαŸ‡αž‚αžΊ 1000)αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž’αžΆαž…αž“αžΉαž„αžαŸ’αžœαŸ‡ (αž•αž›αž”αžΌαž€αž“αŸƒαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹αž€αŸ’αžšαž»αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊ 150+850+460=1460)αŸ” αžαžΎαž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡?

αžαžΊαžŽαŸ‚αž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž…αŸ‚αž€αž…αžΆαž™αž’αž“αž’αžΆαž“ αž αžΎαž™αž’αŸ’αžœαžΎαžœαžΆ "αžŠαŸ„αž™αž™αž»αžαŸ’αžαž·αž’αž˜αŸŒ" αžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž…αŸ†αž“αž½αž“αž’αž“αž’αžΆαž“αžŠαžΌαž…αž‚αŸ’αž“αžΆαžŠαž›αŸ‹αž€αŸ’αžšαž»αž˜αž“αžΈαž˜αž½αž™αŸ—αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸ†αž”αžΌαž„ αžœαžΆαž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš (333>150) αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž…αŸ†αž“αž½αž“αž›αžΎαžŸ (333-150=183) αž“αŸ…αžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž»αž“αž”αž˜αŸ’αžšαž»αž„ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαžšαžœαžΆαž„αž’αž»αž„αž–αžΈαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αŸ– αž’αž»αž„αž‘αžΈαž˜αž½αž™αž˜αžΆαž“αž’αž“αž’αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹ αž‘αžΈαž–αžΈαžš - αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž’αž“αž’αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹ αž‘αžΈαž”αžΈ - αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž’αž“αž’αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαžŸαž€αž˜αŸ’αž˜αž—αžΆαž– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž› "αžŸαŸ’αž˜αŸ„αŸ‡αžαŸ’αžšαž„αŸ‹" αž“αŸ…αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž… - CFS. αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž·αž…αŸ’αž…αž€αžΆαžš αž‘αŸ†αž„αž“αŸ‹ αž’αž»αž„αž“αžΈαž˜αž½αž™αŸ—αŸ” αž§αž‘αžΆαž αžšαžŽαŸαžŠαžΌαž…αž“αŸαŸ‡αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αžšαžŽαžΈαž“αŸƒαž€αž„αŸ’αžœαŸ‡αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„αž‘αžΈαž–αžΈαžš (php-fpm) αŸ” αž’αž“αž’αžΆαž“αž’αž»αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαžšαžœαžΆαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž˜αŸ’αž˜αž€αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαž™αž…αž»αŸ‡ αžŠαŸ„αž™αž‘αž‘αž½αž›αž”αžΆαž“αžαž·αž…αž‡αžΆαž„αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž“αŸƒαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž› CFS αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž αŸ…β€‹αž‘αŸ€αžβ€‹αžαžΆβ€‹αž‘αž˜αŸ’αž„αž“αŸ‹β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž€αŸ†αžŽαžαŸ‹β€‹αž‘αŸ…β€‹αž€αž»αž„αžαžΊαž“αŸαžš αžŸαŸ†αžŽαžΎ. αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžŠαžΌαž…αŸ’αž“αŸαŸ‡ - αžŸαžΌαž˜αž˜αžΎαž›αž”αž“αŸ’αžαŸ‚αž˜αŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‘αžΆαŸ†αž„αž˜αžΌαž›αž–αžΈαž•αŸ’αž“αŸ‚αž€αž˜αŸ’αžαžΆαž„αž‘αŸ€αžαŸ” αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αžŠαžΉαž„αž αžΎαž™αžαžΆαž•αŸ’αž›αžΌαžœαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž‘αžΈαž€αŸ’αžšαž»αž„αžšαŸ‰αžΌαž˜αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž‘αŸ…αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ” αžŸαŸŠαžΈαž—αžΈαž™αžΌαžαŸ‚αž˜αž½αž™ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“ - αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž—αŸ’αž›αžΎαž„αž…αžšαžΆαž…αžšαžŽαŸαŸ” αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž‚αžΊ "αž—αŸ’αž›αžΎαž„αž…αžšαžΆαž…αžšαžŽαŸ"αŸ– αž–αž½αž€αž‚αŸαž”αžΆαž“αž•αŸ’αžŠαž›αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž½αž™αž“αžΌαžœαž–αŸαž›αžœαŸαž›αžΆαž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹ CPU αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ”αž›αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž€αžΌαžαžΆαžšαžΉαž„ (αž€αž˜αŸ’αžšαž·αžαžšαžΉαž„). αž…αžΌαžšαž™αžΎαž„αž…αž„αž…αžΆαŸ†αžœαžΆαžŠαŸ„αž™αžŸαžΆαž˜αž‰αŸ’αž‰ αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹. αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αŸ‚αž€αž…αžΆαž™αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ…αž‚αŸ’αžšαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžš αž“αŸ„αŸ‡αž”αž‰αŸ’αž αžΆαž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αŸ– mysql αž€αŸ†αž–αž»αž„αž”αžΎαž€αž”αžšαžαžΆαž˜αž•αŸ’αž›αžΌαžœ αž αžΎαž™αž“αŸ…αž…αŸ†αžŽαž»αž…αžαŸ’αž›αŸ‡αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαŸŠαžΈαž—αžΈαž™αžΌαžšαž”αžŸαŸ‹αžœαžΆαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžαŸ†αž±αŸ’αž™αžšαž„αŸ‹αž…αžΆαŸ†αžšαž αžΌαžαžŠαž›αŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ” αž‘αŸ†αž“αŸαžš.

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžαŸ„αŸ‡αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… αž“αž·αž„αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αžœαžΆαž‡αžΆαž˜αž½αž™αžŸαŸŠαžΈαž—αžΈαž™αžΌ - αžšαžΌαž”αž—αžΆαž–αžšαž½αž˜αž˜αžΆαž“αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

cgroup αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž–αžΈαžš - αžŸαŸ†αžαžΆαž“αŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆ "αž€αžΆαžšαž”αž„αŸ’αžœαž·αž›" αžŸαžΆαž˜αž‰αŸ’αž‰αž…αŸ†αž“αž½αž“αž–αžΈαžšαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹:

  1. αž‘αŸ†αž„αž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžš (αžŸαŸ†αžŽαžΎ) αž‚αžΊ αž—αžΆαž‚αž αŸŠαž»αž“;
  2. αž—αžΆαž‚αžšαž™αž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαžŸαŸŠαžΈαž—αžΈαž™αžΌαžŸαžšαž»αž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž€αž·αž…αŸ’αž…αž€αžΆαžšαž€αž»αž„αžαžΊαž“αŸαžš (αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹) αž‚αžΊ αž€αžΌαžαžΆ.

αžšαž”αŸ€αž”αžœαžΆαžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ?

αž˜αžΆαž“αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ–

  1. αžαžΎαž’αŸ’αžœαžΈαž‘αŸ…αž‡αžΆ αžŸαŸαž€αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαžΉαž„αž‘αŸ - αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž…αžšαž…αžΆαžšαžΆαž›αŸ‹αž–αŸαž›αŸ”
  2. αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‘αžΆαž€αŸ‹αž‘αž„αž‚αŸ’αž“αžΆαŸ– 50% αž“αŸƒ server αžŠαŸ‚αž›αž˜αžΆαž“ 4 cores αž“αž·αž„ 20 cores αž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ”
  3. αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αžšαž½αž…αž αžΎαž™ αž‘αŸ†αž„αž“αŸ‹αžŠαŸ‚αž›αž›αžΈαž“αž»αž…αžŠαžΉαž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αž½αž€αž‚αŸαž€αŸαž‡αžΆαžŸαžΆαž…αŸ‹αž‰αžΆαžαž·αž•αž„αžŠαŸ‚αžšαŸ”
  4. αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ‚αž›αžŸαž˜αžŸαŸ’αžšαž”αž”αŸ†αž•αž»αžαž‚αžΊαž€αžΆαžšαžœαžΆαžŸαŸ‹αžœαŸ‚αž„αž’αž“αž’αžΆαž“αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš αžœαž·αž“αžΆαž‘αžΈ. αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž‚αž·αžαž‡αžΆαžœαž·αž“αžΆαž‘αžΈαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαž€αŸ‹αž‘αž„αž‘αŸ…αž“αžΉαž„αžœαž·αž“αžΆαž‘αžΈαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαž–αž·αžαŸ– 1 αžœαž·αž“αžΆαž‘αžΈαž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž€αŸ’αž“αž»αž„ 1 αžœαž·αž“αžΆαž‘αžΈαž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ - αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸ’αž“αžΌαž›αžŸαŸŠαžΈαž—αžΈαž™αžΌαž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αž·αž™αžΆαž™ αž–αž½αž€αž‚αŸαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžœαžΆαžŸαŸ‹αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αžαžΊαžŽαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαžŠαŸ„αž™αž–αž½αž€αž‚αŸαž–αŸαž›αžœαŸαž›αžΆαžŸαŸŠαžΈαž—αžΈαž™αžΌαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αžΆαž€αŸ‹αž‘αž„αž‘αŸ…αž“αžΉαž„αž–αŸαž›αžœαŸαž›αžΆαž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαŸ” αžŠαŸ„αž™αžŸαžΆαžšαž›αžΈαž“αž»αž…αž™αž›αŸ‹αž–αžΈαž‘αž˜αŸ’αž„αž“αŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆ/αžŸαŸ’αž“αžΌαž›αžŸαŸŠαžΈαž—αžΈαž™αžΌαž…αŸ’αžšαžΎαž“αž‘αŸ αž™αž“αŸ’αžαž€αžΆαžšαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž€αž”αŸ’αžšαŸ‚αž–αžΈαž˜αž½αž™αž‘αŸ…αž˜αž½αž™αž‘αŸ€αžαŸ”

αžŸαžΌαž˜αž–αž·αž…αžΆαžšαžŽαžΆαž§αž‘αžΆαž αžšαžŽαŸαžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αž“αžΌαž›αžŸαŸŠαžΈαž—αžΈαž™αžΌ 3 αžŠαŸ‚αž›αž•αžαžƒαŸ‚αžšαž…αŸ†αž“αž½αž“αž”αžΈαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‘αž˜αŸ’αž„αž“αŸ‹ (500, 1000 αž“αž·αž„ 1500) αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αž›αŸ‚αž„αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‘αŸ…αž‡αžΆαž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸƒαžŸαŸ’αž“αžΌαž›αžŠαŸ‚αž›αž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αž‚αŸ (0,5, 1 αž“αž·αž„ 1,5) αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž™αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΈαž–αžΈαžš αžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž“αžΉαž„αž˜αžΆαž“αžŸαŸ’αž“αžΌαž›αž–αžΈαžšαžŠαž„ (6) αž αžΎαž™αžŠαžΆαž€αŸ‹αž•αžαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžŸαŸ’αž“αžΌαž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžŽαž“αžΆαž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‚αž»αžŽαž“αžΉαž„ 2 (1, 2 αž“αž·αž„ 3 αžšαŸ€αž„αž‚αŸ’αž“αžΆ)αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αŸαž›αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž•αžαž‘αžΈαž”αž½αž“αž›αŸαž…αž‘αžΎαž„αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸαŸ‡ αžŠαŸ‚αž›αž‘αž˜αŸ’αž„αž“αŸ‹αžšαž”αžŸαŸ‹αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αžΉαž„αž˜αžΆαž“ 3000αŸ” αžœαžΆαžŠαž€αž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž’αž“αž’αžΆαž“αžŸαŸŠαžΈαž—αžΈαž™αžΌ (αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αžŸαŸ’αž“αžΌαž›) αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαžŠαŸ‚αž›αž“αŸ…αžŸαŸαžŸαžŸαž›αŸ‹ αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžŽαž“αžΆαž‘αžΎαž„αžœαž·αž‰ (αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›):

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

Kubernetes αž“αž·αž„αž’αž“αž’αžΆαž“ CPU

αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αž’αž“αž’αžΆαž“ CPU αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžœαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ αž˜αžΈαž›αžΆαžŠαŸ’αžšαžΆαž€αŸ‹, i.e. αžŸαŸ’αž“αžΌαž› 0,001 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž‡αžΆαž‘αž˜αŸ’αž„αž“αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” (αž–αžΆαž€αŸ’αž™αžŠαžŠαŸ‚αž›αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž…/cgroups αžœαžΆαž€αŸ’αž™αžŸαŸαž–αŸ’αž‘αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆ αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž 1000 millicores = 1024 CPU sharesαŸ”) K8s αž’αžΆαž“αžΆαžαžΆαžœαžΆαž˜αž·αž“αžŠαžΆαž€αŸ‹ pods αž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎ server αž‡αžΆαž‡αžΆαž„αž˜αžΆαž“αž’αž“αž’αžΆαž“ CPU αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž›αž”αžΌαž€αž“αŸƒαž‘αž˜αŸ’αž„αž“αŸ‹αž“αŸƒ pods αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αžαžΎαžšαžΏαž„αž“αŸαŸ‡αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαžΆαž™αž€αžΆαžšαžŽαŸαžαžΆαž˜αžΆαž“αžŸαŸ’αž“αžΌαž›αžŸαŸŠαžΈαž—αžΈαž™αžΌαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αžœαžΆαž˜αžΆαž“αŸ” αž αžΎαž™αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαž•αžαžαŸ’αž˜αžΈ αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž–αŸαž› Kubernetes αžŠαžΉαž„αž–αžΈαž…αŸ†αž“αž½αž“αžŸαŸ’αž“αžΌαž›αžŠαŸ‚αž›αž•αžαž“αŸαŸ‡αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž•αžαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αž±αŸ’αž™αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αž“αžΌαž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αŸ”

αžαžΎαž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎ αž˜αž·αž“αž˜αžΆαž“ αžŸαŸ†αžŽαžΎαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ (ឧ. pod αž˜αž·αž“αž˜αžΆαž“αž…αŸ†αž“αž½αž“αžŸαŸ’αž“αžΌαž›αžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžš)? αž…αžΌαžšαž™αžΎαž„αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› Kubernetes αž‡αžΆαž‘αžΌαž‘αŸ…αžšαžΆαž”αŸ‹αž’αž“αž’αžΆαž“αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ pod αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŸαŸ†αžŽαžΎαž‘αžΆαŸ†αž„αž–αžΈαžš (αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž› CFS) αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ (αž…αž„αž…αžΆαŸ†αž—αŸ’αž›αžΎαž„αž…αžšαžΆαž…αžšαžŽαŸ?)αŸ–

  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŸαŸ’αž˜αžΎ αž“αŸ„αŸ‡αž•αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹ QoS αž’αžΆαž“αžΆ. αž…αŸ†αž“αž½αž“αžŸαŸ’αž“αžΌαž›αž“αŸαŸ‡αžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžΆαŸ”
  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ†αžŽαžΎαžαž·αž…αž‡αžΆαž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ - αžαŸ’αž“αžΆαž€αŸ‹ QoS αž’αžΆαž…αž•αŸ’αž‘αž»αŸ‡αž”αžΆαž“αŸ”. αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž™αžΎαž„αžšαŸ†αž–αžΉαž„αžαžΆ pod αžαŸ‚αž„αžαŸ‚αž”αŸ’αžšαžΎ 1 core αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαž‘αŸαŸ– ΠΈΠ½ΠΎΠ³Π΄Π° pod αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž“αŸαŸ‡ (αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αžΆαž“αž’αž“αž’αžΆαž“αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆ)αŸ”
  • αž€αŸαž˜αžΆαž“αžαŸ’αž“αžΆαž€αŸ‹ QoS αž•αž„αžŠαŸ‚αžšαŸ” αž€αžΆαžšαžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αž - αžœαžΆαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αžαžαž›αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡ αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ” αž’αž“αž’αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž–αž½αž€αž‚αŸαž…αž»αž„αž€αŸ’αžšαŸ„αž™αŸ”

αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αž„αž…αžΆαŸ†αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαž»αžŸαž‚αŸ’αž“αžΆαž”αž“αŸ’αžαž·αž…αž”αž“αŸ’αžαž½αž… - αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αž˜αŸ’αž˜αž‡αžΆαžαž·αž“αŸƒαž’αž“αž’αžΆαž“αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαŸ” αž‡αžΆαž‘αžΌαž‘αŸ… αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž˜αžΆαž“αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžαŸ„αŸ‡αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžαž·αŸ” αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž•αžαž•αžαžšαžŸαŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αžšαž αžΌαžαžŠαž›αŸ‹αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž–αž½αž€αžœαžΆαž’αŸ†αžšαž αžΌαžαžŠαž›αŸ‹αž’αžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αžƒαžΆαžαž€αžš OOM αž›αŸαž…αž‘αžΎαž„αž αžΎαž™αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αŸ†αž”αŸ†αž•αž»αž:

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž“αŸαŸ‡αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αžŸαž˜αž“αžΉαž„αž™αžΎαž„αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž’αžΆαž…αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„ αž“αž·αž„αž˜αž·αž“αž‚αž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αžŸαžΌαž˜αž”αŸ’αžšαžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš oom_score_adj.

αž…αžΌαžšαž™αžΎαž„αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αžαŸ’αž“αžΆαž€αŸ‹ QoS αž“αŸƒαžŸαŸŠαžΈαž—αžΈαž™αžΌ αž αžΎαž™αž‚αžΌαžšαž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž˜αŸ’αž›αŸƒ oom_score_adj αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž’αžΆαž‘αž·αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αžαŸˆ

  • αžαž˜αŸ’αž›αŸƒ oom_score_adj αž‘αžΆαž”αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž - -998 - αž˜αžΆαž“αž“αŸαž™αžαžΆαž•αžαž”αŸ‚αž”αž“αŸαŸ‡αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸαŸ‡ αž’αžΆαž“αžΆ.
  • αžαŸ’αž–αžŸαŸ‹αž”αŸ†αž•αž»αž - 1000 - αž‚αžΊ αž€αžΆαžšαžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αžαž‚αŸ’αžšαžΆαž”αŸ‹αž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αž˜αž»αž“αŸ”
  • αžŠαžΎαž˜αŸ’αž”αžΈαž‚αžŽαž“αžΆαžαž˜αŸ’αž›αŸƒαžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹ (αž’αžΆαž…αž•αŸ’αž‘αž»αŸ‡αž”αžΆαž“αŸ”) αž˜αžΆαž“αžšαžΌαž”αž˜αž“αŸ’αžαž˜αž½αž™ αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαžŠαŸ‚αž›αž–αž»αŸ‡αž€αž‰αŸ’αž‡αŸ’αžšαŸ„αž›αžŠαž›αŸ‹αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆ αž’αž“αž’αžΆαž“αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžŠαŸ‚αž› pod αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž“αŸ„αŸ‡ αž‘αŸ†αž“αž„αž‡αžΆαžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αžαž·αž…αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

"αž”αž„αŸ’αžœαž·αž›" αž‘αžΈαž–αžΈαžš - limit_in_bytes - αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αŸ” αž‡αžΆαž˜αž½αž™αžœαžΆ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αž‡αžΆαž„αŸ– αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž…αŸαž‰ αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡ (αž˜αž·αž“αžŠαžΌαž… CPU) αž˜αž·αž“αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžœαžΆαžŸαŸ‹αžœαžΆ (αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†) αž‘αŸαŸ”

αžŸαžšαž»αž”

αž•αžαž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™ requests ΠΈ limits - αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž–αžΈαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CPU αž“αž·αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ–

  1. αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ†αžŽαžΎ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž› Kubernetes αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαŸ‚αž›αž…αŸ‚αž€αž…αžΆαž™ pods αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ”
  2. αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αžαŸ’αž“αžΆαž€αŸ‹ QoS αžšαž”αžŸαŸ‹ pod αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ”
  3. αž‘αž˜αŸ’αž„αž“αŸ‹αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžŽαž“αžΆαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ†αžŽαžΎαžšαž”αžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ”
  4. αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž› CFS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ†αžŽαžΎαžšαž”αžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ”
  5. αžƒαžΆαžαž€αžš OOM αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ†αžŽαžΎαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αŸ”
  6. "αž—αŸ’αž›αžΎαž„αž…αžšαžΆαž…αžšαžŽαŸ" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ”
  7. αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ cgroup αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž‡αžΆαž‘αžΌαž‘αŸ… αžšαžΌαž”αž—αžΆαž–αž“αŸαŸ‡αž†αŸ’αž›αžΎαž™αžŸαŸ†αžŽαž½αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž•αŸ’αž“αŸ‚αž€αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·

K8s cluster-autoscaler

αž…αžΌαžšαž™αžΎαž„αžŸαŸ’αžšαž˜αŸƒαžαžΆαž…αž„αŸ’αž€αŸ„αž˜αž‘αžΆαŸ†αž„αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαž“αŸ‹αž€αžΆαž”αŸ‹αžšαž½αž…αž αžΎαž™ αž αžΎαž™αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž•αžαžαŸ’αž˜αžΈαž˜αž½αž™αŸ” αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž•αžαž˜αž·αž“αž’αžΆαž…αž›αŸαž…αž‘αžΎαž„ αžœαžΆαž–αŸ’αž™αž½αžšαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž– αž˜αž·αž“αž‘αžΆαž“αŸ‹αžŸαž˜αŸ’αžšαŸαž…. αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžœαžΆαž›αŸαž…αž‘αžΎαž„ αž™αžΎαž„αž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αž˜αžΈαž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜ ឬ... αžŠαŸ†αž‘αžΎαž„ cluster-autoscaler αžŠαŸ‚αž›αž“αžΉαž„αž’αŸ’αžœαžΎαžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αŸ– αž”αž‰αŸ’αž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž–αžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž–αž–αž€ (αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ†αžŽαžΎ API) αž αžΎαž™αž—αŸ’αž‡αžΆαž”αŸ‹αžœαžΆαž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡ αž•αžαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αŸ’αžšαž»αž˜ Kubernetes αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’ (αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαžšαž”αžŸαŸ‹αž™αžΎαž„)αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αžŠαžΌαž…αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž˜αžΆαž“ nuances αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž‘αžΈαž“αŸαŸ‡ ...

αžŠαžšαžΆαž”αžŽαžΆαž™αžΎαž„αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ†αž…αž„αŸ’αž€αŸ„αž˜ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž…αž„αŸ’αž€αŸ„αž˜ αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αŸ‡αž›αŸ‚αž„αžαŸ’αž›αž½αž“αž―αž„? αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ pods (αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αž›αŸ‚αž„ hosts) αž‚αžΊαž–αž·αž”αžΆαž€αžŽαžΆαžŸαŸ‹αžαžΆαž˜αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ αž“αž·αž„αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžαŸ’αž›αŸƒαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž’αž“αž’αžΆαž“αŸ” Kubernetes αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ”

αž–αž·αž…αžΆαžšαžŽαžΆαž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž…αŸ†αž“αž½αž“ 3 αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αŸ” αžœαžΆαž˜αžΆαž“ 6 pods: αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αžΆαž“ 2 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αžΈαž˜αž½αž™αŸ—αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž™αžΎαž„αž…αž„αŸ‹αž”αž·αž‘αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αž½αž™αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ kubectl drainαžŠαŸ‚αž›αŸ–

  • αž“αžΉαž„αž αžΆαž˜αžƒαžΆαžαŸ‹αž€αžΆαžšαž•αŸ’αž‰αžΎ pods αžαŸ’αž˜αžΈαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸαŸ‡;
  • αž“αžΉαž„αž›αž»αž”αž•αžαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ”

αžŠαŸ„αž™αžŸαžΆαžš Kubernetes αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž…αŸ†αž“αž½αž“ pods (6) αžœαžΆαžŸαžΆαž˜αž‰αŸ’αž‰ αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰ αž–αž½αž€αžœαžΆαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž›αžΎαž˜αž½αž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž½αž…αž αžΎαž™αžαžΆαž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž•αžαžαŸ’αž˜αžΈαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž™αž“αŸ’αžαž€αžΆαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Kubernetes αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αŸαž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž–αž·αžŸαŸαžŸαž˜αž½αž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžšαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ StatefulSet (αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™) αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž“αžΉαž„αžαž»αžŸαž‚αŸ’αž“αžΆαŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž™αžΎαž„αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžšαžŠαŸ’αž‹αžšαž½αž…αž αžΎαž™ - αž§αž‘αžΆαž αžšαžŽαŸ αž•αžαžƒαŸ‚αžšαž…αŸ†αž“αž½αž“αž”αžΈαž‡αžΆαž˜αž½αž™ MongoDB αžŠαŸ‚αž›αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž“αŸ„αŸ‡αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“ (αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‘αŸ…αž‡αžΆαžαžΌαž… αž¬αž€αŸ†αž αž»αžŸαž˜αž½αž™αž‘αŸ€αžαžŠαŸ‚αž›αžšαžΆαžšαžΆαŸ†αž„αž•αžαž•αžαž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ)αŸ” αž αžΎαž™αž™αžΎαž„αž˜αŸ’αžαž„αž‘αŸ€αžαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αž·αž‘αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αž½αž™αŸ” αžαžΎαž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„?

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

MongoDB αž’αžΆαž… αžŸαŸ’αž›αžΆαž”αŸ‹αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΌαžšαŸ‰αž»αž˜αŸ– αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž”αžΈ αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž–αžΈαžšαžαŸ’αžšαžΌαžœαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž“αŸαŸ‡αŸ” αž˜αž·αž“αž€αžΎαžαž‘αžΎαž„ - αž’αžšαž‚αž»αžŽβ€‹αž…αŸ†αž–αŸ„αŸ‡ PodDisruptionBudget. αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αž’αž”αŸ’αž”αž”αžšαž˜αžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸƒ pods αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαŸ” αžŠαŸ„αž™αžŠαžΉαž„αžαžΆαž•αžαž•αž MongoDB αž˜αž½αž™αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ€αžαž‘αŸ αž αžΎαž™αžƒαžΎαž‰αžαžΆ PodDisruptionBudget αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ MongoDB minAvailable: 2Kubernetes αž“αžΉαž„αž˜αž·αž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž›αž»αž”αž•αžαž‘αŸαŸ”

αž”αž“αŸ’αž‘αžΆαžαŸ‹αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž…αž›αž“αžΆ (αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αž αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰) αž“αŸƒαž•αžαžƒαŸ‚αžš αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž…αž„αŸ’αž€αŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αŸαž‰ αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ PodDisruptionBudget αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž•αŸ’αžŠαŸαž€

αž…αžΌαžšαž™αžΎαž„αž–αž·αž…αžΆαžšαžŽαžΆαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž˜αž½αž™αž‘αŸ€αžαŸ” αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αŸ” αž…αžšαžΆαž…αžšαžŽαŸαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αž€αžŠαž›αŸ‹αž•αžαžšαž”αžŸαŸ‹αžœαžΆ (αž§αž‘αžΆαž αžšαžŽαŸ αž˜αžΆαž“αž”αžΈαž€αŸ’αž“αž»αž„αž…αŸ†αž“αŸ„αž˜αž–αž½αž€αž‚αŸ) αž αžΎαž™αž™αžΎαž„αžœαžΆαžŸαŸ‹αžŸαžΌαž…αž“αžΆαž€αžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αžœαžΆ (αž“αž·αž™αžΆαž™ αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŸαŸŠαžΈαž—αžΈαž™αžΌ)αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž€αžΎαž“αž‘αžΎαž„ αž™αžΎαž„αž€αžαŸ‹αžαŸ’αžšαžΆαžœαžΆαžαžΆαž˜αž€αžΆαž›αžœαž·αž—αžΆαž‚ αž“αž·αž„αž”αž„αŸ’αž€αžΎαž“αž…αŸ†αž“αž½αž“αž•αžαžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™αžŸαŸ†αžŽαžΎαŸ”

αžαŸ’αž„αŸƒαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes αžœαžΆαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž’αŸ’αžœαžΎαžŠαŸ„αž™αžŠαŸƒαž‘αŸαŸ– αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„/αž”αž“αŸ’αžαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž…αŸ†αž“αž½αž“ pods αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžαž˜αŸ’αž›αŸƒαž“αŸƒαžŸαžΌαž…αž“αžΆαž€αžšαž”αž“αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αžœαžΆαžŸαŸ‹αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžŸαŸ†αžŽαž½αžšαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαŸ– αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžœαžΆαžŸαŸ‹αžœαŸ‚αž„ ΠΈ αžšαž”αŸ€αž”αž”αž€αžŸαŸ’αžšαžΆαž™ αž‘αž‘αž½αž›αž”αžΆαž“αžαž˜αŸ’αž›αŸƒ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž›αžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ†αž“αž½αž“ pods) αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžœαžΆαžŸαŸ‹αžœαŸ‚αž„αž”αžΆαž“αž…αŸ’αžšαžΎαž“αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž“αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžœαžΈαžŠαŸαž’αžΌ)

αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαžœαžΆαžαžΆαž˜αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ - αž”αŸ’αžšαž˜αžΌαž›αž˜αŸ‰αŸ‚αžαŸ’αžšαŸ”αž›αŸ” - αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž“αž·αž™αžΆαž™αž›αž˜αŸ’αž’αž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž’αŸ†αž–αžΈ αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž“αž·αž„ Kubernetes. αž αžΎαž™αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“αžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαž‚αžΊ αž–αž·αžŸαŸ„αž’αž“αŸ!

αž˜αžΆαž“ αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž (αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαž·αžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž€αŸ†αž αž»αžŸ) αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž’αžαŸ’αžαž“αŸαž™β€‹αžŠαžΌαž…β€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž˜αŸ” αžαžΎαžœαžΆαžŸαž˜αž αŸαžαž»αž•αž›αž’αŸ’αžœαžΈαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“ αž§αž‘αžΆαž αžšαžŽαŸ php-fpm? αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αž€αž˜αŸ’αž˜αž€αžšαž€αŸ†αž–αž»αž„αžšαžαŸ‹αž…αŸαž‰αž“αŸαŸ‡αž‚αžΊ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹. αž αžΎαž™β€‹αž”αŸ’αžšαžŸαž·αž“β€‹αž”αžΎβ€‹αž€αž˜αŸ’αž˜αž€αžšβ€‹αž…αž”αŸ‹β€‹αž αžΎαž™β€‹αž€αžΆαžšβ€‹αžαž—αŸ’αž‡αžΆαž”αŸ‹β€‹αžαŸ’αž˜αžΈβ€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‘αž‘αž½αž›β€‹αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αžšαž½αž…β€‹αž αžΎαž™αŸ” αžαž·αžαŸ’αžαž·αž—αžΆαž–. αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž–αžΈαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαžαŸ‚αžœαžΆαžŸαŸ‹αžœαŸ‚αž„ αž αžΎαž™αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžαž˜αŸ’αž›αŸƒ αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžαŸ’αžšαžΌαžœαžαŸ‚αž’αž“αž»αžœαžαŸ’αžαŸ”

αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“αž˜αž½αž™

αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž“αŸαŸ‡αž˜αžΆαž“αž€αžΆαžšαž”αž“αŸ’αžαŸ– αž’αŸ†αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž”αž‰αŸ’αžˆαžš αž“αž·αž„αžšαž”αŸ€αž”αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž’αž“αž’αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΈαžŠαŸαž’αžΌαž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαž“αŸ…αž›αžΎ YouTube αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” - Subscribe αžŠαžΎαž˜αŸ’αž”αžΈαž€αž»αŸ†αž²αŸ’αž™αžαž€αžαžΆαž“!

វីដេធូ αž“αž·αž„αžŸαŸ’αž›αžΆαž™

αžœαžΈαžŠαŸαž’αžΌαž–αžΈαž€αžΆαžšαžŸαž˜αŸ’αžαŸ‚αž„ (ៀៀ αž“αžΆαž‘αžΈ)αŸ–

αž”αž‘αž”αž„αŸ’αž αžΆαž‰αž“αŸƒαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαŸ–

PS

αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž’αŸ†αž–αžΈ Kubernetes αž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹