NGINX Service Mesh เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰

NGINX Service Mesh เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เบงเบฒเบกเบเบดเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบชเบฐเบšเบฑเบšเบชเบฐเปเบ”เบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡ เบ•เบฒเปœเปˆเบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™ NGINX (NSM), เบ•เบฒเปœเปˆเบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เบณเปœเบฑเบเป€เบšเบปเบฒเบ—เบตเปˆเบกเบฑเบ”เป„เบงเป‰เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เบเบปเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ NGINX Plus เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบชเบฑเบ™เบˆเบญเบ™เปƒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Kubernetes.

NSM เปเบกเปˆเบ™เบšเปเปˆเป€เบชเบเบ„เปˆเบฒ เบ”เบฒเบงเป‚เบซเบฅเบ”เบ—เบตเปˆเบ™เบตเป‰. เบžเบงเบเป€เบฎเบปเบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเบฅเบญเบ‡เปƒเบŠเป‰เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบš dev เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก - เปเบฅเบฐเบซเบงเบฑเบ‡เบงเปˆเบฒเบˆเบฐเป„เบ”เป‰เบ„เปเบฒเบ•เบดเบŠเบปเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ เปƒเบ™ GitHub.

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

NSM เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบ—เปˆเบฒเบ™เบ”เป‰เบงเบ:

  • เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบŠเบถเปˆเบ‡เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเป€เบ„เบตเบ. เบเบฒเบ™เบฅเบฐเป€เบกเบตเบ”เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบšเปเบฅเบดเบชเบฑเบ”เบชเบนเบ™เป€เบชเบเบฅเบฒเบเป„เบ”เป‰เปเบฅเบฐเบŠเบทเปˆเบชเบฝเบ‡เบซเบผเบฒเบเบฅเป‰เบฒเบ™เป‚เบ”เบฅเบฒเบ•เปเปˆเบ›เบต. NSM เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ mTLS, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเปเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบฑเบเป‚เบ”เบเปเบฎเบเป€เบเบตเบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ™เบฐเป‚เบเบšเบฒเบเบชเปเบฒเบฅเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบญเบทเปˆเบ™เป†.
  • เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™. เป€เบกเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบ”เบเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ‚เบฒเป€เบ‚เบปเป‰เบฒเบเบฑเบšเบกเบฑเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”. เบ”เป‰เบงเบเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐเบ‚เบญเบ‡ NSM, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ™เบฐเป‚เบเบšเบฒเบเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบซเบกเปˆเบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒ. เบฅเบฑเบเบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเป„เบงเปเบฅเบฐเบ•เบปเบงเบ•เบฑเบ”เบงเบปเบ‡เบˆเบญเบ™, เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป„เบซเบผเบงเบฝเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.
  • เบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™. เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบซเบผเบฒเบเบžเบฑเบ™เบ„เบปเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ เปเบฅเบฐเบเบฑเบ™เบฎเป‰เบฒเบเบ—เบตเปˆเป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เป„เบ”เป‰. NSM เบŠเปˆเบงเบเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เบ”เป‰เบงเบ dashboard Grafana เบ—เบตเปˆเบชเป‰เบฒเบ‡เบกเบฒเป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ NGINX Plus. เปเบฅเบฐโ€‹เบเบฑเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบฒเบ™โ€‹เป€เบ›เบตเบ”โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบ—เบธโ€‹เบฅเบฐโ€‹เบเปเบฒโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹.
  • เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เปเบšเบšเบ›เบฐเบชเบปเบก, เบ–เป‰เบฒเบšเปเบฅเบดเบชเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes เบ—เบฑเบ‡เบซเบกเบปเบ”. NSM เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบเบปเปˆเบฒเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเป„เบงเป‰เป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆ. เบ”เป‰เบงเบเบ„เบงเบฒเบกเบŠเปˆเบญเบเป€เบซเบฅเบทเบญเบ‚เบญเบ‡ NGINX Kubernetes Ingress Controller เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเป‰เบง, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบเบปเปˆเบฒเปเบเปˆเบˆเบฐเบชเบฒเบกเบฒเบ”เบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡, เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™.

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

เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบšเปเบฅเบดเบเบฒเบ™ NGINX เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”?

NSM เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบปเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เบ—เบฒเบ‡เบ™เบญเบ™ (เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ•เปเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™) เปเบฅเบฐเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก Ingress NGINX Plus เบ—เบตเปˆเบ–เบทเบเบเบฑเบ‡เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ•เบฒเบกเปเบ™เบงเบ•เบฑเป‰เบ‡, เบ„เบธเป‰เบกเบ„เบญเบ‡เป‚เบ”เบเบเบปเบ™เบ„เบงเบšเบ„เบธเบกเบ”เบฝเบง.

