เบžเบฒเบšเบฅเบงเบกเปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Ingress เบชเปเบฒเบฅเบฑเบš Kubernetes

เบžเบฒเบšเบฅเบงเบกเปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Ingress เบชเปเบฒเบฅเบฑเบš Kubernetes

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

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

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚

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

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

  • เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง;
  • เบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒ SSL;
  • เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš websockets.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเบธเบ”เบ›เบฝเบšเบ—เบฝเบš:

เป‚เบ›เบฃเป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบš

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

เบŠเบญเบšเปเบงเบขเบนเปˆเปƒเบ™เบซเบผเบฑเบ

เบกเบตเบซเบผเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆ. เบ—เบตเปˆเบ™เบดเบเบปเบกเปเบกเปˆเบ™ nginx, traefik, haproxy, envoy. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเปเบฅเบฐเบ–เปˆเบฒเบเบ—เบญเบ”, เปเบ•เปˆเบกเบฑเบ™เบเปเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบฎเบนเป‰เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบญเบฒเบ”เบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ nuances เปเบฅเบฐ idiosyncrasies เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰ hood.

เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบˆเบฐเบฅเบฒเบˆเบญเบ™

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

Namespace เบžเบฒเบเปƒเบ™เบเบธเปˆเบก

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

เบ•เบปเบงเบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบ•เบปเป‰เบ™เบ™เป‰เปเบฒ

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

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡

เบกเบตเบซเบผเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ: เบˆเบฒเบเปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก เบฎเบญเบšเบœเบนเป‰ เบเบฑเบšเบ„เบปเบ™ exotic rdp-cookie, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เป€เบŠเบฑเปˆเบ™: เป€เบŠเบ”เบŠเบฑเบ™เบซเบ™เบฝเบง.

เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™

เป‚เบ„เบ‡เบเบฒเบ™เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบ”เบ—เบตเปˆเบœเบนเป‰เบ„เบงเบšเบ„เบธเบกเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™? เบžเบทเป‰เบ™เบ–เบฒเบ™, digest, oauth, external-auth - เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ„เบธเป‰เบ™เป€เบ„เบตเบ. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบตเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ (เปเบฅเบฐ / เบซเบผเบทเป€เบญเบเบฐเบŠเบปเบ™) loops เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบœเปˆเบฒเบ™ Ingress.

เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™

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

เบเบฒเบ™เบชเบฐเปเบฑเบเปƒเบŠเป‰เบ—เบตเปˆเบˆเปˆเบฒเบเปเบฅเป‰เบง

เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฑเบšเบ›เบธเบ‡เปเบฅเบฐ / เบซเบผเบทเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบšเป?

เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบšเบเบฃเบฒเบŸเบดเบ (Web UI)

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

เบเบฒเบ™เบเบงเบ”เบชเบญเบš JWT

เบ„เบงเบฒเบกเบžเป‰เบญเบกเบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปƒเบ™เบ•เบปเบงเบ‚เบญเบ‡ tokens เป€เบงเบฑเบš JSON เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปเบฅเบฐเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบœเบนเป‰เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเบธเบ”เบ—เป‰เบฒเบ.

เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡ config

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

เบเบปเบ™เป„เบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDOS เบžเบทเป‰เบ™เบ–เบฒเบ™

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบˆเบณเบเบฑเบ”เบญเบฑเบ”เบ•เบฒเปเบšเบšเบ‡เปˆเบฒเบเป† เบซเบผเบทเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบเบชเบณเบฅเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบเบฒเบ™เบชเบฑเบ™เบˆเบญเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ—เบตเปˆเบขเบนเปˆ, เบšเบฑเบ™เบŠเบตเบ‚เบฒเบง, เบ›เบฐเป€เบ—เบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก

เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹, เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เปเบฅเบฐโ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบˆเบฒเบ Ingress เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐ / podsโ€‹, เปเบฅเบฐโ€‹เป‚เบ”เบโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปเบกเปˆเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™ / pods เป€เบเบตเบ™โ€‹เป„เบ›โ€‹.

