เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes

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

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

เบœเบนเป‰เบŠเปˆเบงเบเบ‡เปˆเบฒเบเบ”เบฒเบ

Kubectl-debug

  • เป€เบ™เบทเป‰เบญเปเบ—เป‰: เป€เบžเบตเปˆเบกเบžเบฒเบŠเบฐเบ™เบฐเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบชเปˆ Pod เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบกเบฑเบ™.
  • GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เป‚เบ”เบเบซเบเปเป‰: 715 เบ”เบฒเบง, 54 commits, 9 เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: เป„เบ›.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

เบ›เบฑเปŠเบเบญเบดเบ™เบ™เบตเป‰เบชเปเบฒเบฅเบฑเบš kubectl เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบ–เบฑเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบžเบฒเบเปƒเบ™ pod เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™ namespace เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเบฑเบšเบšเบฑเบ™เบˆเบธเบญเบทเปˆเบ™เป†. เปƒเบ™เบกเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” debug เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฑเบ: เบเบงเบ”เป€เบšเบดเปˆเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบŸเบฑเบ‡เบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบ•เบดเบ”เบ•เบฒเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเบฐเบซเบผเบฑเบšเบเบฑเบšเบšเบฑเบ™เบˆเบธเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™ chroot /proc/PID/root - เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบชเบฐเบ”เบงเบเบซเบผเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบญเบปเบฒเป€เบ›เบทเบญเบเบฎเบฒเบเบขเบนเปˆเปƒเบ™เบ–เบฑเบ‡เบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ manifest securityContext.runAs.

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

เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบฒเบ‡เป„เบ

  • เป€เบ™เบทเป‰เบญเปเบ—เป‰: เป‚เบญเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป„เบ›เบเบฑเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบžเบฑเบ”เบ—เบฐเบ™เบฒ เปเบฅเบฐเบ”เบตเบšเบฑเบเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.
  • เป€เบงเบฑเบšเป„เบŠเบ—เปŒ; GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เป‚เบ”เบเบซเบเปเป‰: 2131 เบ”เบฒเบง, 2712 commits, 33 เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: Python.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡ snap-in เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบง container เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบœเบนเป‰เปƒเบŠเป‰เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบฅเบฐเบ•เบปเบงเปเบ—เบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฒเบ cluster เบเบฑเบšเบกเบฑเบ™เปเบฅเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป‚เบ”เบเบžเบฝเบ‡เปเบ•เปˆเปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเปƒเบ™ IDE เบ—เบตเปˆเบ—เปˆเบฒเบ™เบกเบฑเบ: เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบ—เบฑเบ™เบ—เบต.

ะŸะปัŽัั‹ ะปะพะบะฐะปัŒะฝะพะณะพ ะทะฐะฟัƒัะบะฐ โ€” ัƒะดะพะฑัั‚ะฒะพ ะฟั€ะฐะฒะพะบ ะธ ะผะพะผะตะฝั‚ะฐะปัŒะฝั‹ะน ั€ะตะทัƒะปัŒั‚ะฐั‚, ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะพั‚ะปะฐะถะธะฒะฐั‚ัŒ ะฟั€ะธะปะพะถะตะฝะธะต ะฟั€ะธะฒั‹ั‡ะฝั‹ะผ ัะฟะพัะพะฑะพะผ. ะ˜ะท ะผะธะฝัƒัะพะฒ โ€” ั‚ั€ะตะฑะพะฒะฐั‚ะตะปัŒะฝะพัั‚ัŒ ะบ ัะบะพั€ะพัั‚ะธ ัะพะตะดะธะฝะตะฝะธั, ั‡ั‚ะพ ะพัะพะฑะตะฝะฝะพ ะทะฐะผะตั‚ะฝะพ, ะบะพะณะดะฐ ะฟั€ะธั…ะพะดะธั‚ัั ั€ะฐะฑะพั‚ะฐั‚ัŒ ั ะฟั€ะธะปะพะถะตะฝะธะตะผ ั ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะฒั‹ัะพะบะธะผ RPS ะธ ั‚ั€ะฐั„ะธะบะพะผ. ะšั€ะพะผะต ั‚ะพะณะพ, ัƒ Telepresence ะตัั‚ัŒ ะฟั€ะพะฑะปะตะผั‹ ั volume mounts ะฒ Windows, ั‡ั‚ะพ ะผะพะถะตั‚ ัั‚ะฐั‚ัŒ ั€ะตัˆะฐัŽั‰ะธะผ ะพะณั€ะฐะฝะธั‡ะธั‚ะตะปะตะผ ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ, ะฟั€ะธะฒั‹ะบัˆะธะผ ะบ ัั‚ะพะน ะžะก.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Telepresence เปเบฅเป‰เบง เบ—เบตเปˆเบ™เบตเป‰.