เบเบปเบ™เบ„เบงเบšเบ„เบธเบกเป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเป€เบซเบกเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบเบปเบ™เบ‚เปเป‰เบกเบนเบ™ NGINX Plus เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเปเบˆเบเบขเบฒเบเปƒเบ™เบ—เบปเปˆเบง NGINX Plus sidecars.

เปƒเบ™ NSM, sidecars proxies เปเบกเปˆเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡. เบžเบงเบเป€เบ‚เบปเบฒเป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • Grafana, เบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต Prometheus, เปเบœเบ‡ NSM เบ—เบตเปˆเบกเบตเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™;
  • Kubernetes Ingress Controllers, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ‚เบฒเป€เบ‚เบปเป‰เบฒเปเบฅเบฐเบ‚เบฒเบญเบญเบเปƒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡;
  • SPIRE, CA เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡, เบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เปƒเบ™เบ•เบฒเบซเบ™เปˆเบฒเบ‡;
  • NATS, เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบก, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡, เบˆเบฒเบเบเบปเบ™เบ„เบงเบšเบ„เบธเบกเป„เบ›เบซเบฒ sidecars;
  • เป€เบ›เบตเบ” Tracing, เปเบˆเบเบขเบฒเบ debugging (Zipkin เปเบฅเบฐ Jaeger เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™);
  • Prometheus, เป€เบเบฑเบšเบเปเบฒเปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบˆเบฒเบ sidecars NGINX Plus, เป€เบŠเบฑเปˆเบ™: เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบเบฒเบ™เบˆเบฑเบšเบกเบท SSL.

เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบš

NGINX Plus เป€เบ›เบฑเบ™เบเบปเบ™เบ‚เปเป‰เบกเบนเบ™เบเบงเบกเป€เบญเบปเบฒ sidecar proxy (เบเบฒเบ™เบชเบฑเบ™เบˆเบญเบ™เบ•เบฒเบกเบฅเบงเบ‡เบ™เบญเบ™) เปเบฅเบฐ Ingress controller (เบ•เบฑเป‰เบ‡), intercepting เปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™ container เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.

เบ„เบธเบ™โ€‹เบ™เบฐโ€‹เบชเบปเบกโ€‹เบšเบฑเบ”โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบกเบตโ€‹:

  • เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™ TLS เป€เบŠเบดเปˆเบ‡เบเบฑเบ™เปเบฅเบฐเบเบฑเบ™ (mTLS);
  • เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”;
  • เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”;
  • เบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเป„เบง;
  • เบเบฒเบ™เบ—เปเบฒเบฅเบฒเบเบงเบปเบ‡เบˆเบญเบ™;
  • เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบชเบตเบŸเป‰เบฒ-เบชเบตเบ‚เบฝเบง เปเบฅเบฐ canary;
  • เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡.

เบเบณเบฅเบฑเบ‡เป€เบ›เบตเบ”เบ•เบปเบง NGINX Service Mesh

เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ NSM เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™:

  • เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Kubernetes. NGINX Service Mesh เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบซเบผเบฒเบเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก Kubernetes, เบฅเบงเบกเบ—เบฑเบ‡ Amazon Elastic Container Service เบชเปเบฒเบฅเบฑเบš Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, เปเบฅเบฐเบเบธเปˆเบก Kubernetes เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบฎเบฒเบ”เปเบง;
  • เป€เบ„เบทเปˆเบญเบ‡เบกเบท kubectl, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆ NSM เบˆเบฐเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡;
  • เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ›เปˆเบญเบ NGINX Service Mesh. เบŠเบธเบ”เบšเบฑเบ™เบˆเบธเบกเบตเบฎเบนเบšเบžเบฒเบš NSM เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบฑเบšเป‚เบซเบฅเบ”เป„เบ›เบเบฑเบ‡เบ—เบฐเบšเบฝเบ™เป€เบญเบเบฐเบŠเบปเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบเบธเปˆเบก Kubernetes. เบŠเบธเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ nginx-meshctl, เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบ™เบณเปƒเบŠเป‰ NSM.

เป€เบžเบทเปˆเบญเบ™เบณเปƒเบŠเป‰ NSM เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปƒเบซเป‰เปเบฅเปˆเบ™เบ„เบณเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ™เบณเปƒเบŠเป‰, เบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฐเบ–เบทเบเบชเบฐเปเบ”เบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเปˆเบฒเบ‡เบชเบณเป€เบฅเบฑเบ”เบœเบปเบ™, เปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒ NSM เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ namespace เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ (เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”). ัะบะฐั‡ะฐั‚ัŒ เปเบฅเบฐโ€‹เบงเบฒเบ‡โ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบˆเบปเบ”โ€‹เบ—เบฐโ€‹เบšเบฝเบ™โ€‹, เบ›เบฐเบกเบฒเบ™ เบ™เบฑเบเปเบ›):

