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

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

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

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

TL; αž€αž»αž„:
αž™αžΎαž„αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž™αŸ‰αžΆαž„αž˜αž»αžαž˜αžΆαŸ†αž±αŸ’αž™αž”αž·αž‘αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ CPU αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes (αž¬αž”αž·αž‘αž€αžΌαžαžΆ CFS αž“αŸ…αž€αŸ’αž“αž»αž„ Kubelet) αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαž€αŸ†αžŽαŸ‚αžαžΊαžŽαŸ‚αž›αŸ” Linux αž‡αžΆαž˜αž½αž™β€‹αž“αžΉαž„β€‹αž€αŸ†αž αž»αžŸβ€‹αž€αžΌαžαžΆ CFSαŸ” αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αžαžΊαžŽαŸ‚αž› αž‚αžΊαž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“ αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαž“αž·αž„ αž›αŸ’αž”αžΈ αž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αž αž½αžŸαž αŸαžαž» αž“αž·αž„αž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›
.

αž“αŸ… Omio αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™ Kubernetes. αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αž“αž·αž„αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž›αžΎ Kubernetes (αž™αžΎαž„αž”αŸ’αžšαžΎ Google Kubernetes Engine)αŸ” αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαž„αŸ’αž€αŸαžαžƒαžΎαž‰αž€αžΆαžšαžαž™αž…αž»αŸ‡αžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž„αŸ’αž€αž€ αž¬αžˆαž”αŸ‹αž†αŸ’αž›αžΎαž™αžαž”αž“αžΉαž„αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– αž”αžΆαžαŸ‹αž”αž„αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž”αžŽαŸ’αžαžΆαž‰αŸ”αž›αŸ” αž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆαž“αŸαŸ‡αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž™αžΎαž„αž„αžΏαž„αž†αŸ’αž„αž›αŸ‹αž‡αžΆαž™αžΌαžšαžŽαžΆαžŸαŸ‹αž˜αž€αž αžΎαž™ αž αžΎαž™αž‘αžΈαž”αŸ†αž•αž»αžαž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž™αž€αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž™αŸ‰αžΆαž„αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž„αŸ’αžαŸαž”αž“αŸƒαž’αžαŸ’αžαž”αž‘αŸ–

  • αž–αžΆαž€αŸ’αž™αž–αžΈαžšαž”αžΈαž’αŸ†αž–αžΈαž’αž»αž„ αž“αž·αž„ Kubernetes;
  • αžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎ αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž;
  • αžšαž”αŸ€αž”αžŠαŸ‚αž›αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž–αž αž»αžŸαŸ’αž“αžΌαž›;
  • αžšαž”αŸ€αž”αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž”αž·αž‘ CPU;
  • αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αž·αž„ nuances αŸ”

αž–αžΆαž€αŸ’αž™αž–αžΈαžšαž”αžΈαž’αŸ†αž–αžΈαž€αž»αž„αžαžΊαž“αŸαžš αž“αž·αž„ Kubernetes

Kubernetes αž‚αžΊαž‡αžΆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‘αŸ†αž“αžΎαž”αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αž—αžΆαžšαž€αž·αž…αŸ’αž…αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹αžœαžΆαž‚αžΊαž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

.ΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹

αž€αžΆαž›αž–αžΈαž˜αž»αž“ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαžαžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαžŠαžΌαž…αž‡αžΆ Java JARs/WARs Python Eggs αž¬αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“ αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αž–αž½αž€αžœαžΆαž˜αžΆαž“αž˜αž»αžαž„αžΆαžš αž€αžΆαžšαž„αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαŸ– αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš (Java/Python) αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž’αžΆαž“αžΆαž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αŸ†αžŽαŸ‚αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”αž›αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž€αžΆαžšαž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ (αžŠαŸ‚αž›αž‡αžΆαžšαžΏαž™αŸ—αž‡αžΆαž”αŸ’αžšαž—αž–αž“αŸƒαž€αžΆαžšαžˆαŸ’αž›αŸ„αŸ‡αž”αŸ’αžšαž€αŸ‚αž€αž‚αŸ’αž“αžΆαžšαžœαžΆαž„αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’)αŸ”

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

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

Kubernetes

αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαž˜αž»αž“ Kubernetes αž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αžšαŸ€αž”αž…αŸ†αž€αž»αž„αžαžΊαž“αŸαžšαŸ” αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΌαž…αž“αŸαŸ‡αŸ– αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αžœαžΆαž“αžΌαžœαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αž½αž™ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αž·αž™αžΆαž™αžαžΆαŸ– "Hey, Kubernetes, αžαŸ„αŸ‡αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαž”αŸ‹αžŠαž„αž“αŸƒαž€αž»αž„αžαžΊαž“αŸαžšαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž½αžšαž€αŸ’αž”αžΆαž› 2 αž“αž·αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† 3 GB αž“αžΈαž˜αž½αž™αŸ— αž αžΎαž™αž”αž“αŸ’αžαž±αŸ’αž™αž–αž½αž€αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš!" Kubernetes αž“αžΉαž„αžαŸ‚αžšαž€αŸ’αžŸαžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αŸ” αžœαžΆβ€‹αž“αžΉαž„β€‹αžšαž€β€‹αžƒαžΎαž‰β€‹αžŸαž˜αžαŸ’αžαž—αžΆαž–β€‹αž₯αžβ€‹αž‚αž·αžαžαŸ’αž›αŸƒ αž”αžΎαž€β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αž€αž»αž„αžαžΊαž“αŸαžš αž“αž·αž„β€‹αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜β€‹αž–αž½αž€αžœαžΆβ€‹αž‘αžΎαž„αžœαž·αž‰β€‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž”αž‰αŸ’αž…αŸαž‰β€‹αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžβ€‹αž“αŸ…αž–αŸαž›β€‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžŠαžΌαžšβ€‹αž€αŸ†αžŽαŸ‚αŸ”αž›αŸ” αžŸαŸ†αžαžΆαž“αŸ‹ Kubernetes αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαž€αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αžŸαž˜αžšαž˜αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ”

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

αžαžΎαž’αŸ’αžœαžΈαž‘αŸ…αž‡αžΆαžŸαŸ†αžŽαžΎ αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

αž˜αž·αž“αž’αžΈαž‘αŸ αž™αžΎαž„αž”αžΆαž“αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž’αž»αž„ αž“αž·αž„ Kubernetes αŸ” αž™αžΎαž„β€‹αž€αŸβ€‹αžŠαžΉαž„β€‹αžŠαŸ‚αžšβ€‹αžαžΆ αž’αž»αž„β€‹αž…αŸ’αžšαžΎαž“β€‹αž’αžΆαž…β€‹αžŸαŸ’αžαž·αžβ€‹αž“αŸ…β€‹αž›αžΎβ€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αžαŸ‚αž˜αž½αž™αŸ”

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

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

αžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎ αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes

Kubernetes αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαž”αž·αž‘αž”αžΎαž€ (αžšαŸ†αž›αž„αžœαžŠαŸ’αžαž“αžΆαž‘αž·αž€αžΆ) αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΊαžŽαŸ‚αž› αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž›αžΎαžŸαž–αžΈαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸ„αŸ‡ αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€ (ឧ. αžœαžΆαž‘αž‘αž½αž›αž”αžΆαž“αžœαžŠαŸ’αžαžŸαŸŠαžΈαž—αžΈαž™αžΌαžαž·αž…αž‡αžΆαž„αž˜αž»αž“)αŸ” αžŸαŸ†αžŽαžΎ αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžαž»αžŸαŸ—αž‚αŸ’αž“αžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž–αž½αž€αž‚αŸαž„αžΆαž™αžšαž€αžƒαžΎαž‰αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸƒαž•αžαŸˆαžαžΆαžαžΎαžœαžΆαž‡αžΆ "OOMKilled" αžŠαŸ‚αžšαž¬αž‘αŸαŸ” αž€αžΆαžšαž”αž·αž‘αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸŠαžΈαž—αžΈαž™αžΌαž˜αž·αž“αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž‘αŸ αžŠαŸ„αž™αžŸαžΆαžš K8s αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸ„αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž˜αž·αž“αž˜αŸ‚αž“αžŠαŸ„αž™αž€αŸ’αžšαž»αž˜ cgroups αž‘αŸαŸ”

αžŸαŸ†αžŽαžΎ CPU

αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αžŠαŸαžαŸ’αž›αžΆαŸ†αž„αž€αŸ’αž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes
αžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎ CPU αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αž˜αžΆαž“ CPU 4-core αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαŸ”