waff

เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป„เบŸเบงเป.

Ingress Controllers

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

เบ‚เบฒเป€เบ‚เบปเป‰เบฒเบˆเบฒเบ Kubernetes

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/kubernetes/ingress-nginx
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบš Kubernetes เปเบฅเบฐเบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบŠเบธเบกเบŠเบปเบ™. เปเบ™เปˆเบ™เบญเบ™เบˆเบฒเบเบŠเบทเปˆ, เบกเบฑเบ™เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆ nginx เปเบฅเบฐเบ–เบทเบเบ›เบฐเบเบญเบšเป‚เบ”เบเบŠเบธเบ”เบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡ Lua plugins เบ—เบตเปˆเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบ‚เบญเบ‡ nginx เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปเบฅเบฐเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบงเบดเบชเบฐเบงเบฐเบเบญเบ™เบชเบฐเป€เบฅเปˆเบ (เบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เปƒเบ™เป€เบงเบฑเบš).

Ingress เป‚เบ”เบ NGINX Inc

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/nginxinc/kubernetes-ingress
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ nginx. เบกเบตเบชเบฐเบšเบฑเบšเบˆเปˆเบฒเบเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ NGINX Plus. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบชเบนเบ‡, เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เบ„เบปเบ‡เบ—เบตเปˆ, เบšเปเปˆเบกเบตเป‚เบกเบ”เบนเบ™ extraneous เปƒเบ”เปเบฅเบฐเบ„เบงเบฒเบกเป„เบงเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ›เบฐเบเบฒเบ” (เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™), เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เบเป‰เบญเบ™เบเบฒเบ™เบ›เบฐเบ–เบดเป‰เบกเบ‚เบญเบ‡ Lua.

เบชเบฐเบšเบฑเบšเบŸเบฃเบตเป„เบ”เป‰เบ–เบทเบเบ•เบฑเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เบฅเบงเบกเบ—เบฑเบ‡เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™ (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ‚เบฒเบ”เป‚เบกเบ”เบนเบ™ Lua เบ”เบฝเบงเบเบฑเบ™). เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบˆเปˆเบฒเบเบกเบตเบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบเป‰เบงเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบก: metrics เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เบเบฒเบ™เบเบงเบ”เบชเบญเบš JWT, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบธเบ‚เบฐเบžเบฒเบšเปเบฅเบฐเบญเบทเปˆเบ™เป†เบญเบตเบ. เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ•เปเปˆ NGINX Ingress เปเบกเปˆเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™ TCP / UDP (เปเบฅเบฐเปƒเบ™เบชเบฐเบšเบฑเบšเบŠเบธเบกเบŠเบปเบ™เป€เบŠเบฑเปˆเบ™เบเบฑเบ™!). เบฅเบปเบš - เบเบฒเบ™เบ‚เบฒเบ” เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™, เป€เบŠเบดเปˆเบ‡, เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, "เบกเบตเบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ," เปเบ•เปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบเบปเบ‡ Ingress

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/Kong/kubernetes-ingress-controller
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ•เบฐโ€‹เบžเบฑเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เป‚เบ”เบ Kong Inc. เปƒเบ™โ€‹เบชเบญเบ‡โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹: เบเบฒเบ™โ€‹เบ„เป‰เบฒโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบŸเบฃเบตโ€‹. เบญเบตเบ‡เปƒเบชเปˆ nginx, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบ‚เบฐเบซเบเบฒเบเบญเบญเบเป‚เบ”เบเป‚เบกเบ”เบนเบ™ Lua เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ.

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบกเบฑเบ™เบ–เบทเบเบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป API, i.e. เป€เบ›เบฑเบ™ API Gateway, เปเบ•เปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Ingress เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš. เบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเบ•เบปเป‰เบ™เบ•เป: เป‚เบกเบ”เบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ (เบฅเบงเบกเบ—เบฑเบ‡เบˆเบฒเบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก), เป€เบŠเบดเปˆเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเปเบฅเบฐเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบเป‰เบงเบฒเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบขเปˆเบฒเบ‡โ€‹เปƒเบ”โ€‹เบเปโ€‹เบ•เบฒเบกโ€‹, เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เบขเบนเปˆโ€‹เปเบฅเป‰เบงโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เป€เบ›เบฑเบ™โ€‹เป„เบ›โ€‹เป„เบ”เป‰โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CRD.

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™ - เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบžเบฒเบเปƒเบ™เบงเบปเบ‡เบˆเบญเบ™เบซเบ™เบถเปˆเบ‡ (เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ cross-namespaced) เป€เบ›เบฑเบ™เบซเบปเบงเบ‚เปเป‰เบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฑเบ™: เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เบ„เบปเบ™เบกเบฑเบ™เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบ‚เปเป‰เป€เบชเบ (เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบงเบปเบ‡เบˆเบญเบ™), เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ. (เบ‚ะพเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบ‚เบญเบ‡ insulation, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ เบ–เป‰เบฒเบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบซเบ™เบถเปˆเบ‡เปเบ•เบ, เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบงเบปเบ‡เบˆเบญเบ™).