$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; 
 ./nginx-meshctl deploy  
  --nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" 
  --nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" 
  --nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" 
  --nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"
Created namespace "nginx-mesh".
Created SpiffeID CRD.
Waiting for Spire pods to be running...done.
Deployed Spire.
Deployed NATS server.
Created traffic policy CRDs.
Deployed Mesh API.
Deployed Metrics API Server.
Deployed Prometheus Server nginx-mesh/prometheus-server.
Deployed Grafana nginx-mesh/grafana.
Deployed tracing server nginx-mesh/zipkin.
All resources created. Testing the connection to the Service Mesh API Server...

Connected to the NGINX Service Mesh API successfully.
NGINX Service Mesh is running.

เบชเปเบฒเบฅเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบฑเป‰เบ™เบชเบนเบ‡, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰:

$ nginx-meshctl deploy โ€“h

เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบปเบ™เบ„เบงเบšเบ„เบธเบกเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™ namespace nginx-mesh, เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹เบ™เบตเป‰โ€‹:

$ kubectl get pods โ€“n nginx-mesh
NAME                                 READY   STATUS    RESTARTS   AGE
grafana-6cc6958cd9-dccj6             1/1     Running   0          2d19h
mesh-api-6b95576c46-8npkb            1/1     Running   0          2d19h
nats-server-6d5c57f894-225qn         1/1     Running   0          2d19h
prometheus-server-65c95b788b-zkt95   1/1     Running   0          2d19h
smi-metrics-5986dfb8d5-q6gfj         1/1     Running   0          2d19h
spire-agent-5cf87                    1/1     Running   0          2d19h
spire-agent-rr2tt                    1/1     Running   0          2d19h
spire-agent-vwjbv                    1/1     Running   0          2d19h
spire-server-0                       2/2     Running   0          2d19h
zipkin-6f7cbf5467-ns6wc              1/1     Running   0          2d19h

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

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ เบ™เบญเบ™ เปƒเบ™ namespace Default, เปเบฅเบฐโ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบš Pod - เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเบฐโ€‹เป€เบซเบฑเบ™โ€‹เบชเบญเบ‡โ€‹เบžเบฒโ€‹เบŠเบฐโ€‹เบ™เบฐโ€‹เปเบฅเปˆเบ™โ€‹, เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹ เบ™เบญเบ™ เปเบฅเบฐ sidecar เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹:

$ kubectl apply โ€“f sleep.yaml
$ kubectl get pods โ€“n default
NAME                     READY   STATUS    RESTARTS   AGE
sleep-674f75ff4d-gxjf2   2/2     Running   0          5h23m

เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป„เบ”เป‰ เบ™เบญเบ™ เปƒเบ™เปเบœเบ‡ NGINX Plus, เปเบฅเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ sidecar เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™:

$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886

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

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

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

NGINX Service Mesh เบกเบตเปƒเบซเป‰เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบ”เป‰เบŸเบฃเบตเบ—เบตเปˆ เบ›เบฐเบ•เบน F5. เบžเบฐเบเบฒเบเบฒเบกเบกเบฑเบ™เบขเบนเปˆเปƒเบ™ dev เปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐ เบ‚เบฝเบ™เบซเบฒเบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš.

เป€เบžเบทเปˆเบญเบฅเบญเบ‡เปƒเบŠเป‰ NGINX Plus Ingress Controller, เป€เบ›เบตเบ”เปƒเบŠเป‰ เป„เบฅเบเบฐเบ—เบปเบ”เบฅเบญเบ‡เปƒเบŠเป‰เบŸเบฃเบต เบชเปเบฒเบฅเบฑเบš 30 เบกเบทเป‰, เบซเบผเบท เบ•เบดเบ”โ€‹เบ•เปเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ เป€เบžเบทเปˆเบญเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเป‚เบ”เบ Pavel Demkovich, เบงเบดเบชเบฐเบงเบฐเบเบญเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ” เบžเบฒเบเปƒเบ•เป‰. เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบฅเบฐเบšเบปเบšเบชเปเบฒเบฅเบฑเบš RUB 15 เบ•เปเปˆเป€เบ”เบทเบญเบ™. เปเบฅเบฐเป€เบ›เบฑเบ™เบžเบฐเปเบ™เบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ - เบชเบนเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก เบ‚เบตเป‰เบ„เป‰เบฒเบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ™เบญเบเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

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

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