เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹. เปเบ›.: เบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบฒเบญเบฑเบ™เบ™เบตเป‰เบ‚เบญเบ‡ Omioโ€”เบœเบนเป‰เบฅเบงเบกเบเบฒเบ™เป€เบ”เบตเบ™เบ—เบฒเบ‡เบ‚เบญเบ‡เป€เบญเบตเบฃเบปเบšโ€”เป€เบญเบปเบฒเบœเบนเป‰เบญเปˆเบฒเบ™เบˆเบฒเบเบ—เบดเบ”เบชเบฐเบ”เบตเบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบŠเบฑเบšเบŠเป‰เบญเบ™เบžเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเปœเป‰เบฒเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Kubernetes. เบ„เบงเบฒเบกเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบเปเบฅเบฐเบ™เบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบŠเปˆเบงเบเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ‚เบฐเบซเบเบฒเบเบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เปเบ•เปˆเบเบฑเบ‡เบ›เป‰เบญเบ‡เบเบฑเบ™เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ.

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes

เป€เบˆเบปเป‰เบฒเป€เบ„เบตเบเบ›เบฐเบชเบปเบšเบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบ•เบดเบ”เบขเบนเปˆเบšเปˆเบญเบ™, เบขเบธเบ”เบเบฒเบ™เบ•เบญเบšเบชเบฐเปœเบญเบ‡เบ•เปเปˆเบเบฒเบ™เบเบงเบ”เบชเบธเบ‚เบฐเบžเบฒเบš, เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบดเบ”เป„เบ”เป‰เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡? เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เป‚เบ„เบ•เป‰เบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰.

TL; DR:
เบžเบงเบเป€เบฎเบปเบฒเบ‚เปเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ›เบดเบ”เบเบฒเบ™เบˆเปเบฒเบเบฑเบ” CPU เปƒเบ™ Kubernetes (เบซเบผเบทเบ›เบดเบ”เป‚เบ„เบ•เป‰เบฒ CFS เปƒเบ™ Kubelet) เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ Linux kernel เบ—เบตเปˆเบกเบตเป‚เบ„เบ•เป‰เบฒ CFS. เปƒเบ™เบซเบผเบฑเบ เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ เบฎเป‰เบฒเบเปเบฎเบ‡ เปเบฅเบฐ เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบ”เบต bug เบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ throttling เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เปเบฅเบฐเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒ
.

เปƒเบ™ Omio เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡เป‚เบ”เบ Kubernetes. เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบฅเบฑเบ” เปเบฅเบฐเบšเปเปˆเบกเบตเบฅเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes เบชเบฐเป€เบžเบฒเบฐ (เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ Google Kubernetes Engine). เปƒเบ™เบซเบปเบเป€เบ”เบทเบญเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡เปเบšเบšเบชเบธเปˆเบก. เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเปˆเบ™เบ„เป‰เบฒเบ‡ เบซเบผเบทเบขเบธเบ”เบเบฒเบ™เบ•เบญเบšเบชเบฐเปœเบญเบ‡เบ•เปเปˆเบเบฒเบ™เบเบงเบ”เบชเบธเบ‚เบฐเบžเบฒเบš, เบชเบนเบ™เป€เบชเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบžเบถเบ”เบ•เบดเบเปเบฒเบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฑเบšเบชเบปเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™, เปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบญเบปเบฒเบšเบฑเบ™เบซเบฒเบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡.

เบšเบปเบ”เบชเบฐเบซเบผเบธเบšเบ‚เบญเบ‡เบšเบปเบ”เบ‚เบฝเบ™:

  • เบชเบญเบ‡เบชเบฒเบกเบ„เปเบฒเบเปˆเบฝเบงเบเบฑเบšเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเปเบฅเบฐ Kubernetes;
  • เบงเบดเบ—เบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป CPU เปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”;
  • เบงเบดเบ—เบตเบเบฒเบ™เบˆเปเบฒเบเบฑเบ” CPU เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบซเบผเบฒเบเปเบเบ™;
  • เบงเบดเบ—เบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก throttling CPU;
  • เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบšเบฑเบ™โ€‹เบซเบฒโ€‹เปเบฅเบฐ nuancesโ€‹.