Ksync

  • เป€เบ™เบทเป‰เบญเปเบ—เป‰: เบเบฒเบ™เบŠเบดเป‰เบ‡เบฅเบฐเบซเบฑเบ”เป€เบเบทเบญเบšเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เบเบฑเบš container เปƒเบ™เบเบธเปˆเบก.
  • GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เป‚เบ”เบเบซเบเปเป‰: 555 เบ”เบฒเบง, 362 commits, 11 เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: เป„เบ›.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

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

เป€เบกเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ„เบฑเป‰เบ‡เบ”เบฝเบงเป‚เบ”เบเบ„เปเบฒเบชเบฑเปˆเบ‡ ksync init DaemonSet เบ–เบทเบเบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เบเบธเปˆเบก, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเป€เบฅเบทเบญเบ. เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบฅเบฒเบง, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ ksync watch, เป€เบŠเบดเปˆเบ‡เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบเบฒเบ™เปเบฅเปˆเบ™ เบชเบฑเบšเบชเบปเบ™, เป€เบŠเบดเปˆเบ‡ synchronizes เป„เบŸเบฅเปŒเป‚เบ”เบเบเบปเบ‡เบเบฑเบšเบเบธเปˆเบก.

เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเปเบ™เบฐเบ™เปเบฒ ksync เบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡ synchronize เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆ. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰:

ksync create --name=myproject --namespace=test --selector=app=backend --container=php --reload=false /home/user/myproject/ /var/www/myproject/

...เบˆเบฐเบชเป‰เบฒเบ‡เบœเบนเป‰เป€เบšเบดเปˆเบ‡เบŠเบทเปˆ myprojectเป€เบŠเบดเปˆเบ‡เบˆเบฐเบŠเบญเบเบซเบฒเบเบฑเบเบ—เบตเปˆเบกเบตเบ›เป‰เบฒเบเบŠเบทเปˆ app=backend เปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบก synchronize เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ /home/user/myproject/ เบเบฑเบšเบฅเบฒเบเบเบฒเบ™ /var/www/myproject/ เบขเบนเปˆเบ—เบตเปˆเบšเบฑเบ™เบˆเบธเป€เบญเบตเป‰เบ™เบงเปˆเบฒ php.