K8s αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαž€αŸ’αžšαž»αž˜αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ (cgroups) αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž’αž“αž’αžΆαž“ (αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš)αŸ” αž‚αŸ†αžšαžΌαžαžΆαž˜αž‹αžΆαž“αžΆαž“αž»αž€αŸ’αžšαž˜αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαŸ– αž€αž»αž˜αžΆαžšαž‘αž‘αž½αž›αž˜αžšαžαž€αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž€αŸ’αžšαž»αž˜αž˜αŸαŸ” αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž“αŸƒαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž“αž·αž˜αŸ’αž˜αž·αž (/sys/fs/cgroup) αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸƒαžαž½αžšαž€αŸ’αž”αžΆαž›αž“αŸαŸ‡αž‚αžΊ /sys/fs/cgroup/cpu,cpuacct/*.

K8s αž”αŸ’αžšαžΎαž―αž€αžŸαžΆαžš cpu.share αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ‚αž„αž…αŸ‚αž€αž’αž“αž’αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ root cgroup αž‘αž‘αž½αž›αž”αžΆαž“ 4096 αž—αžΆαž‚αž αŸŠαž»αž“αž“αŸƒαž’αž“αž’αžΆαž“ CPU - 100% αž“αŸƒαžαžΆαž˜αž–αž›αžαž½αžšαž€αŸ’αž”αžΆαž›αžŠαŸ‚αž›αž˜αžΆαž“ (1 core = 1024; αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžαž˜αŸ’αž›αŸƒαžαŸαžš) αŸ” αž€αŸ’αžšαž»αž˜ root αž…αŸ‚αž€αž…αžΆαž™αž’αž“αž’αžΆαž“αžαžΆαž˜αžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž…αŸ†αžŽαŸ‚αž€αž“αŸƒαž€αžΌαž“αž…αŸ…αžŠαŸ‚αž›αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ cpu.shareαž αžΎαž™β€‹αž–αž½αž€β€‹αž‚αŸβ€‹αž€αŸβ€‹αž’αŸ’αžœαžΎβ€‹αžŠαžΌαž…β€‹αž‚αŸ’αž“αžΆβ€‹αž“αžΉαž„β€‹αž€αžΌαž“β€‹αž…αŸ…β€‹αžšαž”αžŸαŸ‹β€‹αž–αž½αž€β€‹αž‚αŸ αŸ”αž›αŸ” αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„ Kubernetes αž’αž˜αŸ’αž˜αžαžΆ αž€αŸ’αžšαž»αž˜ root cgroup αž˜αžΆαž“αž€αžΌαž“αž”αžΈαž“αžΆαž€αŸ‹αŸ– system.slice, user.slice ΠΈ kubepods. αž€αŸ’αžšαž»αž˜αžšαž„αž–αžΈαžšαžŠαŸ†αž”αžΌαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™αž’αž“αž’αžΆαž“αžšαžœαžΆαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ†αžαžΆαž“αŸ‹αŸ— αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ… K8s αŸ” αž…αž»αž„αž€αŸ’αžšαŸ„αž™ - kubepods β€” αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™ Kubernetes αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™αž’αž“αž’αžΆαž“αžšαžœαžΆαž„αž•αžαŸ”

αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αžαžΆαž„αž›αžΎαž”αž„αŸ’αž αžΆαž‰αžαžΆαž€αŸ’αžšαž»αž˜αžšαž„αž‘αžΈαž˜αž½αž™ αž“αž·αž„αž‘αžΈαž–αžΈαžšαž”αžΆαž“αž‘αž‘αž½αž›αž“αžΈαž˜αž½αž™αŸ— 1024 αž—αžΆαž‚αž αŸŠαž»αž“αž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αžšαž„ kuberpod αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€ 4096 αž—αžΆαž‚αž αŸŠαž»αž“ αžαžΎβ€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž‘αŸ…β€‹αžšαž½αž…β€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”β€‹αžŽαžΆαŸ– αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€ αž€αŸ’αžšαž»αž˜β€‹αž«αžŸβ€‹αž˜αžΆαž“β€‹αžŸαž·αž‘αŸ’αž’αž·β€‹αž…αžΌαž›β€‹αž”αŸ’αžšαžΎβ€‹αžαŸ‚β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” 4096 αž—αžΆαž‚αž αŸŠαž»αž“ αž αžΎαž™αž•αž›αž”αžΌαž€αž“αŸƒαž—αžΆαž‚αž αŸŠαž»αž“αž“αŸƒαž€αžΌαž“αž…αŸ…αžšαž”αžŸαŸ‹αž“αžΆαž„αž›αžΎαžŸαž–αžΈαž…αŸ†αž“αž½αž“αž“αŸαŸ‡ (6144)? αž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž‚αžΊαžαžΆαžαž˜αŸ’αž›αŸƒαž˜αžΆαž“αž’αžαŸ’αžαž“αŸαž™αž‘αžΌαž‡αžΈαžαž› αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αžšαŸ€αž”αž…αŸ†αž•αŸ‚αž“αž€αžΆαžš Linux (CFS) αž”αŸ’αžšαžΎαžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™αž’αž“αž’αžΆαž“ CPU αžαžΆαž˜αžŸαž˜αžΆαž˜αžΆαžαŸ’αžšαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αž€αŸ’αžšαž»αž˜αž–αžΈαžšαžŠαŸ†αž”αžΌαž„αž‘αž‘αž½αž›αž”αžΆαž“ 680 αž—αžΆαž‚αž αŸŠαž»αž“αž–αž·αž (16,6% αž“αŸƒ 4096) αž αžΎαž™ kubepod αž‘αž‘αž½αž›αž”αžΆαž“αž“αŸ…αžŸαž›αŸ‹ 2736 αž—αžΆαž‚αž αŸŠαž»αž“ αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž•αŸ’αž’αžΆαž€ αž€αŸ’αžšαž»αž˜β€‹αž–αžΈαžšβ€‹αžŠαŸ†αž”αžΌαž„β€‹αž“αžΉαž„β€‹αž˜αž·αž“β€‹αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹β€‹αž’αž“αž’αžΆαž“β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž”αŸ‚αž„αž…αŸ‚αž€β€‹αž“αŸ„αŸ‡β€‹αž‘αŸαŸ”

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

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

αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ

αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αž“αž·αž„αžŸαŸ†αžŽαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ K8s αž˜αžΎαž›αž‘αŸ…αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž€αŸαžŠαŸ„αž™ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαžαŸ’αž›αžΆαŸ†αž„αŸ– αž“αŸαŸ‡ αž”αŸ†αž—αžΆαž“αŸ‹αž”αŸ†αž•αž»αžαŸ” αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž˜αžΆαž“αž―αž€αžŸαžΆαžšαžαž·αž…αž”αŸ†αž•αž»αžαŸ”

K8s αž…αžΌαž›αžšαž½αž˜ αž™αž“αŸ’αžαž€αžΆαžšαž€αžΌαžαžΆ CFS αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αŸ” αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš cfs_period_us ΠΈ cfs_quota_us αž“αŸ…αž€αŸ’αž“αž»αž„αžαž cgroup (αž―αž€αžŸαžΆαžšαž€αŸαž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž•αž„αžŠαŸ‚αžšαŸ” cpu.share).

αž˜αž·αž“αžŠαžΌαž… cpu.share, αž€αžΌαžαžΆαž‚αžΊαž•αŸ’αž’αŸ‚αž€αž›αžΎ αžšαž™αŸˆαž–αŸαž›αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž›αžΎαžαžΆαž˜αž–αž›αžαž½αžšαž€αŸ’αž”αžΆαž›αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ„αŸ‡αž‘αŸαŸ” cfs_period_us αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžšαž™αŸˆαž–αŸαž›αž“αŸƒαžšαž™αŸˆαž–αŸαž› (αžŸαž˜αŸαž™) - αžœαžΆαžαŸ‚αž„αžαŸ‚ 100000 ΞΌs (100 ms) αŸ” αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ K8s αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžΆαž›αŸ‹αž αŸ’αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαž›αž“αŸαŸ‡αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž”αŸ’αžšαžΎαžŸαž˜αŸαž™αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΌαžαžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎαž‘αžΎαž„αžœαž·αž‰αŸ” αž―αž€αžŸαžΆαžšαž‘αžΈαž–αžΈαžš cfs_quota_usαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αž˜αžΆαž“ (αž€αžΌαžαžΆ) αž€αŸ’αž“αž»αž„αžŸαž˜αŸαž™αž“αžΈαž˜αž½αž™αŸ—αŸ” αž…αŸ†αžŽαžΆαŸ†αžαžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž•αž„αžŠαŸ‚αžšαž‡αžΆαž˜αžΈαž€αŸ’αžšαžΌαžœαž·αž“αžΆαž‘αžΈαŸ” αž€αžΌαžαžΆαž’αžΆαž…αž›αžΎαžŸαž–αžΈαž”αŸ’αžšαžœαŸ‚αž„αžŸαž˜αŸαž™; αž“αŸ…αž€αŸ’αž“αž»αž„αž–αžΆαž€αŸ’αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžœαžΆαž’αžΆαž…αž’αŸ†αž‡αžΆαž„ 100 ms αŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž–αžΈαžšαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ 16-core (αž”αŸ’αžšαž—αŸαž‘αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž‘αžΌαž‘αŸ…αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž“αŸ… Omio):

αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αžŠαŸαžαŸ’αž›αžΆαŸ†αž„αž€αŸ’αž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes
αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌ 1: 2 threads αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ 200 ms αŸ” αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€

αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αžŠαŸαžαŸ’αž›αžΆαŸ†αž„αž€αŸ’αž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes
αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌ 2: 10 threads αž“αž·αž„αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ 200 ms αŸ” αž€αžΆαžšαž”αž·αž‘αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 20 ms αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž’αž“αž’αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 80 ms αž•αŸ’αžŸαŸαž„αž‘αŸ€αž

αž…αžΌαžšαž“αž·αž™αžΆαž™αžαžΆαž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌαž‘αŸ… 2 αžαžΊαžŽαŸ‚αž›; Kubernetes αž“αžΉαž„αž”αž€αž”αŸ’αžšαŸ‚αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž‘αŸ…αž‡αžΆ 200 ms αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž€αž»αž„αžαžΊαž“αŸαžšαž’αžΆαž…αž”αŸ’αžšαžΎαž–αŸαž›αžœαŸαž›αžΆ CPU αž’αžαž·αž”αžšαž˜αžΆ 200ms αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αž·αž‘αž”αžΎαž€αŸ”

αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž—αžΆαž–αžŸαž”αŸ’αž”αžΆαž™αžšαžΈαž€αžšαžΆαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αžαžΆαž„αž›αžΎ αž€αžΌαžαžΆαžŠαŸ‚αž›αž˜αžΆαž“αž‚αžΊ 200 ms αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαŸ” αžŠαž”αŸ‹ αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ 12-core (αž˜αžΎαž›αžšαžΌαž”αž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž‘αžΈ 2) αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž•αžαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž‘αŸ†αž“αŸαžš αž€αžΌαžαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž’αžŸαŸ‹αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžαŸ’αžšαžΉαž˜αžαŸ‚ 20 ms (αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈ 10 * 20 ms = 200 ms) αž αžΎαž™αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž•αžαž“αŸαŸ‡αž“αžΉαž„αž–αŸ’αž™αž½αžšαŸ” Β» (αž”αž·αž‘αž”αžΎαž€) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ 80 ms αž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αžšαž½αž…αž αžΎαž™ αž€αŸ†αž αž»αžŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αž…αŸ’αžšαžΎαž“αž–αŸαž€αž€αžΎαžαž‘αžΎαž„ αž αžΎαž™αž€αž»αž„αžαžΊαž“αŸαžšαž˜αž·αž“αž’αžΆαž…αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αŸ†αž–αŸαž‰αž€αžΌαžαžΆαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ”

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžœαžΆαž™αžαž˜αŸ’αž›αŸƒ throttling αž“αŸ…αž€αŸ’αž“αž»αž„ pods?

αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αžΌαž›αž‘αŸ… pod αž αžΎαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· cat /sys/fs/cgroup/cpu/cpu.stat.

  • nr_periods - αž…αŸ†αž“αž½αž“αžŸαžšαž»αž”αž“αŸƒαžšαž™αŸˆαž–αŸαž›αž€αŸ†αžŽαžαŸ‹αž–αŸαž›;
  • nr_throttled - αž…αŸ†αž“αž½αž“αž“αŸƒαžšαž™αŸˆαž–αŸαž›αž”αž·αž‘αž”αžΎαž€αž€αŸ’αž“αž»αž„αžŸαž˜αžΆαžŸαž—αžΆαž– nr_periods;
  • throttled_time - αž–αŸαž›αžœαŸαž›αžΆαž”αž·αž‘αž”αžΎαž€αž‡αžΆ nanoseconds αŸ”

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

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„?

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

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

αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž“αž·αž„αž•αž›αžœαž·αž”αžΆαž€

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

αž€αŸ†αž αž»αžŸ HTTP 5xx

αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ αž“αž·αž„αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αžŠαŸαžαŸ’αž›αžΆαŸ†αž„αž€αŸ’αž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes
αž€αŸ†αž αž»αžŸ HTTP 5xx αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αŸ”

αž–αŸαž›αžœαŸαž›αžΆαž†αŸ’αž›αžΎαž™αžαž” p95

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

αž€αžΆαžšβ€‹αž…αŸ†αžŽαžΆαž™β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš

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

αžαžΎαž’αŸ’αžœαžΈαž‘αŸ…αž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹?

αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αŸ…αžŠαžΎαž˜αž’αžαŸ’αžαž”αž‘αŸ–

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

αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αŸ” αž’αž»αž„αžŠαŸ‚αž›αž˜αž·αž“αž…αŸαŸ‡αžαŸ’αžœαž›αŸ‹αžαŸ’αžœαžΆαž™αž˜αž½αž™αž’αžΆαž…αžŸαŸŠαžΈαž’αž“αž’αžΆαž“ CPU αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž‡αž„αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž†αŸ’αž›αžΆαžαžœαŸƒ (αž§αž‘αžΆαž αžšαžŽαŸ JVM, Go, Node VM αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ) αž“αŸ„αŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž”αž‰αŸ’αž αžΆαž‘αŸαŸ– αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž”αŸ‚αž”αž“αŸαŸ‡αž”αžΆαž“αž™αžΌαžšαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžŸαžΎαžšβ€‹αžαŸ’αžŸαŸ„αž™ αž¬β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžŸαžΎαžšβ€‹αž’αŸ’αžœαžΈβ€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ (FROM java:latest) αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž’αžΆαž…αž…αŸαž‰αž–αžΈαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αŸ” αž“αŸ… Omio αž™αžΎαž„αž˜αžΆαž“ Dockerfiles αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž„αŸ‹αž—αžΆαžŸαžΆαžŸαŸ†αžαžΆαž“αŸ‹αŸ— αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž˜αž·αž“αž˜αžΆαž“αž‘αŸαŸ”

αž™αžΎαž„β€‹αžŸαžΌαž˜β€‹αžŽαŸ‚αž“αžΆαŸ†β€‹αž±αŸ’αž™β€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž˜αŸ‰αŸ‚αžαŸ’αžš αž”αŸ’αžšαžΎ (αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžαž·αžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž€αŸ†αž αž»αžŸ) αž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž› API αž“αž·αž„αž’αžαŸ’αžšαžΆαž€αŸ†αž αž»αžŸαŸ” αž’αžΆαž“αžΆαžαžΆαž›αž‘αŸ’αž’αž•αž›αž†αŸ’αž›αžΎαž™αžαž”αžαžΆαž˜αž€αžΆαžšαžšαŸ†αž–αžΉαž„αž‘αž»αž€αŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαž™αŸ„αž„

αž“αŸαŸ‡αž‡αžΆαžšαžΏαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αžŸαž˜αŸ’αž—αžΆαžšαŸˆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž”αžΆαž“αž‡αž½αž™αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž±αŸ’αž™αž™αž›αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αŸ–

αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž€αŸ†αž αž»αžŸ KubernetesαŸ–

αžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž”αž‰αŸ’αž αžΆαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž¬αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž”αž·αž‘αž”αžΎαž€αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž•αž›αž·αžαž€αž˜αŸ’αž˜αž€αŸ’αž“αž»αž„αž’αž»αž„αž‘αŸ? αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžšαžΏαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹!

PS αž–αžΈαž’αŸ’αž“αž€αž”αž€αž”αŸ’αžšαŸ‚

αžŸαžΌαž˜αž’αžΆαž“αž•αž„αžŠαŸ‚αžšαž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

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

αž‘αž·αž‰αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS, αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS πŸ”₯ αž‘αž·αž‰αžŸαŸαžœαžΆαž”αž„αŸ’αž αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS | ProHoster