Traefik

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/containous/traefik
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: MIT

เบžเบฃเบฑเบญเบเบŠเบตเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ เปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบ: เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ reboots เบ—เบฑเบ‡เบซเบกเบปเบ”, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบงเบฑเบšเป„เบŠเบ•เปŒ, metrics เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆ, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ•เปˆเบฒเบ‡เป†, REST API, เบเบฒเบ™เบ›เปˆเบญเบ canary เปเบฅเบฐเบญเบทเปˆเบ™เป†เบญเบตเบ. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเปเบกเปˆเบ™เบเบฑเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Let's Encrypt เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เบญเบญเบเบˆเบฒเบเบเปˆเบญเบ‡. เบ‚เปเป‰เป€เบชเบ - เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบกเบตเบขเบนเปˆเบชเบนเบ‡ (HA), เบœเบนเป‰เบ„เบงเบšเบ„เบธเบกเบˆเบฐเบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ KV เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

HAProxy

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/jcmoraisjr/haproxy-ingress
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

HAProxy เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบเบฑเบ™เบกเบฒเบ”เบปเบ™เบ™เบฒเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ•เบปเบงเปเบ—เบ™ เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™. เบžเบฒเบเปƒเบ™เบเบธเปˆเบก Kubernetes, เบกเบฑเบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "เบญเปˆเบญเบ™" (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™), เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ DNS, เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป‚เบ”เบเปƒเบŠเป‰ API. เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเปเบ•เปˆเบ‡เปเบšเบš config เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เป‚เบ”เบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ—เบ™ CM, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Sprig เปƒเบ™เบกเบฑเบ™. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡, เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบกเบฑเบ™เปƒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบ. เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบˆเปเบฒเบ™เบงเบ™เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

Voyager

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/appscode/voyager
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

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

เบงเบปเบ‡เบˆเบญเบ™

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/heptio/contour
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

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

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

Istio Ingress

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: istio.io/docs/tasks/traffic-management/ingress
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

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

Ambassador

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ: github.com/datawire/ambassador
เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0

เบเบฒเบ™เปเบเป‰เป„เบ‚เบญเบทเปˆเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Envoy. เบกเบฑเบ™เบกเบตเบชเบฐเบšเบฑเบšเบŸเบฃเบตเปเบฅเบฐเบเบฒเบ™เบ„เป‰เบฒ. เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™ "เบšเป‰เบฒเบ™เป€เบ”เบตเบกเบ‚เบญเบ‡ Kubernetes", เป€เบŠเบดเปˆเบ‡เบ™เปเบฒเป€เบญเบปเบฒเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™ (เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เปเบซเบ™เป‰เบ™เบซเบ™เบฒเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบเบธเปˆเบก K8s).

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบˆเบธเบ”เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเปเบกเปˆเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ™เบตเป‰:

เบžเบฒเบšเบฅเบงเบกเปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Ingress เบชเปเบฒเบฅเบฑเบš Kubernetes

เบกเบฑเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ„เบฅเบดเบโ€‹เป„เบ”เป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบšเบดเปˆเบ‡โ€‹เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹, เปเบฅเบฐโ€‹เบเบฑเบ‡โ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹ Google Sheets.

เปƒเบซเป‰เบชเบปเบกเบเบฝเบ”

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

Classic Ingress เบˆเบฒเบ Kubernetes เปเบกเปˆเบ™เบ”เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบฅเบฐเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบญเบธเบ”เบปเบกเบชเบปเบกเบšเบนเบ™เบžเปเบชเบปเบกเบ„เบงเบ™ - เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบปเปˆเบงเป„เบ›, เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐ "เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบ•เบฒ". เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบš Ingress เบเบฑเบš NGINX Plus เปเบฅเบฐเบเบฒเบ™เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบˆเปˆเบฒเบ. Kong เบกเบตเบŠเบธเบ” plugins เบ—เบตเปˆเบญเบธเบ”เบปเบกเบชเบปเบกเบšเบนเบ™ (เปเบฅเบฐ, เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเบฐเบซเบ™เบญเบ‡), เปเบฅเบฐเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™เปƒเบ™เบชเบฐเบšเบฑเบšเบˆเปˆเบฒเบ. เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบžเบฝเบ‡เบžเปเปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™ API Gateway, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CRD, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ Kubernetes เบžเบทเป‰เบ™เบ–เบฒเบ™.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”, เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเปƒเบเป‰เบŠเบดเบ”เบเบฑเบš Traefik เปเบฅเบฐ HAProxy. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™ Open Source, เบžเบดเบชเบนเบ”เปƒเบ™เบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบซเบผเบฒเบเปเบฅเบฐเบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™. Contour เป„เบ”เป‰เบ›เบฐเบกเบฒเบ™เบชเบญเบ‡เบชเบฒเบกเบ›เบตเปเบฅเป‰เบง, เปเบ•เปˆเบกเบฑเบ™เบเบฑเบ‡เป€เบšเบดเปˆเบ‡เบญเปˆเบญเบ™เป€เบเบตเบ™เป„เบ›เปเบฅเบฐเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบฅเบฑเบเบชเบฐเบ™เบฐเบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเป€เบžเบตเปˆเบกเปƒเบชเปˆเป€เบ—เบดเบ‡เบ‚เบญเบ‡ Envoy. เบ–เป‰เบฒเบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบกเบต / เบเบฒเบ™เบเบฑเบ‡ WAF เบขเบนเปˆเบ—เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบš Ingress เบ”เบฝเบงเบเบฑเบ™เบˆเบฒเบ Kubernetes เบซเบผเบท HAProxy.

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

เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบเปเบฅเบฐเบเบฑเบ‡เปƒเบŠเป‰ Ingress เบˆเบฒเบ Kubernetes เป€เบ›เบฑเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เป€เบŠเบดเปˆเบ‡เบเบงเบกเป€เบญเบปเบฒ 80-90% เบ‚เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบตเปˆโ€‹เบ‚เป‰เบญเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เป€เบŠเบทเปˆเบญโ€‹เบ–เบทโ€‹, เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹, เปเบฅเบฐโ€‹เบ‚เบฐโ€‹เบซเบเบฒเบโ€‹. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบเบธเปˆเบก / เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเปˆเบงเบ™เปƒเบซเบเปˆ. เบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ”เบฝเบงเบเบฑเบ™เบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เปเบ™เบฐเบ™เปเบฒ Traefik เปเบฅเบฐ HAProxy.

PS

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

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

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