เบšเบฑเบ™เบซเบฒ เปเบฅเบฐเบšเบฑเบ™เบ—เบถเบเบเปˆเบฝเบงเบเบฑเบš ksync เบˆเบฒเบเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

  • เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เปƒเบ™ nodes cluster Kubernetes overlay2 เป€เบ›เบฑเบ™เป„เบ”เป€เบงเบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเปเบฒเบฅเบฑเบš Docker. เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™.
  • เบเบฒเบ™ เบ™เบณ เปƒเบŠเป‰ Windows ะฒ ะบะฐั‡ะตัั‚ะฒะต ะžะก ะบะปะธะตะฝั‚ะฐ ะฒะพะทะผะพะถะฝะฐ ะฝะตะบะพั€ั€ะตะบั‚ะฝะฐั ั€ะฐะฑะพั‚ะฐ watcherโ€™ะฐ ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผั‹. ะ”ะฐะฝะฝั‹ะน ะฑะฐะณ ะทะฐะผะตั‡ะตะฝ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ั ะบั€ัƒะฟะฝั‹ะผะธ ะบะฐั‚ะฐะปะพะณะฐะผะธ โ€” ั ะฑะพะปัŒัˆะธะผ ะบะพะปะธั‡ะตัั‚ะฒะพะผ ะฒะปะพะถะตะฝะฝั‹ั… ั„ะฐะนะปะพะฒ ะธ ะดะธั€ะตะบั‚ะพั€ะธะน. ะœั‹ ัะพะทะดะฐะปะธ เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡ เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ synching, เปเบ•เปˆเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบทเบšเบซเบ™เป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™เป€เบ—เบทเปˆเบญ (เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ•เบปเป‰เบ™เป€เบ”เบทเบญเบ™เบเปเบฅเบฐเบเบปเบ”).
  • เปƒเบŠเป‰เป„เบŸเบฅเปŒ .stignore เป€เบžเบทเปˆเบญเบฅเบฐเบšเบธเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ เบซเบผเบทเบฎเบนเบšเปเบšเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ–เบทเบ synchronized (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต app/cache ะธ .git).
  • เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, ksync เบˆเบฐเบ›เบดเบ”เป€เบ›เบตเบ”เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบ„เบทเบ™เปƒเปเปˆเบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเป„เบŸเบฅเปŒเบ›เปˆเบฝเบ™. เบชเปเบฒเบฅเบฑเบš Node.js เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ”เบงเบ, เปเบ•เปˆเบชเปเบฒเบฅเบฑเบš PHP เบกเบฑเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบซเบกเบปเบ”. เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบ›เบดเบ” opcache เปเบฅเบฐเปƒเบŠเป‰เบ—เบธเบ‡ --reload=false.
  • เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเปเบเป‰เป„เบ‚เป„เบ”เป‰เบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ $HOME/.ksync/ksync.yaml.

Squash

  • เป€เบ™เบทเป‰เบญเปเบ—เป‰: เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบเป‚เบ”เบเบเบปเบ‡เปƒเบ™เบเบธเปˆเบก.
  • GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เป‚เบ”เบเบซเบเปเป‰: 1154 เบ”เบฒเบง, 279 commits, 23 เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: เป„เบ›.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ debugging เป‚เบ”เบเบเบปเบ‡เปƒเบ™เบเบฑเบ. เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบ debugger เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ (เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰) เปเบฅเบฐ namespace + pod, เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปเบŠเบเปเบŠเบ‡. เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹:

  • delve - เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Go;
  • GDB - เบœเปˆเบฒเบ™เบ—เบฒเบ‡เป„เบเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ + เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบžเบญเบ”;
  • เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบžเบญเบ” JDWP เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ”เบตเบšเบฑเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Java.

เปƒเบ™เบ”เป‰เบฒเบ™ IDE, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™ VScode เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ (เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ), เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เปเบœเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ›เบตเบ›เบฐเบˆเบธเบšเบฑเบ™ (2019) เบฅเบงเบกเบกเบต Eclipse เปเบฅเบฐ Intellij.

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

เบเบฒเบ™เปเบเป‰เป„เบ‚เบชเปเบฒเป€เบฅเบฑเบ”

เบ‚เปเปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบ›เบทเบ™เปƒเบซเบเปˆ - เป‚เบ„เบ‡เบเบฒเบ™ "เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ" เบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบ—เบฑเบ™เบ—เบต.

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

DevSpace

  • เป€เบ™เบทเป‰เบญเปเบ—เป‰: เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™ Kubernetes, เปเบ•เปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบˆเบฒเบฐเป€เบฅเบดเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ›เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™.
  • GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เบชเบฑเป‰เบ™เป†: 630 เบ”เบฒเบง, 1912 commits, 13 เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: เป„เบ›.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

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