เบชเบญเบ‡เบชเบฒเบกเบ„เปเบฒเบเปˆเบฝเบงเบเบฑเบšเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเปเบฅเบฐ Kubernetes

Kubernetes เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปƒเบ™เป‚เบฅเบเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™. เบซเบ™เป‰เบฒเบ—เบตเปˆเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบ•เบปเบ™เปเบกเปˆเบ™ orchestration เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต.

.ะพะฝั‚ะตะนะฝะตั€ั‹

เปƒเบ™เบญเบฐเบ”เบตเบ”, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบชเบดเปˆเบ‡เบ›เบฐเบ”เบดเบ”เป€เบŠเบฑเปˆเบ™ Java JARs/WARs, Python Eggs, เบซเบผเบท executables เป€เบžเบทเปˆเบญเปเบฅเปˆเบ™เปƒเบ™เป€เบŠเบตเบšเป€เบงเบต. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบงเบฝเบเบ‡เบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”: เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก runtime (Java / Python), เบเบฒเบ™เบงเบฒเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก, เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบ•เปเปˆเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ (เป€เบŠเบดเปˆเบ‡เบกเบฑเบเบˆเบฐเป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบš).

เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ›เปˆเบฝเบ™เบ—เบธเบเบขเปˆเบฒเบ‡. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบดเปˆเบ‡เบ›เบฐเบ”เบดเบ”เปเบกเปˆเบ™เบฎเบนเบšเบžเบฒเบšเบšเบฑเบ™เบˆเบธ. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบกเบตเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเป‚เบ„เบ‡เบเบฒเบ™, เปเบ•เปˆเบเบฑเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ (Java / Python / ... ), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป„เบŸเบฅเปŒ / เบŠเบธเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบงเป‰เบเปˆเบญเบ™เปเบฅเบฐเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐ. เปเบฅเปˆเบ™. เบšเบฑเบ™เบˆเบธเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบŠเป‰เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก sandbox เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบกเบตเบญเบฐเปเบ”เบšเป€เบ•เบตเป€เบ„เบทเบญเบ‚เปˆเบฒเบ virtual เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบˆเปเบฒเบเบฑเบ”, เบฅเปเบฒเบ”เบฑเบšเบŠเบฑเป‰เบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบเปˆเบฝเบงเบเบฑเบš CPU เปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบเป‰เบญเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบžเบดเป€เบชเบ”เบ‚เบญเบ‡ Linux kernel - namespaces .

Kubernetes

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเป„เบงเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, Kubernetes เปเบกเปˆเบ™เบ™เบฑเบเบ”เบปเบ™เบ•เบตเบšเบฑเบ™เบˆเบธ. เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบ™เบตเป‰: เป€เบˆเบปเป‰เบฒเปƒเบซเป‰เบกเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบงเบปเป‰เบฒเบงเปˆเบฒ: "Hey, Kubernetes, เปƒเบซเป‰เป€เบ›เบตเบ”เบชเบดเบšเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ–เบฑเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ”เป‰เบงเบเป‚เบ›เป€เบŠเบ”เป€เบŠเบต 2 เบซเบ™เปˆเบงเบเปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ 3 GB เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบญเบฑเบ™, เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ!" Kubernetes เบˆเบฐเบ”เบนเปเบฅเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญ. เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบŠเบญเบโ€‹เบซเบฒโ€‹เบ„เบงเบฒเบกโ€‹เบญเบฒเบ”โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบŸเบฃเบตโ€‹, เป€เบ›เบตเบ”โ€‹เบšเบฑเบ™โ€‹เบˆเบธโ€‹เปเบฅเบฐ restart เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹, เบกเป‰เบงเบ™โ€‹เบญเบญเบโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹. เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, Kubernetes เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบญเบ”เบ–เบญเบ™เบชเปˆเบงเบ™เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฎเบฒเบ”เปเบงเบญเบญเบเป„เบ›เป„เบ”เป‰ เปเบฅเบฐ เป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบšเบปเบšเบซเบผเบฒเบเบซเบผเบฒเบเบŠเบฐเบ™เบดเบ”เบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเบเบฑเบšเบเบฒเบ™เบ™เบณเปƒเบŠเป‰ เปเบฅเบฐ เปเบฅเปˆเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™.

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
Kubernetes เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡ layman เป„เบ”เป‰

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปƒเบ™ Kubernetes เปเบกเปˆเบ™เบซเบเบฑเบ‡

เบ•เบปเบเบฅเบปเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบงเบกเป€เบญเบปเบฒเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต เปเบฅเบฐ Kubernetes เปเบฅเป‰เบง. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบฎเบนเป‰เบงเปˆเบฒเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบซเบผเบฒเบเบญเบฑเบ™เบชเบฒเบกเบฒเบ”เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™.

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฒเบกเบฒเบ”เบ–เบทเบเปเบ•เป‰เบกเบ”เป‰เบงเบเบญเบฒเบžเบฒเบ”เป€เบกเบฑเบ™เบŠเบธเบกเบŠเบปเบ™. เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡ (เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ / เบซเบ™เปˆเบงเบเบ‡เบฒเบ™) เบ–เบทเบเบ™เปเบฒเป„เบ›เปเบฅเบฐเปƒเบซเป‰เบœเบนเป‰เป€เบŠเบปเปˆเบฒเบซเบผเบฒเบ (เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต). Kubernetes เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ. เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™, เบงเบดเบ—เบตเบเบฒเบ™เบฎเบฑเบเบชเบฒเบœเบนเป‰เป€เบŠเบปเปˆเบฒเบˆเบฒเบเบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡เบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™? เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบžเบงเบเป€เบ‚เบปเบฒ, เป€เบงเบปเป‰เบฒเบงเปˆเบฒ, เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบเบนเป‰เบขเบทเบกเบซเป‰เบญเบ‡เบ™เป‰เปเบฒเบชเปเบฒเบฅเบฑเบšเป€เบ„เบดเปˆเบ‡เบกเบทเป‰?

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™เบซเบผเบดเป‰เบ™. CPU เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: "เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™" เบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธ, เปเบฅเบฐเบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบฅเบทเบญเบเบ‚เปเป‰เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ—เบตเปˆเบชเบธเบ”. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™ CPU เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ” เบชเบฒเบกเบฒเบ”เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบชเบฑเบ™เบเบฒเป€เบŠเบปเปˆเบฒ - เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต, เป„เบ”เป‰ เบšเปเปˆเบชเบฒเบกเบฒเบ” เป„เบ›เป€เบเบตเบ™เบ‚เบญเบšเป€เบ‚เบ”เบเปเบฒเบ™เบปเบ”. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบšเบฑเบ™เบซเบฒเป€เบเบตเบ”เบ‚เบทเป‰เบ™ ...

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป เปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™ Kubernetes

Kubernetes เปƒเบŠเป‰เบเบปเบ™เป„เบเบเบฒเบ™เบ›เบดเบ”เบšเบฑเบ‡ (เบ‚เป‰เบฒเบกเบฎเบญเบšเบงเบฝเบ™เป‚เบกเบ‡) เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ kernel เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบˆเปเบฒเบเบฑเบ” CPU. เบ–เป‰เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบเบตเบ™เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”, throttling เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰ (เป€เบŠเบฑเปˆเบ™: เบกเบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบฎเบญเบš CPU เบซเบ™เป‰เบญเบเบฅเบปเบ‡). เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบฅเบฝเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบเบงเบ”เบžเบปเบš. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐ restart เบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบเบฑเบ: เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™ "OOMKilled". เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡ CPU เปเบกเปˆเบ™เบšเปเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒ K8s เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เปƒเบซเป‰ metrics เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰, เบšเปเปˆเปเบกเปˆเบ™เป‚เบ”เบ cgroups.

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป CPU

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
เบงเบดเบ—เบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป CPU เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”

เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบ, เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบตเปˆเบกเบต CPU 4-core เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡.

K8s เปƒเบŠเป‰เบเบปเบ™เป„เบเบเบธเปˆเบกเบ„เบงเบšเบ„เบธเบก (cgroups) เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ (เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเป‚เบ›เป€เบŠเบ”เป€เบŠเบต). เบฎเบนเบšเปเบšเบšเบฅเปเบฒเบ”เบฑเบšเบŠเบฑเป‰เบ™เปเบกเปˆเบ™เบกเบตเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™: เป€เบ”เบฑเบเบ™เป‰เบญเบเบชเบทเบšเบ—เบญเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบเบธเปˆเบกเบžเปเปˆเปเบกเปˆ. เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบเบฒเบ™โ€‹เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เป„เบŸเบฅโ€‹เปŒ virtual (/sys/fs/cgroup). เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, เบ™เบตเป‰เปเบกเปˆเบ™ /sys/fs/cgroup/cpu,cpuacct/*.

K8s เปƒเบŠเป‰เป„เบŸเบฅเปŒ cpu.share เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบชเบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, cgroup เบฎเบฒเบเป„เบ”เป‰เบฎเบฑเบš 4096 เบฎเบธเป‰เบ™เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU - 100% เบ‚เบญเบ‡เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ—เบตเปˆเบกเบตเบขเบนเปˆ (1 core = 1024; เบ™เบตเป‰เปเบกเปˆเบ™เบกเบนเบ™เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ). เบเบธเปˆเบกเบฎเบฒเบเปเบˆเบเบขเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ•เบฒเบกเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบฎเบธเป‰เบ™เบ‚เบญเบ‡เบฅเบนเบเบซเบฅเบฒเบ™เบ—เบตเปˆเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปƒเบ™ cpu.share, เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒ, เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบนเบเบซเบฅเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เปƒเบ™ node Kubernetes เบ›เบปเบเบเบฐเบ•เบด, cgroup เบฎเบฒเบเบกเบตเบชเบฒเบกเบฅเบนเบ: system.slice, user.slice ะธ kubepods. เบชเบญเบ‡เบเบธเปˆเบกเบเปˆเบญเบเบ—เปเบฒเบญเบดเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเปเบˆเบเบขเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰เบขเบนเปˆเบ™เบญเบ K8s. เบญเบฑเบ™โ€‹เบชเบธเบ”โ€‹เบ—เป‰เบฒเบ - kubepods โ€” เบชเป‰เบฒเบ‡เป‚เบ”เบ Kubernetes เป€เบžเบทเปˆเบญเปเบˆเบเบขเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฑเบ.

เปเบœเบ™เบงเบฒเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบเบธเปˆเบกเบเปˆเบญเบเบ—เปเบฒเบญเบดเบ”เปเบฅเบฐเบ—เบตเบชเบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เบปเบ™ 1024 เบฎเบธเป‰เบ™, เบเบฑเบšเบเบธเปˆเบกเบเปˆเบญเบ kuberpod เบˆเบฑเบ”เบชเบฑเบ™ 4096 เบฎเบธเป‰เบ™ เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปเบ™เบงเปƒเบ”: เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบเบธเปˆเบกเบฎเบฒเบเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเบฝเบ‡เปเบ•เปˆ 4096 เบฎเบธเป‰เบ™, เปเบฅเบฐเบœเบปเบ™เบฅเบงเบกเบ‚เบญเบ‡เบฎเบธเป‰เบ™เบ‚เบญเบ‡เบฅเบนเบเบซเบฅเบฒเบ™เบ‚เบญเบ‡เบ™เบฒเบ‡เป€เบเบตเบ™เบˆเปเบฒเบ™เบงเบ™เบ™เบตเป‰เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ (6144)? เบˆเบธเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบกเบนเบ™เบ„เปˆเบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ Linux scheduler (CFS) เปƒเบŠเป‰เบกเบฑเบ™เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบชเบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เป€เบ›เบฑเบ™เบชเบฑเบ”เบชเปˆเบงเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบชเบญเบ‡เบเบธเปˆเบกเบ—เปเบฒเบญเบดเบ”เป„เบ”เป‰เบฎเบฑเบš 680 เบฎเบธเป‰เบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡ (16,6% เบ‚เบญเบ‡ 4096), เปเบฅเบฐ kubepod เป„เบ”เป‰เบฎเบฑเบšเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญ 2736 เบฎเบธเป‰เบ™ เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒ, เบชเบญเบ‡เบเบธเปˆเบกเบ—เปเบฒเบญเบดเบ”เบˆเบฐเบšเปเปˆเบ™เปเบฒเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™.

เป‚เบŠเบเบ”เบต, เบœเบนเป‰เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบกเบตเบเบปเบ™เป„เบเป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เป€เบชเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰. เบกเบฑเบ™เป‚เบญเบ™เบ„เบงเบฒเบกเบญเบฒเบ”เบชเบฒเบกเบฒเบ” "idle" เป„เบ›เบชเบนเปˆเบชเบฐเบ™เบธเบเป€เบเบตเบ—เบปเปˆเบงเป‚เบฅเบ, เบˆเบฒเบเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเปเบˆเบเบขเบฒเบเปƒเบซเป‰เบเบฑเบšเบเบธเปˆเบกเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป€เบžเบตเปˆเบกเป€เบ•เบตเบก (เบเบฒเบ™เป‚เบญเบ™เปเบกเปˆเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เป€เบ›เบฑเบ™เบŠเบธเบ”เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบฎเบญเบš). เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปเบกเปˆเบ™เปƒเบŠเป‰เบเบฑเบšเบฅเบนเบเบซเบฅเบฒเบ™เบ‚เบญเบ‡เบฅเบนเบเบซเบฅเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”.

เบเบปเบ™เป„เบเบ™เบตเป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบเบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบขเปˆเบฒเบ‡เบเบธเบ”เบ•เบดเบ—เปเบฒเปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเปƒเบœเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ "เบฅเบฑเบ" เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเบฒเบเบ„เบปเบ™เบญเบทเปˆเบ™.

เบˆเบณเบเบฑเบ” CPU

เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบ™ K8s เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ: เบ™เบตเป‰ เป€เบ‚เบปเป‰เบฒเปƒเบˆเบœเบดเบ”เบ—เบตเปˆเบชเบธเบ” เปเบฅเบฐเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบชเบฒเบ™เปœเป‰เบญเบเบ—เบตเปˆเบชเบธเบ”.

K8s เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบก เบเบปเบ™เป„เบเป‚เบ„เบ•เป‰เบฒ CFS เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ cfs_period_us ะธ cfs_quota_us เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต cgroup (เป„เบŸเบฅเปŒเบเปเปˆเบ•เบฑเป‰เบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™ cpu.share).

เบŠเบถเปˆเบ‡โ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบˆเบฒเบ cpu.share, เป‚เบ„เบ•เป‰เบฒเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆ เป„เบฅโ€‹เบเบฐโ€‹เป€เบงโ€‹เบฅเบฒ, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ—เบตเปˆเบกเบตเบขเบนเปˆ. cfs_period_us เบเปเบฒเบ™เบปเบ”เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒ (epoch) - เบกเบฑเบ™เปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบต 100000 ฮผs (100 ms). เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เบ„เปˆเบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™ K8s, เปเบ•เปˆเบกเบฑเบ™เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™เบญเบฑเบ™เบŸเบฒเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบœเบนเป‰เบเบณเบ™เบปเบ”เป€เบงเบฅเบฒเปƒเบŠเป‰เบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเป‚เบ„เบ•เป‰เบฒเบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบงเบ„เบทเบ™เปƒเปเปˆ. เป„เบŸเบฅเปŒเบ—เบตเบชเบญเบ‡ cfs_quota_us, เบฅเบฐเบšเบธเป€เบงเบฅเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆ (เป‚เบ„เบ•เป‰เบฒ) เปƒเบ™เปเบ•เปˆเบฅเบฐเบเบธเบ. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบกเบฑเบ™เบเบฑเบ‡เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ microseconds. เป‚เบ„เบ•เป‰เบฒเบญเบฒเบ”เบˆเบฐเป€เบเบตเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒ; เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเปƒเบซเบเปˆเบเบงเปˆเบฒ 100 ms.

เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบชเบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ 16-core (เบ›เบฐเป€เบžเบ”เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบขเบนเปˆ Omio):

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 1: 2 threads เปเบฅเบฐเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ” 200 ms. เบšเปเปˆเบกเบตเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 2: 10 threads เปเบฅเบฐเบˆเปเบฒเบเบฑเบ” 200 ms. Throttling เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบซเบผเบฑเบ‡เบˆเบฒเบ 20 ms, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเปเบกเปˆเบ™เบชเบทเบšเบ•เปเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบญเบตเบ 80 ms.

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ” CPU เป€เบ›เบฑเบ™ 2 เปเบเปˆเบ™; Kubernetes เบˆเบฐเปเบ›เบ„เปˆเบฒเบ™เบตเป‰เป€เบ›เบฑเบ™ 200 ms. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ 200ms เบ‚เบญเบ‡เป€เบงเบฅเบฒ CPU เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ throttling.

เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ„เบงเบฒเบกเบกเปˆเบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เป‚เบ„เบ•เป‰เบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบกเปˆเบ™ 200 ms. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบฐเบซเบ™เบฒเบ™ เบชเบดเบš เบเบฐเบ—เบนเป‰เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ 12-core (เป€เบšเบดเปˆเบ‡เบฎเบนเบšเบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ 2), เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฑเบเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เป‚เบ„เบ•เป‰เบฒเบˆเบฐเบซเบกเบปเบ”เปƒเบ™เบžเบฝเบ‡เปเบ•เปˆ 20 ms (เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ 10 * 20 ms = 200 ms), เปเบฅเบฐเบเบฐเบ—เบนเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฑเบเบ™เบตเป‰เบˆเบฐเบซเป‰เบญเบ. ยป (เบ›เบดเบ”) เบชเปเบฒเบฅเบฑเบš 80 ms เบ•เปเปˆเป„เบ›. เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปเบฅเป‰เบง bug เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบดเบ”เบเบฑเป‰เบ™เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปเบฅเบฐเบšเบฑเบ™เบˆเบธเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเป‚เบ„เบ•เป‰เบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เป€เบกเบตเบ™โ€‹เบเบฒเบ™ throttling เปƒเบ™โ€‹เบเบฑเบโ€‹?

เบžเบฝเบ‡เปเบ•เปˆเป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš pod เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ” cat /sys/fs/cgroup/cpu/cpu.stat.

  • nr_periods โ€” เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เป„เบฅโ€‹เบเบฐโ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹;
  • nr_throttled โ€” เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เป„เบฅโ€‹เบเบฐ throttled เปƒเบ™โ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹ nr_periods;
  • throttled_time โ€” เป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบชเบฐเบชเบปเบกเป€เบ›เบฑเบ™ nanoseconds.

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes

เบกเบตเบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปเบ—เป‰?

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ throttling เบชเบนเบ‡เปƒเบ™เบ—เบธเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบฅเบฒเบงเบขเบนเปˆเปƒเบ™ เป€เบงเบฅเบฒเบซเบ™เบถเปˆเบ‡เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡ เปเบ‚เบ‡โ€‹เปเบฎเบ‡โ€‹เบเบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ„เบดเบ”โ€‹เป„เบฅเปˆโ€‹!

เบญเบฑเบ™เบ™เบตเป‰เบ™เปเบฒเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ•เปˆเบฒเบ‡เป† - เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบžเป‰เบญเบก, เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต freezes, เบเบฒเบ™เบขเบธเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบเบฒเบ™เบซเบกเบปเบ”เป€เบงเบฅเบฒเบžเบฒเบเปƒเบ™เบเบฒเบ™เป‚เบ—เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบญเบฑเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ•เบญเบšเบชเบฐเปœเบญเบ‡เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ เปเบฅเบฐเบญเบฑเบ”เบ•เบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบชเบนเบ‡เบ‚เบถเป‰เบ™.

เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปเบฅเบฐเบœเบปเบ™เบชเบฐเบ—เป‰เบญเบ™

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบ›เบฐโ€‹เบ–เบดเป‰เบกโ€‹เบ‚เปเป‰โ€‹เบˆเปเบฒโ€‹เบเบฑเบ” CPU เปเบฅเบฐโ€‹เป„เบ”เป‰โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡ OS kernel เปƒเบ™โ€‹เบเบธเปˆเบกโ€‹เบเบฑเบšโ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เบซเบฅเป‰เบฒโ€‹เบชเบธเบ”โ€‹, เปƒเบ™โ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚ bug เป„เบ”เป‰โ€‹. เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ” (HTTP 5xx) เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ:

HTTP 5xx เบœเบดเบ”เบžเบฒเบ”

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
HTTP 5xx เบœเบดเบ”เบžเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบซเบ™เบถเปˆเบ‡

เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡ p95

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
เบเบฒเบ™เบ•เบญเบšเบชเบฐเปœเบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เป€เบ›เบตเป€เบŠเบฑเบ™เบ—เบต 95

เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™

เบ‚เบตเบ”เบˆเบณเบเบฑเบ” CPU เปเบฅเบฐเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ—เบตเปˆเบฎเบธเบเบฎเบฒเบ™เปƒเบ™ Kubernetes
เบˆเบณเบ™เบงเบ™เบŠเบปเปˆเบงเป‚เบกเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเปƒเบŠเป‰

เบเบฒเบ™เบˆเบฑเบšเปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก:

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฒเบกเบฒเบ”เปเบ•เป‰เบกเบ”เป‰เบงเบเบญเบฒเบžเบฒเบ”เป€เบกเบฑเบ™เบŠเบธเบกเบŠเบปเบ™... Kubernetes เป€เบฎเบฑเบ”เปœเป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ™เบฒเบเปœเป‰เบฒ. เปเบ•เปˆเบงเบดเบ—เบตเบเบฒเบ™เบฎเบฑเบเบชเบฒเบœเบนเป‰เป€เบŠเบปเปˆเบฒเบˆเบฒเบเบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡เบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™? เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบžเบงเบเป€เบ‚เบปเบฒ, เป€เบงเบปเป‰เบฒเบงเปˆเบฒ, เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบเบนเป‰เบขเบทเบกเบซเป‰เบญเบ‡เบ™เป‰เปเบฒเบชเปเบฒเบฅเบฑเบšเป€เบ„เบดเปˆเบ‡เบกเบทเป‰?

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบˆเบฑเบš. เบ–เบฑเบ‡เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ”เบนเปเบฅเบญเบฑเบ™เปœเบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เบเบดเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เป„เบ”เป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบต stack เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบชเบฐเบซเบผเบฒเบ” (เบ•เบปเบงเบขเปˆเบฒเบ‡, JVM, Go, Node VM เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡), เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบšเบฑเบ™เบซเบฒ: เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™. เปเบ•เปˆโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบšเปเปˆโ€‹เบ”เบตโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เบซเบผเบทโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ›เบฑเบšโ€‹เปƒเบซเป‰โ€‹เป€เบซเบกเบฒเบฐโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ” (FROM java:latest), เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบญเบฒเบ”เบˆเบฐเบญเบญเบเบˆเบฒเบเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก. เบ—เบตเปˆ Omio เบžเบงเบเป€เบฎเบปเบฒเบกเบต Dockerfiles เบžเบทเป‰เบ™เบ–เบฒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบš stack เบžเบฒเบชเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบšเปเปˆเบกเบต.

เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ•เบดเบ”เบ•เบฒเบก metrics เปƒเบŠเป‰ (เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰, เบเบฒเบ™เบญเบตเปˆเบกเบ•เบปเบงเปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”), เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒ API เปเบฅเบฐเบญเบฑเบ”เบ•เบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ„เบฒเบ”เบซเบงเบฑเบ‡.

เป€เบญเบเบฐเบชเบฒเบ™

เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เป€เบญเบเบฐเบชเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบŠเปˆเบงเบเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เบซเบผเบฒเบ:

เบฅเบฒเบเบ‡เบฒเบ™เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ” Kubernetes:

เบ—เปˆเบฒเบ™เบžเบปเบšเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบซเบผเบทเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบšเบฑเบ™เบˆเบธ? เปเบšเปˆเบ‡เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™!

PS เบˆเบฒเบเบ™เบฑเบเปเบ›

เบญเปˆเบฒเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™