เป€เบกเบทเปˆเบญเปเบฅเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ devspace init เปƒเบ™เบฅเบฒเบเบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเป€เบซเบ™เบต (เป‚เบ•เป‰เบ•เบญเบš):

  • เป€เบฅเบทเบญเบเบเบธเปˆเบก Kubernetes เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ,
  • เปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง Dockerfile (เบซเบผเบทเบชเป‰เบฒเบ‡เบญเบฑเบ™เปƒเบซเบกเปˆ) เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ container เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบกเบฑเบ™,
  • เป€เบฅเบทเบญเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฎเบนเบšเบžเบฒเบšเบšเบฑเบ™เบˆเบธ, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ devspace dev. เบกเบฑเบ™เบˆเบฐเบชเป‰เบฒเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต, เบญเบฑเบšเป‚เบซเบผเบ”เบกเบฑเบ™เปƒเบชเปˆเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบกเป‰เบงเบ™เบเบฒเบ™เบ™เปเบฒเป„เบ›เปƒเบŠเป‰เบเบฑเบšเบเบธเปˆเบกเปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบžเบญเบ”เปเบฅเบฐ synchronization เบ‚เบญเบ‡ container เบเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

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

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

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ devspace.yaml. เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปƒเบ™เบกเบฑเบ™, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ Kubernetes manifests, เบžเบฝเบ‡เปเบ•เปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ.

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

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, MySQL DBMS) เบซเบผเบทเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™. เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™ เป€เบญเบเบฐเบชเบฒเบ™ - เบกเบฑเบ™โ€‹เบšเปเปˆโ€‹เบชเบฑเบšโ€‹เบชเบปเบ™โ€‹.

Skaffold

  • เป€เบงเบฑเบšเป„เบŠเบ—เปŒ; GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เป‚เบ”เบเบซเบเปเป‰: 7423 เบ”เบฒเบง, 4173 commits, 136 เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: เป„เบ›.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ™เบตเป‰เบˆเบฒเบ Google เบญเป‰เบฒเบ‡เบงเปˆเบฒเบเบงเบกเป€เบญเบปเบฒเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบฐเบซเบฑเบ”เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบเบธเปˆเบก Kubernetes. เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบŠเป‰เบกเบฑเบ™เบšเปเปˆเบ‡เปˆเบฒเบเบ„เบทเบเบฑเบš devspace: เบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบžเบฒเบชเบฒ เปเบฅเบฐเบเบฒเบ™เบชเป‰เบฒเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” Dockerfile เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเบชเบฐเป€เปœเบตเปƒเบซเป‰เป€เบˆเบปเป‰เบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ–เป‰เบฒเบชเบดเปˆเบ‡เบ™เบตเป‰เบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบˆเบปเป‰เบฒเบขเป‰เบฒเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆ Skaffold เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”:

  • เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡.
  • เบŠเบดเป‰เบ‡เบกเบฑเบ™เบเบฑเบšเบ–เบฑเบ‡เบเบฑเบเบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ›เบฐเบเบญเบš.
  • เป€เบเบฑเบšเป€เบญเบปเบฒเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”, เบ–เป‰เบฒเบžเบฒเบชเบฒเบ–เบทเบเบ•เบตเบ„เบงเบฒเบก, เบซเบผเบทเบฅเบงเบšเบฅเบงเบกเบชเบดเปˆเบ‡เบ›เบฐเบ”เบดเบ”เปเบฅเบฐเบšเบฑเบ™เบˆเบธเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ–เบฑเบ‡.
  • เบฎเบนเบšเบžเบฒเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ container-structure-test.
  • เบเบฒเบ™เบ•เบดเบ”เปเบ—เบฑเบ เปเบฅเบฐเบญเบฑเบšเป‚เบซเบฅเบ”เบฎเบนเบšเบžเบฒเบšเปƒเบชเปˆ Docker Registry.
  • เบ™เบณเปƒเบŠเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™เบเบธเปˆเบกเป‚เบ”เบเปƒเบŠเป‰ kubectl, Helm เบซเบผเบท customize.
  • เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบžเบญเบ”.
  • เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ”เบตเบšเบฑเบเบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ Java, Node.js, Python.

เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เปˆเบฒเบ‡เป†เปเบกเปˆเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เปƒเบ™เป„เบŸเบฅเปŒ skaffold.yaml. เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบซเบผเบฒเบเป‚เบ›เบผเป„เบŸเบฅเปŒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบšเบฒเบ‡เบชเปˆเบงเบ™เบซเบผเบทเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบเปเบฒเบ™เบปเบ”เบฎเบนเบšเบžเบฒเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบชเบฐเบ”เบงเบเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™เปเบฅเบฐเบเบฒเบ™เบœเบฐเบฅเบดเบ” - เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡ (+ เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰. securityContext containers เบซเบผเบท redefine เบเบธเปˆเบกเบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ deploy).

Docker containers เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบซเบผเบทเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ: เปƒเบ™ Google Cloud Build เบซเบผเบทเบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเป‚เบ”เบเปƒเบŠเป‰ Kaniko. Bazel เปเบฅเบฐ Jib Maven/Gradle เบเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ tagging, Skaffold เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบผเบฒเบเบเบธเบ”เบ—เบฐเบชเบฒเบ”: เป‚เบ”เบ git commit hash, เบงเบฑเบ™เบ—เบต / เป€เบงเบฅเบฒ, sha256-sum เบ‚เบญเบ‡เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบ–เบฑเบ‡เบ—เบปเบ”เบชเบญเบš. เบเบญเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปเบฅเป‰เบงเบชเบฐเป€เบซเบ™เบตเบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบšเปเบฅเบดเบšเบปเบ”เบ‚เบญเบ‡ container เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบญเบญเบเปเบฅเบฐเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡.
  • เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบ™เบ–เบฑเบ‡เปเบฅเบฐเบเบปเบ‡เบเบฑเบšเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰.
  • เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เป€เบ™เบทเป‰เบญโ€‹เปƒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบดโ€‹.
  • เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เป€เบกเบ•เบฒเป€เบ”เบ•เบฒเบ‚เบญเบ‡เบฎเบนเบšเบžเบฒเบš (ENV, ENTRYPOINT, VOLUMES เปเบฅเบฐเบญเบทเปˆเบ™เป†.).
  • เบเบณเบฅเบฑเบ‡เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”.

เบเบฒเบ™เบŠเบดเป‰เบ‡เป„เบŸเบฅเปŒเบเบฑเบšเบžเบฒเบŠเบฐเบ™เบฐเปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบ”เป‰เบงเบเบงเบดเบ—เบตเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”: Skaffold เบžเบฝเบ‡เปเบ•เปˆเบชเป‰เบฒเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ”เป‰เบงเบเปเบซเบผเปˆเบ‡เบ•เปˆเบฒเบ‡เป†, เบ„เบฑเบ”เบฅเบญเบเบกเบฑเบ™เปเบฅเบฐเป€เบญเบปเบฒเบกเบฑเบ™เบญเบญเบเบˆเบฒเบเบ–เบฑเบ‡ (เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡ tar). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบงเบฝเบเบ‡เบฒเบ™เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบกเปˆเบ™เบเบฒเบ™ synchronization เบฅเบฐเบซเบฑเบ”, เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเบเบฒเบ™เปเบเป‰เป„เบ‚เบžเบดเป€เบชเบ” (ksync).

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes
เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ Skaffold

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” abstracts เบˆเบฒเบ Kubernetes manifests เปเบฅเบฐเบšเปเปˆเบกเบตเบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เปƒเบ”เป†, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš. เปเบ•เปˆเบ™เบตเป‰เบเบฑเบ‡เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบกเบฑเบ™ - เบชเบดเบ”เป€เบชเบฅเบตเบžเบฒเบšเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ.

เบชเบงเบ™

  • เป€เบงเบฑเบšเป„เบŠเบ—เปŒ; GitHub.
  • เบชเบฐเบ–เบดเบ•เบด GH เป‚เบ”เบเบซเบเปเป‰: 1063 เบ”เบฒเบง, 1927 commits, 17 เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.
  • เบžเบฒเบชเบฒ: TypeScript (เบกเบฑเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเปเบเบเป‚เบ„เบ‡เบเบฒเบ™เบญเบญเบเป€เบ›เบฑเบ™เบซเบผเบฒเบเบญเบปเบ‡เบ›เบฐเบเบญเบš, เป€เบŠเบดเปˆเบ‡เบšเบฒเบ‡เบญเบฑเบ™เบˆเบฐเบขเบนเปˆเปƒเบ™ Go, เปเบฅเบฐเบเบฑเบ‡เบชเป‰เบฒเบ‡ SDK เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ add-ons เปƒเบ™ TypeScript/JavaScript เปเบฅเบฐ Go).
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache License 2.0.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Skaffold, Garden เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป„เบ›เบชเบนเปˆเบเบธเปˆเบก K8s เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปเบฒเบญเบดเบ”เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบญเบฐเบ—เบดเบšเบฒเบเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เป„เบŸเบฅเปŒ YAML, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ garden dev. เบ™เบฒเบ‡เบˆเบฐเป€เบฎเบฑเบ” magic เบ—เบฑเบ‡เบซเบกเบปเบ”:

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

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

เป‚เบกเบ”เบนเบ™เป‚เบ„เบ‡เบเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบžเบฒเบŠเบฐเบ™เบฐ, เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต Maven, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm, manifest เบชเปเบฒเบฅเบฑเบš kubectl apply เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ OpenFaaS. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เป‚เบกเบ”เบนเบ™เปƒเบ”เบชเบฒเบกเบฒเบ”เบ”เบถเบ‡เบญเบญเบเบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Git เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ. เป‚เบกเบ”เบนเบ™เบญเบฒเบ”เบˆเบฐเบซเบผเบทเบญเบฒเบ”เบˆเบฐเบšเปเปˆเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบงเบฝเบเบ‡เบฒเบ™, เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบงเบฝเบเบ‡เบฒเบ™เบชเบฒเบกเบฒเบ”เบกเบตเบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช, เบ‚เบญเบšเปƒเบˆเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบฅเปเบฒเบ”เบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš.

Garden เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบกเบต dashboard เบ—เบตเปˆเบชเบงเบเบ‡เบฒเบก (เบ›เบฐเบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™ เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบฅเบญเบ‡โ€‹), เป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เบเบฃเบฒเบŸเป‚เบ„เบ‡เบเบฒเบ™: เบญเบปเบ‡เบ›เบฐเบเบญเบš, เบฅเปเบฒเบ”เบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบ”เบ—เบตเปˆเบญเบญเบเบกเบฒเป‚เบ”เบเบœเปˆเบฒเบ™ HTTP (เบ–เป‰เบฒ, เปเบ™เปˆเบ™เบญเบ™, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ ingress เบ–เบทเบเบ›เบฐเบเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™).

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes
เบเบฐเบ”เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบชเบงเบ™

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เบเบฑเบ‡เบกเบตเป‚เบซเบกเบ”เบเบฒเบ™เป‚เบซเบผเบ”เบ„เบทเบ™เปƒเบซเบกเปˆ, เป€เบŠเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆ synchronizes เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ script เบเบฑเบš container เปƒเบ™ cluster, เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเป€เบฅเบฑเปˆเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ debugging เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เบชเบงเบ™เบกเบตเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบ”เบต เป€เบญเบเบฐเบชเบฒเบ™ เปเบฅเบฐเบšเปเปˆเบ”เบต เบŠเบธเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบกเบฑเบ™เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปเบฅเบฐเป€เบฅเบตเปˆเบกเปƒเบŠเป‰เบกเบฑเบ™. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบžเบฝเบ‡เปเบ•เปˆเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™โ€‹เปเบ›โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบ‚เบญเบ‡โ€‹เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹ เบˆเบฒเบเบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบกเบฑเบ™.

เบชเบฐเบซเบฅเบธเบš

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

PS

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

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

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster